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 index d5dbdaf51e07..b221ae22d75a 100644 --- 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 @@ -13,7 +13,7 @@ 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" +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-core/at-spi2-core-2.18.3.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.18.3.ebuild index d2e96b5e1df3..f00505592a69 100644 --- 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 @@ -14,7 +14,7 @@ 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" +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-admin/rsyslog/rsyslog-8.18.0.ebuild b/app-admin/rsyslog/rsyslog-8.18.0.ebuild index b893b8ff7f8e..b5089a84bdab 100644 --- a/app-admin/rsyslog/rsyslog-8.18.0.ebuild +++ b/app-admin/rsyslog/rsyslog-8.18.0.ebuild @@ -135,12 +135,10 @@ src_unpack() { EGIT_BRANCH=${_EGIT_BRANCH} fi else - local doc_tarball="${PN}-doc-${PV}.tar.gz" - cd "${S}" || die "Cannot change dir into '${S}'" mkdir docs || die "Failed to create docs directory" cd docs || die "Failed to change dir into '${S}/docs'" - unpack ${doc_tarball} + unpack ${MY_FILENAME_DOCS} fi fi } @@ -290,7 +288,7 @@ src_install() { "${FILESDIR}"/${BRANCH}/README.gentoo ) - use doc && local HTML_DOCS=( "${S}/docs/build/" ) + use doc && local HTML_DOCS=( "${S}/docs/build/." ) default diff --git a/app-admin/tripwire/Manifest b/app-admin/tripwire/Manifest index 33124b9a182e..12ae58cfbc4e 100644 --- a/app-admin/tripwire/Manifest +++ b/app-admin/tripwire/Manifest @@ -1 +1,2 @@ DIST tripwire-2.4.2.2-src.tar.bz2 716616 SHA256 e09a7bdca9302e704cc62067399e0b584488f825b0e58c82ad6d54cd2e899fad SHA512 be39757aac7b74d4deac6c5048d0964d839a32f8f2a0d1878c4246888c4d59e35a503413595178c7af3a0da80725d0b36c21026dc734e1f760c9affda017bbbb WHIRLPOOL beb99e1ae055947a4b94a45f51492bcc453def5a41188f853ff3285a85ef8e2921274b86b095b77dbcdc8f549358f6216996a75ba391247e17bf7a29c78849c5 +DIST tripwire-2.4.3.1.tar.gz 932665 SHA256 9744af4de7ecb1d643442eb22f08c819556494bb6f56f5879e22c3438f2db896 SHA512 fb5f0ad353da826a0e8381e534e0da1ac9335851e108a23053e378afd3aec6e66931446addbf0ba8d55eaa8d3148c471056e26095aeff7696ed9b6d3633cdf90 WHIRLPOOL b87447869d845be840399389a3e3ed5f9c961f6777c1b463755994876b191e08cca359273826466d34f2f32a26b597f23d130f6cb689224ed3ff58810efceed1 diff --git a/app-admin/tripwire/tripwire-2.4.3.1.ebuild b/app-admin/tripwire/tripwire-2.4.3.1.ebuild new file mode 100644 index 000000000000..5bbf2a1d1262 --- /dev/null +++ b/app-admin/tripwire/tripwire-2.4.3.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit autotools eutils flag-o-matic + +DESCRIPTION="Open Source File Integrity Checker and IDS" +HOMEPAGE="http://www.tripwire.org/" +SRC_URI="https://github.com/Tripwire/tripwire-open-source/archive/${PV}.tar.gz -> ${PF}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd" +IUSE="libressl ssl static +tools" + +DEPEND="sys-devel/automake + sys-devel/autoconf + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +RDEPEND="virtual/cron + virtual/mta + ssl? ( dev-libs/openssl )" +PDEPEND="tools? ( app-admin/mktwpol )" + +S="${WORKDIR}/tripwire-open-source-${PV}" + +src_prepare() { + mv configure.in configure.ac || die + eautoreconf +} + +src_configure() { + # tripwire can be sensitive to compiler optimisation. + # see #32613, #45823, and others. + # -taviso@gentoo.org + strip-flags + append-cppflags -DCONFIG_DIR='"\"/etc/tripwire\""' -fno-strict-aliasing + econf $(use_enable ssl openssl) $(use_enable static) +} + +src_install() { + dosbin "${S}"/bin/{siggen,tripwire,twadmin,twprint} + doman "${S}"/man/man{4/*.4,5/*.5,8/*.8} + dodir /etc/tripwire /var/lib/tripwire{,/report} + keepdir /var/lib/tripwire{,/report} + + exeinto /etc/cron.daily + doexe "${FILESDIR}"/tripwire + + dodoc ChangeLog policy/policyguide.txt TRADEMARK \ + "${FILESDIR}"/tripwire.txt + + insinto /etc/tripwire + doins "${FILESDIR}"/twcfg.txt policy/twpol-GENERIC.txt + + fperms 750 /etc/cron.daily/tripwire +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "Tripwire needs to be configured before its first run. You can" + elog "do this by manually editing the twpol-GENERIC.txt file shipped with" + elog "the package to suit your needs. A quickstart guide is provided" + elog "in tripwire.txt file to help you with this." + elog "To configure tripwire automatically, you can use the twsetup.sh" + elog "script provided by the app-admin/mktwpol package. This package is" + elog "installed for you by the \"tools\" USE flag (which is enabled by" + elog "default." +else + elog "Maintenance of tripwire policy files as packages are added" + elog "and deleted from your system can be automated by the mktwpol.sh" + elog "script provided by the app-admin/mktwpol package. This package" + elog "is installed for you if you append \"tools\" to your USE flags" + fi +} diff --git a/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild b/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild index 26c1c3adba3e..cfa6bf84580a 100644 --- a/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild +++ b/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild @@ -17,7 +17,7 @@ fi LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" IUSE="gcdmaster encode mad vorbis" RDEPEND="virtual/cdrtools diff --git a/app-crypt/gcr/gcr-3.18.0.ebuild b/app-crypt/gcr/gcr-3.18.0.ebuild index 3344565c30e2..35e79122ebb4 100644 --- a/app-crypt/gcr/gcr-3.18.0.ebuild +++ b/app-crypt/gcr/gcr-3.18.0.ebuild @@ -17,7 +17,7 @@ SLOT="0/1" # subslot = suffix of libgcr-3 IUSE="debug gtk +introspection vala" REQUIRED_USE="vala? ( introspection )" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~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 hppa ~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/libsecret/libsecret-0.18.4.ebuild b/app-crypt/libsecret/libsecret-0.18.4.ebuild index 311edd360c45..f5b8c7456e8a 100644 --- a/app-crypt/libsecret/libsecret-0.18.4.ebuild +++ b/app-crypt/libsecret/libsecret-0.18.4.ebuild @@ -18,7 +18,7 @@ SLOT="0" IUSE="+crypt +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-editors/scite/Manifest b/app-editors/scite/Manifest index 131043ad3942..2a42302ccb3b 100644 --- a/app-editors/scite/Manifest +++ b/app-editors/scite/Manifest @@ -1,3 +1,4 @@ DIST scite355.tgz 2302137 SHA256 20515597ac986f1727c97bda2c27d88487ddb79cfe330b0b890b5e25330b7d9f SHA512 cdd9d3aa621f5d31632cfb9f71524255a4b47b70a654bf4bc8a25a76f8a2dbe098a48e0cd4587ced8ca8455be7e809973e212fcbcde5b62087aa0f9528f7f40d WHIRLPOOL c901804481042b859be68f44ab728544e97975d61219a4bb576ba3da00bd663c8877e9b23b981a0295d759cae3e9afd037d981923086c6850ff29f01c43ec9f6 DIST scite362.tgz 2368491 SHA256 6530d0d86c72485b815663e3b2c2987d59779340a71632ed8bb97a43530737a3 SHA512 cb9618e962a16db7484e16a494b3da39f210250277e9772b112af5e16649b38f27ead0ec61664b1211c9263880cb7f3c34b5b32d94a4e70087fb1503805740c1 WHIRLPOOL 52a31f0e1518a9d8f6107aa22eead7da89e1d1ea6523a2aae57fbd7a3a8ecbd192c124c3d2550acea6383457763d6e501b14791ec6490a54379c5d13356e42da DIST scite364.tgz 2386959 SHA256 6a27a1062b838e0fe914fb045f265935e5d39e34d69ae894b55f971437192baa SHA512 eaba353edac23902a8f446fb8877f3e5dd43221e5289bc38941d76068a3f7c87602e9eb5828e6caafec56657d05b5268aad2a1bb36356a14154de3c22602c76d WHIRLPOOL f1b4c64eb4a5c6d6e73ffb3f457a5b5ddf8d31cf5f5778b204c05a093bcfb8e78e7a8cab634cf369ce29f200c11b933492f01c30afb268f581d465ed31157c88 +DIST scite365.tgz 2391190 SHA256 dde62ebebbd4c36afd81ab0e745ff04839f4cfc911496f2d0463aade1374b9d1 SHA512 193dcb1f8787a7c7d520ce62462e5c95e7b6bcaf79f4ab23f9885474fb0444dbc5a69a0d45eafc592e5fff2a2e746a9aba599799e847e3c74d3436eed26580a9 WHIRLPOOL e79a2f05444c16f40f6c84fd252d3b71247a48f6af27f912d3f51de99b968c93ec505bc903aa4df407d1ff503f3ce35052004c46e3f7fe8502d0d0ef4939610e diff --git a/app-editors/scite/scite-3.6.5.ebuild b/app-editors/scite/scite-3.6.5.ebuild new file mode 100644 index 000000000000..f3aeac37a08b --- /dev/null +++ b/app-editors/scite/scite-3.6.5.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +inherit toolchain-funcs eutils + +MY_PV=${PV//./} +DESCRIPTION="A very powerful editor for programmers" +HOMEPAGE="http://www.scintilla.org/SciTE.html" +SRC_URI="mirror://sourceforge/scintilla/${PN}${MY_PV}.tgz" + +LICENSE="HPND lua? ( MIT )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux" +IUSE="lua" + +RDEPEND="dev-libs/glib:= + x11-libs/cairo:* + x11-libs/gtk+:2 + x11-libs/gdk-pixbuf:* + x11-libs/pango:* + lua? ( >=dev-lang/lua-5:= )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-apps/sed-4" + +S="${WORKDIR}/${PN}/gtk" + +src_prepare() { + sed -i "${WORKDIR}/scintilla/gtk/makefile" \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e "s#-Os##" \ + || die "error patching /scintilla/gtk/makefile" + + sed -i "${WORKDIR}/scite/gtk/makefile" \ + -e "s#-rdynamic#-rdynamic ${LDFLAGS}#" \ + || die "error patching /scite/gtk/makefile" + + # repair and enhance the .desktop file + sed -i "${WORKDIR}/scite/gtk/SciTE.desktop" \ + -e "s/^Encoding/#Encoding/" \ + -e "s#text/plain#text/\*;application/xhtml+xml#" \ + -e "s#^Categories=\(.*\)#Categories=Development;#" \ + || die "error patching /scite/gtk/SciTe.desktop" + + sed -i "${S}/makefile" \ + -e 's#usr/local#usr#g' \ + -e 's#/gnome/apps/Applications#/applications#' \ + -e "s#^CXXFLAGS=#CXXFLAGS=${CXXFLAGS} #" \ + -e "s#^\(CXXFLAGS=.*\)-Os#\1#" \ + -e "s#^CC =\(.*\)#CC = $(tc-getCXX)#" \ + -e "s#^CCOMP =\(.*\)#CCOMP = $(tc-getCC)#" \ + -e 's#${D}##' \ + -e 's#-g root#-g 0#' \ + -e "s#-Os##" \ + || die "error patching gtk/makefile" + + eapply_user +} + +src_compile() { + emake CC="$(tc-getCC)" LD="$(tc-getLD)" \ + LDFLAGS="$(raw-ldflags)" AR="$(tc-getAR)" \ + -C "${WORKDIR}/scintilla/gtk" + + if use lua; then + emake + else + emake NO_LUA=1 + fi +} + +src_install() { + dodir /usr/bin + dodir /usr/share/{pixmaps,applications} + + emake DESTDIR="${ED}" install + + # we have to keep this because otherwise it'll break upgrading + mv "${ED}/usr/bin/SciTE" "${ED}/usr/bin/scite" || die + dosym /usr/bin/scite /usr/bin/SciTE + + doman ../doc/scite.1 + dodoc ../README +} diff --git a/app-misc/uptimed/files/uptimed.init b/app-misc/uptimed/files/uptimed.init index 45f8d39b7345..bfc5406273e8 100644 --- a/app-misc/uptimed/files/uptimed.init +++ b/app-misc/uptimed/files/uptimed.init @@ -1,5 +1,5 @@ -#!/sbin/runscript -# Copyright 1999-2014 Gentoo Foundation +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/app-office/scribus/metadata.xml b/app-office/scribus/metadata.xml index a7f4444bddbd..e5dc2c71a1c8 100644 --- a/app-office/scribus/metadata.xml +++ b/app-office/scribus/metadata.xml @@ -1,10 +1,6 @@ - - desktop-misc@gentoo.org - Gentoo Desktop Miscellaneous Project - Enable support for Boost based enhancement Add support for media-gfx/graphicsmagick diff --git a/app-portage/layman/layman-2.4.0.ebuild b/app-portage/layman/layman-2.4.0-r1.ebuild similarity index 100% rename from app-portage/layman/layman-2.4.0.ebuild rename to app-portage/layman/layman-2.4.0-r1.ebuild diff --git a/app-text/iso-codes/iso-codes-3.65.ebuild b/app-text/iso-codes/iso-codes-3.65.ebuild index 658eb0248480..1d51de649f42 100644 --- a/app-text/iso-codes/iso-codes-3.65.ebuild +++ b/app-text/iso-codes/iso-codes-3.65.ebuild @@ -14,7 +14,7 @@ SRC_URI="http://pkg-isocodes.alioth.debian.org/downloads/${P}.tar.xz" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris" IUSE="" RDEPEND="" diff --git a/app-text/yelp-tools/yelp-tools-3.18.0.ebuild b/app-text/yelp-tools/yelp-tools-3.18.0.ebuild index 210c4d82d40a..44e2290a4edb 100644 --- a/app-text/yelp-tools/yelp-tools-3.18.0.ebuild +++ b/app-text/yelp-tools/yelp-tools-3.18.0.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Yelp/Tools" LICENSE="|| ( GPL-2+ freedist ) GPL-2+" # yelp.m4 is GPL2 || freely distributable SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux" IUSE="" RDEPEND=" diff --git a/dev-cpp/atkmm/atkmm-2.24.2.ebuild b/dev-cpp/atkmm/atkmm-2.24.2.ebuild index c5aff4b94cb2..60badbf8d854 100644 --- a/dev-cpp/atkmm/atkmm-2.24.2.ebuild +++ b/dev-cpp/atkmm/atkmm-2.24.2.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" IUSE="doc" COMMON_DEPEND=" diff --git a/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild b/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild index 124a9deb84bd..aceb9599e8f0 100644 --- a/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild +++ b/dev-cpp/cairomm/cairomm-1.12.0-r1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://cairographics.org/cairomm" LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" IUSE="aqua doc +svg X" RDEPEND=" diff --git a/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild b/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild index 9386b25d8c37..3dd1ffa1762a 100644 --- a/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild +++ b/dev-cpp/gconfmm/gconfmm-2.28.3-r1.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" IUSE="doc" RDEPEND=" diff --git a/dev-cpp/glibmm/glibmm-2.46.3.ebuild b/dev-cpp/glibmm/glibmm-2.46.3.ebuild index 7346daa350b3..0f1b6333715e 100644 --- a/dev-cpp/glibmm/glibmm-2.46.3.ebuild +++ b/dev-cpp/glibmm/glibmm-2.46.3.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system SLOT="2" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" IUSE="doc debug examples test" RDEPEND=" diff --git a/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild b/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild index 4c9fe998bd79..5816119c29f0 100644 --- a/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild +++ b/dev-cpp/gnome-vfsmm/gnome-vfsmm-2.26.0-r1.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1" SLOT="1.1" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" IUSE="doc examples" # glibmm dep is because build fails with older versions... diff --git a/dev-cpp/gtkmm/gtkmm-2.24.4-r3.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.4-r3.ebuild index b54726335d86..600eebb2a115 100644 --- a/dev-cpp/gtkmm/gtkmm-2.24.4-r3.ebuild +++ b/dev-cpp/gtkmm/gtkmm-2.24.4-r3.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1+" SLOT="2.4" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" IUSE="doc examples test" COMMON_DEPEND=" diff --git a/dev-cpp/gtkmm/gtkmm-3.18.0-r1.ebuild b/dev-cpp/gtkmm/gtkmm-3.18.0-r1.ebuild index cf975fd4fe10..387faf4750e1 100644 --- a/dev-cpp/gtkmm/gtkmm-3.18.0-r1.ebuild +++ b/dev-cpp/gtkmm/gtkmm-3.18.0-r1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1+" SLOT="3.0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" IUSE="aqua doc examples test wayland X" REQUIRED_USE="|| ( aqua wayland X )" diff --git a/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild b/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild index 9691127ee607..618d33558e23 100644 --- a/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild +++ b/dev-cpp/libglademm/libglademm-2.6.7-r2.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1+" SLOT="2.4" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" IUSE="doc examples" RDEPEND=" diff --git a/dev-cpp/libgnomemm/libgnomemm-2.30.0-r1.ebuild b/dev-cpp/libgnomemm/libgnomemm-2.30.0-r1.ebuild index 3728cf981cc7..e56b9a6b2c9b 100644 --- a/dev-cpp/libgnomemm/libgnomemm-2.30.0-r1.ebuild +++ b/dev-cpp/libgnomemm/libgnomemm-2.30.0-r1.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1" SLOT="2.6" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" IUSE="" RDEPEND=" diff --git a/dev-cpp/libgnomeuimm/libgnomeuimm-2.28.0-r2.ebuild b/dev-cpp/libgnomeuimm/libgnomeuimm-2.28.0-r2.ebuild index 4590643811b9..d1db4a6ebf76 100644 --- a/dev-cpp/libgnomeuimm/libgnomeuimm-2.28.0-r2.ebuild +++ b/dev-cpp/libgnomeuimm/libgnomeuimm-2.28.0-r2.ebuild @@ -13,7 +13,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1" SLOT="2.6" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd" IUSE="" RDEPEND=" diff --git a/dev-cpp/mm-common/mm-common-0.9.10.ebuild b/dev-cpp/mm-common/mm-common-0.9.10.ebuild index e3b56bf48d19..5bdc275015c4 100644 --- a/dev-cpp/mm-common/mm-common-0.9.10.ebuild +++ b/dev-cpp/mm-common/mm-common-0.9.10.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://www.gtkmm.org/" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86" IUSE="" RDEPEND="" diff --git a/dev-cpp/pangomm/pangomm-2.38.1.ebuild b/dev-cpp/pangomm/pangomm-2.38.1.ebuild index 4c4bb477c655..e8c13a943bf5 100644 --- a/dev-cpp/pangomm/pangomm-2.38.1.ebuild +++ b/dev-cpp/pangomm/pangomm-2.38.1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="http://www.gtkmm.org" LICENSE="LGPL-2.1+" SLOT="1.4" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" IUSE="doc" COMMON_DEPEND=" diff --git a/dev-db/dbmodel/metadata.xml b/dev-db/dbmodel/metadata.xml index 94c768473cfe..b90535458362 100644 --- a/dev-db/dbmodel/metadata.xml +++ b/dev-db/dbmodel/metadata.xml @@ -1,12 +1,7 @@ - - qt@gentoo.org - Gentoo Qt Project - - - + dbmodel diff --git a/dev-db/hsqldb/files/hsqldb b/dev-db/hsqldb/files/hsqldb index 19249038e21e..d2764eb56fc2 100644 --- a/dev-db/hsqldb/files/hsqldb +++ b/dev-db/hsqldb/files/hsqldb @@ -1,5 +1,5 @@ -#!/sbin/runscript -# Copyright 1999-2004 Gentoo Foundation +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/dev-db/hsqldb/hsqldb-1.8.1.3-r1.ebuild b/dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild similarity index 100% rename from dev-db/hsqldb/hsqldb-1.8.1.3-r1.ebuild rename to dev-db/hsqldb/hsqldb-1.8.1.3-r2.ebuild diff --git a/dev-games/aseprite/files/aseprite-1.1.4.1_underlinking.patch b/dev-games/aseprite/files/aseprite-1.1.4.1_underlinking.patch index e62cc15db238..47958813311c 100644 --- a/dev-games/aseprite/files/aseprite-1.1.4.1_underlinking.patch +++ b/dev-games/aseprite/files/aseprite-1.1.4.1_underlinking.patch @@ -11,14 +11,14 @@ Added ${X11_LIBRARIES} to resolve underlinking. diff --git a/src/she/CMakeLists.txt b/src/she/CMakeLists.txt index cddf5bc..1841aa6 100644 ---- a/src/she/CMakeLists.txt.orig 2016-04-30 10:36:25.198000000 +0000 -+++ b/src/she/CMakeLists.txt 2016-04-30 10:37:01.163000000 +0000 -@@ -241,7 +241,8 @@ +--- a/src/she/CMakeLists.txt ++++ b/src/she/CMakeLists.txt +@@ -242,7 +242,8 @@ if(USE_ALLEG4_BACKEND) target_link_libraries(she ${LOADPNG_LIBRARY} ${LIBALLEGRO4_LINK_FLAGS} - ${DXGUID_LIBRARIES}) -+ ${DXGUID_LIBRARIES}, ++ ${DXGUID_LIBRARIES} + ${X11_LIBRARIES}) endif() diff --git a/dev-lang/python/files/pydoc.init b/dev-lang/python/files/pydoc.init index ede01671f772..6cdfe892806b 100644 --- a/dev-lang/python/files/pydoc.init +++ b/dev-lang/python/files/pydoc.init @@ -1,5 +1,5 @@ -#!/sbin/runscript -# Copyright 1999-2014 Gentoo Technologies, Inc. +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public Licence v2 # $Id$ diff --git a/dev-lang/vala/vala-0.30.1.ebuild b/dev-lang/vala/vala-0.30.1.ebuild index 8f49cb786c3d..37495aed3bcf 100644 --- a/dev-lang/vala/vala-0.30.1.ebuild +++ b/dev-lang/vala/vala-0.30.1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0.30" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux" IUSE="test" RDEPEND=" diff --git a/dev-libs/appstream-glib/appstream-glib-0.5.9.ebuild b/dev-libs/appstream-glib/appstream-glib-0.5.9.ebuild index eced8cb986fa..a8d22494674e 100644 --- a/dev-libs/appstream-glib/appstream-glib-0.5.9.ebuild +++ b/dev-libs/appstream-glib/appstream-glib-0.5.9.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://people.freedesktop.org/~hughsient/${PN}/releases/${P}.tar.xz" LICENSE="LGPL-2.1" SLOT="0/8" # soname version -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86" IUSE="+introspection nls" # FIXME: yaml is optional with --enable-dep11 but not diff --git a/dev-libs/atk/atk-2.18.0.ebuild b/dev-libs/atk/atk-2.18.0.ebuild index 08d5206336ac..2210b002f880 100644 --- a/dev-libs/atk/atk-2.18.0.ebuild +++ b/dev-libs/atk/atk-2.18.0.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Accessibility" LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" IUSE="+introspection nls test" RDEPEND=" diff --git a/dev-libs/glib/glib-2.46.2-r2.ebuild b/dev-libs/glib/glib-2.46.2-r2.ebuild index 627817bfe70f..725be1eb84cd 100644 --- a/dev-libs/glib/glib-2.46.2-r2.ebuild +++ b/dev-libs/glib/glib-2.46.2-r2.ebuild @@ -32,7 +32,7 @@ REQUIRED_USE=" test? ( ${PYTHON_REQUIRED_USE} ) " -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux" RDEPEND=" !> $(TOP)/MINFO -- @target=files; $(RECURSIVE_MAKE) -+ +@target=files; $(RECURSIVE_MAKE) - - links: - @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER) -@@ -100,7 +100,7 @@ - # lib: $(LIB): are splitted to avoid end-less loop - lib: $(LIB) - @touch lib --$(LIB): $(LIBOBJ) -+$(LIB): $(LIBOBJ) | subdirs - $(AR) $(LIB) $(LIBOBJ) - test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o - $(RANLIB) $(LIB) || echo Never mind. -@@ -111,7 +111,7 @@ - fi - - libs: -- @target=lib; $(RECURSIVE_MAKE) -+ +@target=lib; $(RECURSIVE_MAKE) - - install: - @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile... -@@ -120,7 +120,7 @@ - (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ - done; -- @target=install; $(RECURSIVE_MAKE) -+ +@target=install; $(RECURSIVE_MAKE) - - lint: - @target=lint; $(RECURSIVE_MAKE) ---- openssl-1.0.2e/engines/Makefile -+++ openssl-1.0.2e/engines/Makefile -@@ -72,7 +72,7 @@ - - all: lib subdirs - --lib: $(LIBOBJ) -+lib: $(LIBOBJ) | subdirs - @if [ -n "$(SHARED_LIBS)" ]; then \ - set -e; \ - for l in $(LIBNAMES); do \ -@@ -89,7 +89,7 @@ - - subdirs: - echo $(EDIRS) -- @target=all; $(RECURSIVE_MAKE) -+ +@target=all; $(RECURSIVE_MAKE) - - files: - $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO -@@ -128,7 +128,7 @@ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \ - done; \ - fi -- @target=install; $(RECURSIVE_MAKE) -+ +@target=install; $(RECURSIVE_MAKE) - - tags: - ctags $(SRC) ---- openssl-1.0.2e/Makefile.org -+++ openssl-1.0.2e/Makefile.org -@@ -280,17 +280,17 @@ - build_libssl: build_ssl libssl.pc - - build_crypto: -- @dir=crypto; target=all; $(BUILD_ONE_CMD) -+ +@dir=crypto; target=all; $(BUILD_ONE_CMD) - build_ssl: build_crypto -- @dir=ssl; target=all; $(BUILD_ONE_CMD) -+ +@dir=ssl; target=all; $(BUILD_ONE_CMD) - build_engines: build_crypto -- @dir=engines; target=all; $(BUILD_ONE_CMD) -+ +@dir=engines; target=all; $(BUILD_ONE_CMD) - build_apps: build_libs -- @dir=apps; target=all; $(BUILD_ONE_CMD) -+ +@dir=apps; target=all; $(BUILD_ONE_CMD) - build_tests: build_libs -- @dir=test; target=all; $(BUILD_ONE_CMD) -+ +@dir=test; target=all; $(BUILD_ONE_CMD) - build_tools: build_libs -- @dir=tools; target=all; $(BUILD_ONE_CMD) -+ +@dir=tools; target=all; $(BUILD_ONE_CMD) - - all_testapps: build_libs build_testapps - build_testapps: -@@ -548,7 +548,7 @@ - (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ - done; -- @set -e; target=install; $(RECURSIVE_BUILD_CMD) -+ +@set -e; target=install; $(RECURSIVE_BUILD_CMD) - @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ - do \ - if [ -f "$$i" ]; then \ ---- openssl-1.0.2e/Makefile.shared -+++ openssl-1.0.2e/Makefile.shared -@@ -105,6 +105,7 @@ - SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \ - LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \ - LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \ -+ [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \ - LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \ - $${SHAREDCMD} $${SHAREDFLAGS} \ - -o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \ -@@ -122,6 +123,7 @@ - done; \ - fi; \ - if [ -n "$$SHLIB_SOVER" ]; then \ -+ [ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \ - ( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \ - ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \ - fi; \ ---- openssl-1.0.2e/test/Makefile -+++ openssl-1.0.2e/test/Makefile -@@ -138,7 +138,7 @@ - tags: - ctags $(SRC) - --tests: exe apps $(TESTS) -+tests: exe $(TESTS) - - apps: - @(cd ..; $(MAKE) DIRS=apps all) -@@ -416,127 +416,127 @@ - link_app.$${shlib_target} - - $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO) -- @target=$(RSATEST); $(BUILD_CMD) -+ +@target=$(RSATEST); $(BUILD_CMD) - - $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO) -- @target=$(BNTEST); $(BUILD_CMD) -+ +@target=$(BNTEST); $(BUILD_CMD) - - $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO) -- @target=$(ECTEST); $(BUILD_CMD) -+ +@target=$(ECTEST); $(BUILD_CMD) - - $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO) -- @target=$(EXPTEST); $(BUILD_CMD) -+ +@target=$(EXPTEST); $(BUILD_CMD) - - $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO) -- @target=$(IDEATEST); $(BUILD_CMD) -+ +@target=$(IDEATEST); $(BUILD_CMD) - - $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO) -- @target=$(MD2TEST); $(BUILD_CMD) -+ +@target=$(MD2TEST); $(BUILD_CMD) - - $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO) -- @target=$(SHATEST); $(BUILD_CMD) -+ +@target=$(SHATEST); $(BUILD_CMD) - - $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO) -- @target=$(SHA1TEST); $(BUILD_CMD) -+ +@target=$(SHA1TEST); $(BUILD_CMD) - - $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO) -- @target=$(SHA256TEST); $(BUILD_CMD) -+ +@target=$(SHA256TEST); $(BUILD_CMD) - - $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO) -- @target=$(SHA512TEST); $(BUILD_CMD) -+ +@target=$(SHA512TEST); $(BUILD_CMD) - - $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO) -- @target=$(RMDTEST); $(BUILD_CMD) -+ +@target=$(RMDTEST); $(BUILD_CMD) - - $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO) -- @target=$(MDC2TEST); $(BUILD_CMD) -+ +@target=$(MDC2TEST); $(BUILD_CMD) - - $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO) -- @target=$(MD4TEST); $(BUILD_CMD) -+ +@target=$(MD4TEST); $(BUILD_CMD) - - $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO) -- @target=$(MD5TEST); $(BUILD_CMD) -+ +@target=$(MD5TEST); $(BUILD_CMD) - - $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO) -- @target=$(HMACTEST); $(BUILD_CMD) -+ +@target=$(HMACTEST); $(BUILD_CMD) - - $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO) -- @target=$(WPTEST); $(BUILD_CMD) -+ +@target=$(WPTEST); $(BUILD_CMD) - - $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO) -- @target=$(RC2TEST); $(BUILD_CMD) -+ +@target=$(RC2TEST); $(BUILD_CMD) - - $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO) -- @target=$(BFTEST); $(BUILD_CMD) -+ +@target=$(BFTEST); $(BUILD_CMD) - - $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO) -- @target=$(CASTTEST); $(BUILD_CMD) -+ +@target=$(CASTTEST); $(BUILD_CMD) - - $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO) -- @target=$(RC4TEST); $(BUILD_CMD) -+ +@target=$(RC4TEST); $(BUILD_CMD) - - $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO) -- @target=$(RC5TEST); $(BUILD_CMD) -+ +@target=$(RC5TEST); $(BUILD_CMD) - - $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO) -- @target=$(DESTEST); $(BUILD_CMD) -+ +@target=$(DESTEST); $(BUILD_CMD) - - $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO) -- @target=$(RANDTEST); $(BUILD_CMD) -+ +@target=$(RANDTEST); $(BUILD_CMD) - - $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO) -- @target=$(DHTEST); $(BUILD_CMD) -+ +@target=$(DHTEST); $(BUILD_CMD) - - $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO) -- @target=$(DSATEST); $(BUILD_CMD) -+ +@target=$(DSATEST); $(BUILD_CMD) - - $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO) -- @target=$(METHTEST); $(BUILD_CMD) -+ +@target=$(METHTEST); $(BUILD_CMD) - - $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) -- @target=$(SSLTEST); $(FIPS_BUILD_CMD) -+ +@target=$(SSLTEST); $(FIPS_BUILD_CMD) - - $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO) -- @target=$(ENGINETEST); $(BUILD_CMD) -+ +@target=$(ENGINETEST); $(BUILD_CMD) - - $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO) -- @target=$(EVPTEST); $(BUILD_CMD) -+ +@target=$(EVPTEST); $(BUILD_CMD) - - $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO) -- @target=$(EVPEXTRATEST); $(BUILD_CMD) -+ +@target=$(EVPEXTRATEST); $(BUILD_CMD) - - $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO) -- @target=$(ECDSATEST); $(BUILD_CMD) -+ +@target=$(ECDSATEST); $(BUILD_CMD) - - $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO) -- @target=$(ECDHTEST); $(BUILD_CMD) -+ +@target=$(ECDHTEST); $(BUILD_CMD) - - $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO) -- @target=$(IGETEST); $(BUILD_CMD) -+ +@target=$(IGETEST); $(BUILD_CMD) - - $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO) -- @target=$(JPAKETEST); $(BUILD_CMD) -+ +@target=$(JPAKETEST); $(BUILD_CMD) - - $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO) -- @target=$(ASN1TEST); $(BUILD_CMD) -+ +@target=$(ASN1TEST); $(BUILD_CMD) - - $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO) -- @target=$(SRPTEST); $(BUILD_CMD) -+ +@target=$(SRPTEST); $(BUILD_CMD) - - $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO) -- @target=$(V3NAMETEST); $(BUILD_CMD) -+ +@target=$(V3NAMETEST); $(BUILD_CMD) - - $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) -- @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC) -+ +@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC) - - $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o -- @target=$(CONSTTIMETEST) $(BUILD_CMD) -+ +@target=$(CONSTTIMETEST) $(BUILD_CMD) - - $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o -- @target=$(VERIFYEXTRATEST) $(BUILD_CMD) -+ +@target=$(VERIFYEXTRATEST) $(BUILD_CMD) - - $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o -- @target=$(CLIENTHELLOTEST) $(BUILD_CMD) -+ +@target=$(CLIENTHELLOTEST) $(BUILD_CMD) - - #$(AESTEST).o: $(AESTEST).c - # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c -@@ -549,7 +549,7 @@ - # fi - - dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO) -- @target=dummytest; $(BUILD_CMD) -+ +@target=dummytest; $(BUILD_CMD) - - # DO NOT DELETE THIS LINE -- make depend depends on it. - diff --git a/dev-libs/openssl/openssl-1.0.2f.ebuild b/dev-libs/openssl/openssl-1.0.2h.ebuild similarity index 93% rename from dev-libs/openssl/openssl-1.0.2f.ebuild rename to dev-libs/openssl/openssl-1.0.2h.ebuild index a7c3eb620a05..9412cb3f39a6 100644 --- a/dev-libs/openssl/openssl-1.0.2f.ebuild +++ b/dev-libs/openssl/openssl-1.0.2h.ebuild @@ -12,24 +12,17 @@ HOMEPAGE="http://www.openssl.org/" SRC_URI="mirror://openssl/source/${MY_P}.tar.gz" LICENSE="openssl" +# subslot set to 1.0.2g version as this is the first release without SSLv2 +# support and thus breaks nearly every openssl consumer (see bug #575548) SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux" IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib" RESTRICT="!bindist? ( bindist )" -# The blocks are temporary just to make sure people upgrade to a -# version that lack runtime version checking. We'll drop them in -# the future. RDEPEND=">=app-misc/c_rehash-1.7-r1 gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] ) - kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] ) - abi_x86_32? ( - !<=app-emulation/emul-linux-x86-baselibs-20140508 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] - ) - !=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )" DEPEND="${RDEPEND} >=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) @@ -56,7 +49,7 @@ src_prepare() { if ! use vanilla ; then epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421 epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743 - epatch "${FILESDIR}"/${PN}-1.0.2e-parallel-build.patch + epatch "${FILESDIR}"/${PN}-1.0.2g-parallel-build.patch epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028 @@ -154,6 +147,7 @@ multilib_src_configure() { enable-mdc2 \ enable-rc5 \ enable-tlsext \ + enable-ssl2 \ $(use_ssl asm) \ $(use_ssl gmp gmp -lgmp) \ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \ diff --git a/dev-libs/vala-common/vala-common-0.30.1.ebuild b/dev-libs/vala-common/vala-common-0.30.1.ebuild index cd20e2285149..4e6818d13016 100644 --- a/dev-libs/vala-common/vala-common-0.30.1.ebuild +++ b/dev-libs/vala-common/vala-common-0.30.1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris" IUSE="" # Previously ${PN} was part of dev-lang/vala diff --git a/dev-ml/async_unix/async_unix-113.33.00.ebuild b/dev-ml/async_unix/async_unix-113.33.00.ebuild index ab692ee59ab7..ed75addc6e5c 100644 --- a/dev-ml/async_unix/async_unix-113.33.00.ebuild +++ b/dev-ml/async_unix/async_unix-113.33.00.ebuild @@ -35,6 +35,10 @@ RDEPEND=" " DEPEND="${RDEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/async_unix/files/oc43.patch b/dev-ml/async_unix/files/oc43.patch new file mode 100644 index 000000000000..8d8cc1762816 --- /dev/null +++ b/dev-ml/async_unix/files/oc43.patch @@ -0,0 +1,87 @@ +diff -uNr async_unix-113.33.00/_oasis async_unix-113.33.00+4.03/_oasis +--- async_unix-113.33.00/_oasis 2016-03-09 16:44:52.000000000 +0100 ++++ async_unix-113.33.00+4.03/_oasis 2016-03-22 15:13:48.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: async_unix +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Monadic concurrency library + Authors: Jane Street Group, LLC + Copyrights: (C) 2008-2016 Jane Street Group LLC +diff -uNr async_unix-113.33.00/opam async_unix-113.33.00+4.03/opam +--- async_unix-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ async_unix-113.33.00+4.03/opam 2016-03-22 17:51:33.000000000 +0100 +@@ -26,4 +26,4 @@ + "typerep" + "variantslib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr async_unix-113.33.00/src/raw_scheduler.ml async_unix-113.33.00+4.03/src/raw_scheduler.ml +--- async_unix-113.33.00/src/raw_scheduler.ml 2016-03-09 16:44:52.000000000 +0100 ++++ async_unix-113.33.00+4.03/src/raw_scheduler.ml 2016-03-22 15:13:48.000000000 +0100 +@@ -587,7 +587,7 @@ + + let sync_changed_fds_to_file_descr_watcher t = + let module F = (val t.file_descr_watcher : File_descr_watcher.S) in +- let make_file_descr_watcher_agree_with (fd : Fd.t) = ++ let make_file_descr_watcher_agree_with = (fun (fd : Fd.t) -> + fd.watching_has_changed <- false; + let desired = + Read_write.mapi fd.watching ~f:(fun read_or_write watching -> +@@ -607,7 +607,7 @@ + with exn -> + failwiths "sync_changed_fds_to_file_descr_watcher unable to set fd" + (desired, fd, exn, t) [%sexp_of: bool Read_write.t * Fd.t * exn * t] +- in ++ ) [@inline always] in + let changed = t.fds_whose_watching_has_changed in + t.fds_whose_watching_has_changed <- []; + List.iter changed ~f:make_file_descr_watcher_agree_with; +diff -uNr async_unix-113.33.00/src/std.ml async_unix-113.33.00+4.03/src/std.ml +--- async_unix-113.33.00/src/std.ml 2016-03-09 16:44:52.000000000 +0100 ++++ async_unix-113.33.00+4.03/src/std.ml 2016-03-22 15:13:48.000000000 +0100 +@@ -60,10 +60,9 @@ + + module Overwrite_ = struct + let overwrite1 (`This_is_async__Think_about_blocking as x) = x +- let wrap f `This_is_async__Think_about_blocking = f +- let overwrite2 = wrap overwrite1 +- let overwrite3 = wrap overwrite2 +- let overwrite4 = wrap overwrite3 ++ let overwrite2 `This_is_async__Think_about_blocking = overwrite1 ++ let overwrite3 `This_is_async__Think_about_blocking = overwrite2 ++ let overwrite4 `This_is_async__Think_about_blocking = overwrite3 + let overwritef f = ksprintf (fun _ -> `This_is_async__Think_about_blocking) f + end + open Overwrite_ +diff -uNr async_unix-113.33.00/src/unix_syscalls.ml async_unix-113.33.00+4.03/src/unix_syscalls.ml +--- async_unix-113.33.00/src/unix_syscalls.ml 2016-03-09 16:44:52.000000000 +0100 ++++ async_unix-113.33.00+4.03/src/unix_syscalls.ml 2016-03-22 15:13:48.000000000 +0100 +@@ -365,8 +365,8 @@ + ;; + + (* symlinks *) +-let symlink ~src ~dst = +- In_thread.syscall_exn ~name:"symlink" (fun () -> Unix.symlink ~src ~dst) ++let symlink ?to_dir ~src ~dst = ++ In_thread.syscall_exn ~name:"symlink" (fun () -> Unix.symlink ?to_dir ~src ~dst) + ;; + + let readlink filename = +diff -uNr async_unix-113.33.00/src/unix_syscalls.mli async_unix-113.33.00+4.03/src/unix_syscalls.mli +--- async_unix-113.33.00/src/unix_syscalls.mli 2016-03-09 16:44:52.000000000 +0100 ++++ async_unix-113.33.00+4.03/src/unix_syscalls.mli 2016-03-22 15:13:48.000000000 +0100 +@@ -223,7 +223,7 @@ + -> string + -> unit Deferred.t + +-val symlink : src:string -> dst:string -> unit Deferred.t ++val symlink : ?to_dir:bool -> src:string -> dst:string -> unit Deferred.t + + val readlink : string -> string Deferred.t + diff --git a/dev-ml/batteries/batteries-2.4.0.ebuild b/dev-ml/batteries/batteries-2.4.0.ebuild index 154803838ebb..7ea0d79a32fa 100644 --- a/dev-ml/batteries/batteries-2.4.0.ebuild +++ b/dev-ml/batteries/batteries-2.4.0.ebuild @@ -22,3 +22,8 @@ DEPEND="${RDEPEND} DOCS=( "ChangeLog" "FAQ" "README.folders" "README.md" ) S="${WORKDIR}/${PN}-included-${PV}" +PATCHES=( + "${FILESDIR}/oc43-1.patch" + "${FILESDIR}/oc43-2.patch" + "${FILESDIR}/oc43-3.patch" +) diff --git a/dev-ml/batteries/files/oc43-1.patch b/dev-ml/batteries/files/oc43-1.patch new file mode 100644 index 000000000000..a03237438295 --- /dev/null +++ b/dev-ml/batteries/files/oc43-1.patch @@ -0,0 +1,762 @@ +commit 45bcb681e4218586b66f3a0d83d7f5a51f5548e0 +Author: KC Sivaramakrishnan +Date: Wed Mar 23 09:42:33 2016 +0000 + + Upgrading to 4.03 + +diff --git a/src/batArray.mliv b/src/batArray.mliv +index 51b4e28..025887f 100644 +--- a/src/batArray.mliv ++++ b/src/batArray.mliv +@@ -82,8 +82,7 @@ external make : int -> 'a -> 'a array = "caml_make_vect" + If the value of [x] is a floating-point number, then the maximum + size is only [Sys.max_array_length / 2].*) + +-##V<4.2##val make_float : int -> float array +-##V>=4.2##external make_float : int -> float array = "caml_make_float_vect" ++val make_float : int -> float array + (** [Array.make_float n] returns a fresh float array of length [n], + with uninitialized data. + +diff --git a/src/batCharParser.mli b/src/batCharParser.mli +index 52c00d8..80ff8a8 100644 +--- a/src/batCharParser.mli ++++ b/src/batCharParser.mli +@@ -52,7 +52,7 @@ val source_of_string : string -> (char, position) Source.t + val source_of_enum : char BatEnum.t -> (char, position) Source.t + (** Create a source from a latin-1 character.*) + +-val parse : (char, 'a, position) t -> string -> ('a, position report) BatPervasives.result ++val parse : (char, 'a, position) t -> string -> ('a, position report) result + (**Apply a parser to a string.*) + + (**{6 Utilities}*) +diff --git a/src/batGc.mli b/src/batGc.mli +index f3e6f54..ecffb79 100644 +--- a/src/batGc.mli ++++ b/src/batGc.mli +@@ -34,18 +34,18 @@ + type stat = Gc.stat = + { minor_words : float; + (** Number of words allocated in the minor heap since +- the program was started. This number is accurate in +- byte-code programs, but only an approximation in programs +- compiled to native code. *) ++ the program was started. This number is accurate in ++ byte-code programs, but only an approximation in programs ++ compiled to native code. *) + + promoted_words : float; + (** Number of words allocated in the minor heap that +- survived a minor collection and were moved to the major heap +- since the program was started. *) ++ survived a minor collection and were moved to the major heap ++ since the program was started. *) + + major_words : float; + (** Number of words allocated in the major heap, including +- the promoted words, since the program was started. *) ++ the promoted words, since the program was started. *) + + minor_collections : int; + (** Number of minor collections since the program was started. *) +@@ -62,7 +62,7 @@ type stat = Gc.stat = + + live_words : int; + (** Number of words of live data in the major heap, including the header +- words. *) ++ words. *) + + live_blocks : int; + (** Number of live blocks in the major heap. *) +@@ -78,8 +78,8 @@ type stat = Gc.stat = + + fragments : int; + (** Number of wasted words due to fragmentation. These are +- 1-words free blocks placed between two live blocks. They +- are not available for allocation. *) ++ 1-words free blocks placed between two live blocks. They ++ are not available for allocation. *) + + compactions : int; + (** Number of heap compactions since the program was started. *) +@@ -89,62 +89,68 @@ type stat = Gc.stat = + + stack_size: int; + (** Current size of the stack, in words. @since 3.12.0 *) +- } ++} + (** The memory management counters are returned in a [stat] record. + +- The total amount of memory allocated by the program since it was started +- is (in words) [minor_words + major_words - promoted_words]. Multiply by +- the word size (4 on a 32-bit machine, 8 on a 64-bit machine) to get +- the number of bytes. ++ The total amount of memory allocated by the program since it was started ++ is (in words) [minor_words + major_words - promoted_words]. Multiply by ++ the word size (4 on a 32-bit machine, 8 on a 64-bit machine) to get ++ the number of bytes. + *) + + type control = Gc.control = + { mutable minor_heap_size : int; + (** The size (in words) of the minor heap. Changing +- this parameter will trigger a minor collection. Default: 32k. *) ++ this parameter will trigger a minor collection. Default: 256k. *) + + mutable major_heap_increment : int; +- (** The minimum number of words to add to the +- major heap when increasing it. Default: 124k. *) ++ (** How much to add to the major heap when increasing it. If this ++ number is less than or equal to 1000, it is a percentage of ++ the current heap size (i.e. setting it to 100 will double the heap ++ size at each increase). If it is more than 1000, it is a fixed ++ number of words that will be added to the heap. Default: 15. *) + + mutable space_overhead : int; + (** The major GC speed is computed from this parameter. +- This is the memory that will be "wasted" because the GC does not +- immediatly collect unreachable blocks. It is expressed as a +- percentage of the memory used for live data. +- The GC will work more (use more CPU time and collect +- blocks more eagerly) if [space_overhead] is smaller. +- Default: 80. *) ++ This is the memory that will be "wasted" because the GC does not ++ immediatly collect unreachable blocks. It is expressed as a ++ percentage of the memory used for live data. ++ The GC will work more (use more CPU time and collect ++ blocks more eagerly) if [space_overhead] is smaller. ++ Default: 80. *) + + mutable verbose : int; + (** This value controls the GC messages on standard error output. +- It is a sum of some of the following flags, to print messages +- on the corresponding events: +- - [0x001] Start of major GC cycle. +- - [0x002] Minor collection and major GC slice. +- - [0x004] Growing and shrinking of the heap. +- - [0x008] Resizing of stacks and memory manager tables. +- - [0x010] Heap compaction. +- - [0x020] Change of GC parameters. +- - [0x040] Computation of major GC slice size. +- - [0x080] Calling of finalisation functions. +- - [0x100] Bytecode executable search at start-up. +- - [0x200] Computation of compaction triggering condition. +- Default: 0. *) ++ It is a sum of some of the following flags, to print messages ++ on the corresponding events: ++ - [0x001] Start of major GC cycle. ++ - [0x002] Minor collection and major GC slice. ++ - [0x004] Growing and shrinking of the heap. ++ - [0x008] Resizing of stacks and memory manager tables. ++ - [0x010] Heap compaction. ++ - [0x020] Change of GC parameters. ++ - [0x040] Computation of major GC slice size. ++ - [0x080] Calling of finalisation functions. ++ - [0x100] Bytecode executable and shared library search at start-up. ++ - [0x200] Computation of compaction-triggering condition. ++ - [0x400] Output GC statistics at program exit. ++ Default: 0. *) + + mutable max_overhead : int; + (** Heap compaction is triggered when the estimated amount +- of "wasted" memory is more than [max_overhead] percent of the +- amount of live data. If [max_overhead] is set to 0, heap +- compaction is triggered at the end of each major GC cycle +- (this setting is intended for testing purposes only). +- If [max_overhead >= 1000000], compaction is never triggered. +- Default: 500. *) ++ of "wasted" memory is more than [max_overhead] percent of the ++ amount of live data. If [max_overhead] is set to 0, heap ++ compaction is triggered at the end of each major GC cycle ++ (this setting is intended for testing purposes only). ++ If [max_overhead >= 1000000], compaction is never triggered. ++ If compaction is permanently disabled, it is strongly suggested ++ to set [allocation_policy] to 1. ++ Default: 500. *) + + mutable stack_limit : int; + (** The maximum size of the stack (in words). This is only +- relevant to the byte-code runtime, as the native code runtime +- uses the operating system's stack. Default: 256k. *) ++ relevant to the byte-code runtime, as the native code runtime ++ uses the operating system's stack. Default: 1024k. *) + + mutable allocation_policy : int; + (** The policy used for allocating in the heap. Possible +@@ -153,16 +159,22 @@ type control = Gc.control = + first-fit policy, which can be slower in some cases but + can be better for programs with fragmentation problems. + Default: 0. @since 3.11.0 *) +- } ++ ++ window_size : int; ++ (** The size of the window used by the major GC for smoothing ++ out variations in its workload. This is an integer between ++ 1 and 50. ++ Default: 1. @since 4.03.0 *) ++} + (** The GC parameters are given as a [control] record. Note that + these parameters can also be initialised by setting the + OCAMLRUNPARAM environment variable. See the documentation of +- ocamlrun. *) ++ [ocamlrun]. *) + + external stat : unit -> stat = "caml_gc_stat" + (** Return the current values of the memory management counters in a +- [stat] record. This function examines every heap block to get the +- statistics. *) ++ [stat] record. This function examines every heap block to get the ++ statistics. *) + + external quick_stat : unit -> stat = "caml_gc_quick_stat" + (** Same as [stat] except that [live_words], [live_blocks], [free_words], +@@ -172,117 +184,144 @@ external quick_stat : unit -> stat = "caml_gc_quick_stat" + + external counters : unit -> float * float * float = "caml_gc_counters" + (** Return [(minor_words, promoted_words, major_words)]. This function +- is as fast at [quick_stat]. *) ++ is as fast as [quick_stat]. *) + + external get : unit -> control = "caml_gc_get" + (** Return the current values of the GC parameters in a [control] record. *) + + external set : control -> unit = "caml_gc_set" + (** [set r] changes the GC parameters according to the [control] record [r]. +- The normal usage is: [Gc.set { (Gc.get()) with Gc.verbose = 0x00d }] *) ++ The normal usage is: [Gc.set { (Gc.get()) with Gc.verbose = 0x00d }] *) + + external minor : unit -> unit = "caml_gc_minor" + (** Trigger a minor collection. *) + +-external major_slice : int -> int = "caml_gc_major_slice";; +-(** Do a minor collection and a slice of major collection. The argument +- is the size of the slice, 0 to use the automatically-computed +- slice size. In all cases, the result is the computed slice size. *) ++external major_slice : int -> int = "caml_gc_major_slice" ++(** [major_slice n] ++ Do a minor collection and a slice of major collection. [n] is the ++ size of the slice: the GC will do enough work to free (on average) ++ [n] words of memory. If [n] = 0, the GC will try to do enough work ++ to ensure that the next slice has no work to do. ++ Return an approximation of the work that the next slice will have ++ to do. *) + + external major : unit -> unit = "caml_gc_major" + (** Do a minor collection and finish the current major collection cycle. *) + + external full_major : unit -> unit = "caml_gc_full_major" + (** Do a minor collection, finish the current major collection cycle, +- and perform a complete new cycle. This will collect all currently +- unreachable blocks. *) ++ and perform a complete new cycle. This will collect all currently ++ unreachable blocks. *) + + external compact : unit -> unit = "caml_gc_compaction" + (** Perform a full major collection and compact the heap. Note that heap +- compaction is a lengthy operation. *) ++ compaction is a lengthy operation. *) + + val print_stat : _ BatInnerIO.output -> unit + (** Print the current values of the memory management counters (in +- human-readable form) into the channel argument. *) ++ human-readable form) into the channel argument. *) + + val allocated_bytes : unit -> float + (** Return the total number of bytes allocated since the program was +- started. It is returned as a [float] to avoid overflow problems +- with [int] on 32-bit machines. *) ++ started. It is returned as a [float] to avoid overflow problems ++ with [int] on 32-bit machines. *) ++ ++external get_minor_free : unit -> int = "caml_get_minor_free" [@@noalloc] ++(** Return the current size of the free space inside the minor heap. *) ++ ++external get_bucket : int -> int = "caml_get_major_bucket" [@@noalloc] ++(** [get_bucket n] returns the current size of the [n]-th future bucket ++ of the GC smoothing system. The unit is one millionth of a full GC. ++ Raise [Invalid_argument] if [n] is negative, return 0 if n is larger ++ than the smoothing window. *) ++ ++external get_credit : unit -> int = "caml_get_major_credit" [@@noalloc] ++(** [get_credit ()] returns the current size of the "work done in advance" ++ counter of the GC smoothing system. The unit is one millionth of a ++ full GC. *) ++ ++external huge_fallback_count : unit -> int = "caml_gc_huge_fallback_count" ++(** Return the number of times we tried to map huge pages and had to fall ++ back to small pages. This is always 0 if [OCAMLRUNPARAM] contains [H=1]. ++ @since 4.03.0 *) + + val finalise : ('a -> unit) -> 'a -> unit + (** [finalise f v] registers [f] as a finalisation function for [v]. +- [v] must be heap-allocated. [f] will be called with [v] as +- argument at some point between the first time [v] becomes unreachable +- and the time [v] is collected by the GC. Several functions can +- be registered for the same value, or even several instances of the +- same function. Each instance will be called once (or never, +- if the program terminates before [v] becomes unreachable). +- +- The GC will call the finalisation functions in the order of +- deallocation. When several values become unreachable at the +- same time (i.e. during the same GC cycle), the finalisation +- functions will be called in the reverse order of the corresponding +- calls to [finalise]. If [finalise] is called in the same order +- as the values are allocated, that means each value is finalised +- before the values it depends upon. Of course, this becomes +- false if additional dependencies are introduced by assignments. +- +- Anything reachable from the closure of finalisation functions +- is considered reachable, so the following code will not work +- as expected: +- - [ let v = ... in Gc.finalise (fun x -> ...) v ] +- +- Instead you should write: +- - [ let f = fun x -> ... ;; let v = ... in Gc.finalise f v ] +- +- +- The [f] function can use all features of OCaml, including +- assignments that make the value reachable again. It can also +- loop forever (in this case, the other +- finalisation functions will not be called during the execution of f, +- unless it calls [finalise_release]). +- It can call [finalise] on [v] or other values to register other +- functions or even itself. It can raise an exception; in this case +- the exception will interrupt whatever the program was doing when +- the function was called. +- +- +- [finalise] will raise [Invalid_argument] if [v] is not +- heap-allocated. Some examples of values that are not +- heap-allocated are integers, constant constructors, booleans, +- the empty array, the empty list, the unit value. The exact list +- of what is heap-allocated or not is implementation-dependent. +- Some constant values can be heap-allocated but never deallocated +- during the lifetime of the program, for example a list of integer +- constants; this is also implementation-dependent. +- You should also be aware that compiler optimisations may duplicate +- some immutable values, for example floating-point numbers when +- stored into arrays, so they can be finalised and collected while +- another copy is still in use by the program. +- +- +- The results of calling {!String.make}, {!String.create}, +- {!Array.make}, and {!Pervasives.ref} are guaranteed to be +- heap-allocated and non-constant except when the length argument is [0]. ++ [v] must be heap-allocated. [f] will be called with [v] as ++ argument at some point between the first time [v] becomes unreachable ++ (including through weak pointers) and the time [v] is collected by ++ the GC. Several functions can ++ be registered for the same value, or even several instances of the ++ same function. Each instance will be called once (or never, ++ if the program terminates before [v] becomes unreachable). ++ ++ The GC will call the finalisation functions in the order of ++ deallocation. When several values become unreachable at the ++ same time (i.e. during the same GC cycle), the finalisation ++ functions will be called in the reverse order of the corresponding ++ calls to [finalise]. If [finalise] is called in the same order ++ as the values are allocated, that means each value is finalised ++ before the values it depends upon. Of course, this becomes ++ false if additional dependencies are introduced by assignments. ++ ++ In the presence of multiple OCaml threads it should be assumed that ++ any particular finaliser may be executed in any of the threads. ++ ++ Anything reachable from the closure of finalisation functions ++ is considered reachable, so the following code will not work ++ as expected: ++ - [ let v = ... in Gc.finalise (fun _ -> ...v...) v ] ++ ++ Instead you should make sure that [v] is not in the closure of ++ the finalisation function by writing: ++ - [ let f = fun x -> ... ;; let v = ... in Gc.finalise f v ] ++ ++ ++ The [f] function can use all features of OCaml, including ++ assignments that make the value reachable again. It can also ++ loop forever (in this case, the other ++ finalisation functions will not be called during the execution of f, ++ unless it calls [finalise_release]). ++ It can call [finalise] on [v] or other values to register other ++ functions or even itself. It can raise an exception; in this case ++ the exception will interrupt whatever the program was doing when ++ the function was called. ++ ++ ++ [finalise] will raise [Invalid_argument] if [v] is not ++ guaranteed to be heap-allocated. Some examples of values that are not ++ heap-allocated are integers, constant constructors, booleans, ++ the empty array, the empty list, the unit value. The exact list ++ of what is heap-allocated or not is implementation-dependent. ++ Some constant values can be heap-allocated but never deallocated ++ during the lifetime of the program, for example a list of integer ++ constants; this is also implementation-dependent. ++ Note that values of types [float] and ['a lazy] (for any ['a]) are ++ sometimes allocated and sometimes not, so finalising them is unsafe, ++ and [finalise] will also raise [Invalid_argument] for them. ++ ++ ++ The results of calling {!String.make}, {!Bytes.make}, {!Bytes.create}, ++ {!Array.make}, and {!Pervasives.ref} are guaranteed to be ++ heap-allocated and non-constant except when the length argument is [0]. + *) + +-val finalise_release : unit -> unit;; ++val finalise_release : unit -> unit + (** A finalisation function may call [finalise_release] to tell the + GC that it can launch the next finalisation function without waiting + for the current one to return. *) + + type alarm = Gc.alarm + (** An alarm is a piece of data that calls a user function at the end of +- each major GC cycle. The following functions are provided to create +- and delete alarms. *) ++ each major GC cycle. The following functions are provided to create ++ and delete alarms. *) + + val create_alarm : (unit -> unit) -> alarm + (** [create_alarm f] will arrange for [f] to be called at the end of each +- major GC cycle, starting with the current cycle or the next one. +- A value of type [alarm] is returned that you can +- use to call [delete_alarm]. *) ++ major GC cycle, starting with the current cycle or the next one. ++ A value of type [alarm] is returned that you can ++ use to call [delete_alarm]. *) + + val delete_alarm : alarm -> unit +- (** [delete_alarm a] will stop the calls to the function associated +- to [a]. Calling [delete_alarm a] again has no effect. *) ++(** [delete_alarm a] will stop the calls to the function associated ++ to [a]. Calling [delete_alarm a] again has no effect. *) +diff --git a/src/batHashtbl.mli b/src/batHashtbl.mli +index d3a9118..dd95c0c 100644 +--- a/src/batHashtbl.mli ++++ b/src/batHashtbl.mli +@@ -276,7 +276,7 @@ val print : ?first:string -> ?last:string -> ?sep:string -> ?kvsep:string -> + module Exceptionless : + sig + val find : ('a, 'b) t -> 'a -> 'b option +- val modify : 'a -> ('b -> 'b) -> ('a, 'b) t -> (unit, exn) BatPervasives.result ++ val modify : 'a -> ('b -> 'b) -> ('a, 'b) t -> (unit, exn) result + end + + (** Infix operators over a {!BatHashtbl} *) +@@ -402,7 +402,7 @@ sig + module Exceptionless : + sig + val find : 'a t -> key -> 'a option +- val modify : key -> ('a -> 'a) -> 'a t -> (unit, exn) BatPervasives.result ++ val modify : key -> ('a -> 'a) -> 'a t -> (unit, exn) result + end + + (** Infix operators over a {!BatHashtbl} *) +@@ -562,7 +562,7 @@ sig + module Exceptionless : + sig + val find : ('a, 'b, [>`Read]) t -> 'a -> 'b option +- val modify : 'a -> ('b -> 'b) -> ('a, 'b, [>`Read]) t -> (unit, exn) BatPervasives.result ++ val modify : 'a -> ('b -> 'b) -> ('a, 'b, [>`Read]) t -> (unit, exn) result + end + + (** Operations on {!BatHashtbl.Cap} with labels.*) +diff --git a/src/batHashtbl.mlv b/src/batHashtbl.mlv +index 6a79a33..ef7a030 100644 +--- a/src/batHashtbl.mlv ++++ b/src/batHashtbl.mlv +@@ -413,7 +413,7 @@ sig + module Exceptionless : + sig + val find : 'a t -> key -> 'a option +- val modify : key -> ('a -> 'a) -> 'a t -> (unit, exn) BatPervasives.result ++ val modify : key -> ('a -> 'a) -> 'a t -> (unit, exn) result + end + + (** Infix operators over a {!BatHashtbl} *) +@@ -571,7 +571,7 @@ struct + let map_inplace (f:key -> 'a -> 'b) h = map_inplace f (to_hash h) + let filteri_inplace f h = filteri_inplace f (to_hash h) + let filter_inplace f h = filter_inplace f (to_hash h) +- let filter_map_inplace f h = filter_map_inplace f (to_hash h) ++ let filter_map_inplace f h = filter_map_inplace f h + + + let find_option h key = +diff --git a/src/batInnerPervasives.mlv b/src/batInnerPervasives.mlv +index c86f1f7..c81cba4 100644 +--- a/src/batInnerPervasives.mlv ++++ b/src/batInnerPervasives.mlv +@@ -43,20 +43,16 @@ let unique () = + Q.unit (fun () -> unique () <> unique ()) + *) + +-type ('a, 'b) result = +- | Ok of 'a +- | Bad of 'b +- + (* Ideas taken from Nicholas Pouillard's my_std.ml in ocamlbuild/ *) + let ignore_ok = function + Ok _ -> () +- | Bad ex -> raise ex ++ | Error ex -> raise ex + + let ok = function + Ok v -> v +- | Bad ex -> raise ex ++ | Error ex -> raise ex + +-let wrap f x = try Ok (f x) with ex -> Bad ex ++let wrap f x = try Ok (f x) with ex -> Error ex + + let forever f x = ignore (while true do f x done) + +diff --git a/src/batInnerWeaktbl.ml b/src/batInnerWeaktbl.ml +index 64bb15f..c525f62 100644 +--- a/src/batInnerWeaktbl.ml ++++ b/src/batInnerWeaktbl.ml +@@ -120,6 +120,7 @@ module Make (H: Hashtbl.HashedType) : Hashtbl.S with type key = H.t = struct + W.iter (fun cls -> W.add tbl' (Stack.copy cls)) tbl; tbl' + let stats _ = assert false + let reset _ = assert false ++ let filter_map_inplace _ = assert false + end + + module StdHash = Make +diff --git a/src/batParserCo.ml b/src/batParserCo.ml +index cac4701..75ac6fb 100644 +--- a/src/batParserCo.ml ++++ b/src/batParserCo.ml +@@ -274,10 +274,10 @@ let lookahead p e = match apply p e with + | Failure _ as result -> result + + let interpret_result = function +- | Setback f | Failure f -> BatInnerPervasives.Bad f +- | Success (r, _) | Backtrack (r, _, _) -> BatInnerPervasives.Ok r ++ | Setback f | Failure f -> Error f ++ | Success (r, _) | Backtrack (r, _, _) -> Ok r + +-let suspend : ('a, 'b, 'c) t -> ('a, (unit -> ('b, 'c report) BatInnerPervasives.result), 'c) t = fun s e -> ++let suspend : ('a, 'b, 'c) t -> ('a, (unit -> ('b, 'c report) Pervasives.result), 'c) t = fun s e -> + let resume () = interpret_result (s e) in + Success (resume, e) + +diff --git a/src/batParserCo.mli b/src/batParserCo.mli +index 1fbe15a..40c5cf7 100644 +--- a/src/batParserCo.mli ++++ b/src/batParserCo.mli +@@ -141,15 +141,15 @@ val filter: ('b -> bool) -> ('a, 'b, 'c) t -> ('a, 'b, 'c) t + (**[filter f p] is only accepts values [x] such that [p] + accepts [x] and [f (p x)] is [true]*) + +-val suspend : ('a, 'b, 'c) t -> ('a, (unit -> ('b, 'c report) BatPervasives.result), 'c) t ++val suspend : ('a, 'b, 'c) t -> ('a, (unit -> ('b, 'c report) result), 'c) t + (**[suspend s] returns the state of the parser in a form that can be + resumed by calling the returned function. evaluation will resume + from parser s *) + +-val run: ('a, 'b, 'c) t -> ('a, 'c) Source.t -> ('b, 'c report) BatPervasives.result ++val run: ('a, 'b, 'c) t -> ('a, 'c) Source.t -> ('b, 'c report) result + (**[run p s] executes parser [p] on source [s]. In case of + success, returns [Ok v], where [v] is the return value of [p]. +- In case of failure, returns [Bad f], with [f] containing ++ In case of failure, returns [Error f], with [f] containing + details on the parsing error.*) + + +diff --git a/src/batPathGen.ml b/src/batPathGen.ml +index 46a97ba..71d1084 100644 +--- a/src/batPathGen.ml ++++ b/src/batPathGen.ml +@@ -512,7 +512,7 @@ module Make = functor (S : StringType) -> struct + let full_match pars ss = + let parser_final = BatParserCo.( >>> ) pars BatParserCo.eof in + match BatParserCo.run parser_final (S.Parse.source ss) with +- | BatPervasives.Ok _ -> true ++ | Ok _ -> true + | _ -> false + + (* let full_match_none_of raw_excluded ss = +diff --git a/src/batPervasives.mliv b/src/batPervasives.mliv +index 6353214..c74b913 100644 +--- a/src/batPervasives.mliv ++++ b/src/batPervasives.mliv +@@ -842,20 +842,14 @@ val print : ?first:string -> ?last:string -> ?sep:string -> ('a BatInnerIO.outp + + For more functions related to this type, see the {!BatResult} module. + *) +-type ('a, 'b) result = ('a, 'b) BatInnerPervasives.result = +- | Ok of 'a +- | Bad of 'b +- (** The result of a computation - either an [Ok] with the normal +- result or a [Bad] with some value (often an exception) containing +- failure information*) + + val ignore_ok : ('a, exn) result -> unit + (** [ignore_ok (f x)] ignores the result of [f x] if it's ok, but +- throws the exception contained if [Bad] is returned. *) ++ throws the exception contained if [Error] is returned. *) + + val ok : ('a, exn) result -> 'a + (** [f x |> ok] unwraps the [Ok] result of [f x] and returns it, or +- throws the exception contained if [Bad] is returned. *) ++ throws the exception contained if [Error] is returned. *) + + val wrap : ('a -> 'b) -> 'a -> ('b, exn) result + (** [wrap f x] wraps a function that would normally throw an exception +diff --git a/src/batResult.ml b/src/batResult.ml +index 1d98663..f90b4d9 100644 +--- a/src/batResult.ml ++++ b/src/batResult.ml +@@ -1,45 +1,45 @@ + +-type ('a, 'b) t = ('a, 'b) BatPervasives.result = ++type ('a, 'b) t = ('a, 'b) result = + | Ok of 'a +- | Bad of 'b ++ | Error of 'b + +-let catch f x = try Ok (f x) with e -> Bad e +-let catch2 f x y = try Ok (f x y) with e -> Bad e +-let catch3 f x y z = try Ok (f x y z) with e -> Bad e ++let catch f x = try Ok (f x) with e -> Error e ++let catch2 f x y = try Ok (f x y) with e -> Error e ++let catch3 f x y z = try Ok (f x y z) with e -> Error e + + let of_option = function + | Some x -> Ok x +- | None -> Bad () ++ | None -> Error () + + let to_option = function + | Ok x -> Some x +- | Bad _-> None ++ | Error _-> None + + let default def = function + | Ok x -> x +- | Bad _ -> def ++ | Error _ -> def + + let map_default def f = function + | Ok x -> f x +- | Bad _ -> def ++ | Error _ -> def + +-let is_ok = function Ok _ -> true | Bad _ -> false ++let is_ok = function Ok _ -> true | Error _ -> false + +-let is_bad = function Bad _ -> true | Ok _ -> false ++let is_bad = function Error _ -> true | Ok _ -> false + +-let is_exn e = function Bad exn -> exn = e | Ok _ -> false ++let is_exn e = function Error exn -> exn = e | Ok _ -> false + +-let get = function Ok x -> x | Bad e -> raise e ++let get = function Ok x -> x | Error e -> raise e + + let print print_val oc = function + | Ok x -> BatPrintf.fprintf oc "Ok(%a)" print_val x +- | Bad e -> BatPrintf.fprintf oc "Bad(%a)" BatPrintexc.print e ++ | Error e -> BatPrintf.fprintf oc "Error(%a)" BatPrintexc.print e + + + module Monad = struct + let bind m k = match m with + | Ok x -> k x +- | Bad _ as e -> e ++ | Error _ as e -> e + + let return x = Ok x + +diff --git a/src/batResult.mli b/src/batResult.mli +index a295c64..203c125 100644 +--- a/src/batResult.mli ++++ b/src/batResult.mli +@@ -1,12 +1,12 @@ + (** Monadic results of computations that can raise exceptions *) + + (** The type of a result. A result is either [Ok x] carrying the +- normal return value [x] or is [Bad e] carrying some indication of an ++ normal return value [x] or is [Error e] carrying some indication of an + error. The value associated with a bad result is usually an exception + ([exn]) that can be raised. + @since 1.0 + *) +-type ('a, 'b) t = ('a, 'b) BatPervasives.result = Ok of 'a | Bad of 'b ++type ('a, 'b) t = ('a, 'b) result = Ok of 'a | Error of 'b + + (** Execute a function and catch any exception as a result. This + function encapsulates code that could throw an exception and returns +@@ -26,19 +26,19 @@ val catch2: ('a -> 'b -> 'c) -> 'a -> 'b -> ('c, exn) t + val catch3: ('a -> 'b -> 'c -> 'd) -> 'a -> 'b -> 'c -> ('d, exn) t + + +-(** [get (Ok x)] returns [x], and [get (Bad e)] raises [e]. This ++(** [get (Ok x)] returns [x], and [get (Error e)] raises [e]. This + function is, in a way, the opposite of the [catch] function + @since 2.0 + *) + val get : ('a, exn) t -> 'a + +-(** [default d r] evaluates to [d] if [r] is [Bad] else [x] when [r] is ++(** [default d r] evaluates to [d] if [r] is [Error] else [x] when [r] is + [Ok x] + @since 2.0 + *) + val default: 'a -> ('a, _) t -> 'a + +-(** [map_default d f r] evaluates to [d] if [r] is [Bad] else [f x] ++(** [map_default d f r] evaluates to [d] if [r] is [Error] else [f x] + when [r] is [Ok x] + @since 2.0 + *) +@@ -49,12 +49,12 @@ val map_default : 'b -> ('a -> 'b) -> ('a, _) t -> 'b + *) + val is_ok : ('a, 'b) t -> bool + +-(** [is_bad (Bad _)] is [true], otherwise [false] ++(** [is_bad (Error _)] is [true], otherwise [false] + @since 2.0 + *) + val is_bad : ('a, 'b) t -> bool + +-(** [is_exn e1 r] is [true] iff [r] is [Bad e2] with [e1=e2] *) ++(** [is_exn e1 r] is [true] iff [r] is [Error e2] with [e1=e2] *) + val is_exn : exn -> ('a, exn) t -> bool + + (** Convert an [option] to a [result] +@@ -96,5 +96,5 @@ module Infix : sig + val ( >>= ): ('a, 'b) t -> ('a -> ('c, 'b) t) -> ('c, 'b) t + end + +-(** Print a result as Ok(x) or Bad(exn) *) ++(** Print a result as Ok(x) or Error(exn) *) + val print : ('b BatInnerIO.output -> 'a -> unit) -> 'b BatInnerIO.output -> ('a, exn) t -> unit +diff --git a/src/batSys.mliv b/src/batSys.mliv +index 510a661..add0b33 100644 +--- a/src/batSys.mliv ++++ b/src/batSys.mliv +@@ -65,7 +65,8 @@ external getenv : string -> string = "caml_sys_getenv" + external command : string -> int = "caml_sys_system_command" + (** Execute the given shell command and return its exit code. *) + +-external time : unit -> float = "caml_sys_time" ++##V<4.3## external time : unit -> float = "caml_sys_time" ++##V>=4.3## external time : unit -> (float [@unboxed]) = "caml_sys_time" "caml_sys_time_unboxed" [@@noalloc] + (** Return the processor time, in seconds, used by the program + since the beginning of execution. *) + +diff --git a/src/batUnix.mliv b/src/batUnix.mliv +index 60a6ec4..069d63a 100644 +--- a/src/batUnix.mliv ++++ b/src/batUnix.mliv +@@ -766,7 +766,8 @@ val create_process_env : + (** {6 Symbolic links} *) + + +-val symlink : string -> string -> unit ++##V>=4.3##val symlink : ?to_dir:bool -> string -> string -> unit ++##V<4.3##val symlink : string -> string -> unit + (** [symlink source dest] creates the file [dest] as a symbolic link + to the file [source]. *) + diff --git a/dev-ml/batteries/files/oc43-2.patch b/dev-ml/batteries/files/oc43-2.patch new file mode 100644 index 000000000000..36d8e4143be2 --- /dev/null +++ b/dev-ml/batteries/files/oc43-2.patch @@ -0,0 +1,344 @@ +commit 905cbb6a3ebf1edc11745737feeedd36708149a7 +Author: KC Sivaramakrishnan +Date: Wed Mar 23 10:11:46 2016 +0000 + + Spacing edits + +diff --git a/src/batGc.mli b/src/batGc.mli +index ecffb79..494b9b1 100644 +--- a/src/batGc.mli ++++ b/src/batGc.mli +@@ -34,18 +34,18 @@ + type stat = Gc.stat = + { minor_words : float; + (** Number of words allocated in the minor heap since +- the program was started. This number is accurate in +- byte-code programs, but only an approximation in programs +- compiled to native code. *) ++ the program was started. This number is accurate in ++ byte-code programs, but only an approximation in programs ++ compiled to native code. *) + + promoted_words : float; + (** Number of words allocated in the minor heap that +- survived a minor collection and were moved to the major heap +- since the program was started. *) ++ survived a minor collection and were moved to the major heap ++ since the program was started. *) + + major_words : float; + (** Number of words allocated in the major heap, including +- the promoted words, since the program was started. *) ++ the promoted words, since the program was started. *) + + minor_collections : int; + (** Number of minor collections since the program was started. *) +@@ -62,7 +62,7 @@ type stat = Gc.stat = + + live_words : int; + (** Number of words of live data in the major heap, including the header +- words. *) ++ words. *) + + live_blocks : int; + (** Number of live blocks in the major heap. *) +@@ -78,8 +78,8 @@ type stat = Gc.stat = + + fragments : int; + (** Number of wasted words due to fragmentation. These are +- 1-words free blocks placed between two live blocks. They +- are not available for allocation. *) ++ 1-words free blocks placed between two live blocks. They ++ are not available for allocation. *) + + compactions : int; + (** Number of heap compactions since the program was started. *) +@@ -92,16 +92,16 @@ type stat = Gc.stat = + } + (** The memory management counters are returned in a [stat] record. + +- The total amount of memory allocated by the program since it was started +- is (in words) [minor_words + major_words - promoted_words]. Multiply by +- the word size (4 on a 32-bit machine, 8 on a 64-bit machine) to get +- the number of bytes. ++ The total amount of memory allocated by the program since it was started ++ is (in words) [minor_words + major_words - promoted_words]. Multiply by ++ the word size (4 on a 32-bit machine, 8 on a 64-bit machine) to get ++ the number of bytes. + *) + + type control = Gc.control = + { mutable minor_heap_size : int; + (** The size (in words) of the minor heap. Changing +- this parameter will trigger a minor collection. Default: 256k. *) ++ this parameter will trigger a minor collection. Default: 256k. *) + + mutable major_heap_increment : int; + (** How much to add to the major heap when increasing it. If this +@@ -112,45 +112,45 @@ type control = Gc.control = + + mutable space_overhead : int; + (** The major GC speed is computed from this parameter. +- This is the memory that will be "wasted" because the GC does not +- immediatly collect unreachable blocks. It is expressed as a +- percentage of the memory used for live data. +- The GC will work more (use more CPU time and collect +- blocks more eagerly) if [space_overhead] is smaller. +- Default: 80. *) ++ This is the memory that will be "wasted" because the GC does not ++ immediatly collect unreachable blocks. It is expressed as a ++ percentage of the memory used for live data. ++ The GC will work more (use more CPU time and collect ++ blocks more eagerly) if [space_overhead] is smaller. ++ Default: 80. *) + + mutable verbose : int; + (** This value controls the GC messages on standard error output. +- It is a sum of some of the following flags, to print messages +- on the corresponding events: +- - [0x001] Start of major GC cycle. +- - [0x002] Minor collection and major GC slice. +- - [0x004] Growing and shrinking of the heap. +- - [0x008] Resizing of stacks and memory manager tables. +- - [0x010] Heap compaction. +- - [0x020] Change of GC parameters. +- - [0x040] Computation of major GC slice size. +- - [0x080] Calling of finalisation functions. +- - [0x100] Bytecode executable and shared library search at start-up. +- - [0x200] Computation of compaction-triggering condition. +- - [0x400] Output GC statistics at program exit. +- Default: 0. *) ++ It is a sum of some of the following flags, to print messages ++ on the corresponding events: ++ - [0x001] Start of major GC cycle. ++ - [0x002] Minor collection and major GC slice. ++ - [0x004] Growing and shrinking of the heap. ++ - [0x008] Resizing of stacks and memory manager tables. ++ - [0x010] Heap compaction. ++ - [0x020] Change of GC parameters. ++ - [0x040] Computation of major GC slice size. ++ - [0x080] Calling of finalisation functions. ++ - [0x100] Bytecode executable and shared library search at start-up. ++ - [0x200] Computation of compaction-triggering condition. ++ - [0x400] Output GC statistics at program exit. ++ Default: 0. *) + + mutable max_overhead : int; + (** Heap compaction is triggered when the estimated amount +- of "wasted" memory is more than [max_overhead] percent of the +- amount of live data. If [max_overhead] is set to 0, heap +- compaction is triggered at the end of each major GC cycle +- (this setting is intended for testing purposes only). +- If [max_overhead >= 1000000], compaction is never triggered. +- If compaction is permanently disabled, it is strongly suggested +- to set [allocation_policy] to 1. +- Default: 500. *) ++ of "wasted" memory is more than [max_overhead] percent of the ++ amount of live data. If [max_overhead] is set to 0, heap ++ compaction is triggered at the end of each major GC cycle ++ (this setting is intended for testing purposes only). ++ If [max_overhead >= 1000000], compaction is never triggered. ++ If compaction is permanently disabled, it is strongly suggested ++ to set [allocation_policy] to 1. ++ Default: 500. *) + + mutable stack_limit : int; + (** The maximum size of the stack (in words). This is only +- relevant to the byte-code runtime, as the native code runtime +- uses the operating system's stack. Default: 1024k. *) ++ relevant to the byte-code runtime, as the native code runtime ++ uses the operating system's stack. Default: 1024k. *) + + mutable allocation_policy : int; + (** The policy used for allocating in the heap. Possible +@@ -173,8 +173,8 @@ type control = Gc.control = + + external stat : unit -> stat = "caml_gc_stat" + (** Return the current values of the memory management counters in a +- [stat] record. This function examines every heap block to get the +- statistics. *) ++ [stat] record. This function examines every heap block to get the ++ statistics. *) + + external quick_stat : unit -> stat = "caml_gc_quick_stat" + (** Same as [stat] except that [live_words], [live_blocks], [free_words], +@@ -191,7 +191,7 @@ external get : unit -> control = "caml_gc_get" + + external set : control -> unit = "caml_gc_set" + (** [set r] changes the GC parameters according to the [control] record [r]. +- The normal usage is: [Gc.set { (Gc.get()) with Gc.verbose = 0x00d }] *) ++ The normal usage is: [Gc.set { (Gc.get()) with Gc.verbose = 0x00d }] *) + + external minor : unit -> unit = "caml_gc_minor" + (** Trigger a minor collection. *) +@@ -210,21 +210,21 @@ external major : unit -> unit = "caml_gc_major" + + external full_major : unit -> unit = "caml_gc_full_major" + (** Do a minor collection, finish the current major collection cycle, +- and perform a complete new cycle. This will collect all currently +- unreachable blocks. *) ++ and perform a complete new cycle. This will collect all currently ++ unreachable blocks. *) + + external compact : unit -> unit = "caml_gc_compaction" + (** Perform a full major collection and compact the heap. Note that heap +- compaction is a lengthy operation. *) ++ compaction is a lengthy operation. *) + + val print_stat : _ BatInnerIO.output -> unit + (** Print the current values of the memory management counters (in +- human-readable form) into the channel argument. *) ++ human-readable form) into the channel argument. *) + + val allocated_bytes : unit -> float + (** Return the total number of bytes allocated since the program was +- started. It is returned as a [float] to avoid overflow problems +- with [int] on 32-bit machines. *) ++ started. It is returned as a [float] to avoid overflow problems ++ with [int] on 32-bit machines. *) + + external get_minor_free : unit -> int = "caml_get_minor_free" [@@noalloc] + (** Return the current size of the free space inside the minor heap. *) +@@ -247,63 +247,63 @@ external huge_fallback_count : unit -> int = "caml_gc_huge_fallback_count" + + val finalise : ('a -> unit) -> 'a -> unit + (** [finalise f v] registers [f] as a finalisation function for [v]. +- [v] must be heap-allocated. [f] will be called with [v] as +- argument at some point between the first time [v] becomes unreachable +- (including through weak pointers) and the time [v] is collected by +- the GC. Several functions can +- be registered for the same value, or even several instances of the +- same function. Each instance will be called once (or never, +- if the program terminates before [v] becomes unreachable). +- +- The GC will call the finalisation functions in the order of +- deallocation. When several values become unreachable at the +- same time (i.e. during the same GC cycle), the finalisation +- functions will be called in the reverse order of the corresponding +- calls to [finalise]. If [finalise] is called in the same order +- as the values are allocated, that means each value is finalised +- before the values it depends upon. Of course, this becomes +- false if additional dependencies are introduced by assignments. +- +- In the presence of multiple OCaml threads it should be assumed that +- any particular finaliser may be executed in any of the threads. +- +- Anything reachable from the closure of finalisation functions +- is considered reachable, so the following code will not work +- as expected: +- - [ let v = ... in Gc.finalise (fun _ -> ...v...) v ] +- +- Instead you should make sure that [v] is not in the closure of +- the finalisation function by writing: +- - [ let f = fun x -> ... ;; let v = ... in Gc.finalise f v ] +- +- +- The [f] function can use all features of OCaml, including +- assignments that make the value reachable again. It can also +- loop forever (in this case, the other +- finalisation functions will not be called during the execution of f, +- unless it calls [finalise_release]). +- It can call [finalise] on [v] or other values to register other +- functions or even itself. It can raise an exception; in this case +- the exception will interrupt whatever the program was doing when +- the function was called. +- +- +- [finalise] will raise [Invalid_argument] if [v] is not +- guaranteed to be heap-allocated. Some examples of values that are not +- heap-allocated are integers, constant constructors, booleans, +- the empty array, the empty list, the unit value. The exact list +- of what is heap-allocated or not is implementation-dependent. +- Some constant values can be heap-allocated but never deallocated +- during the lifetime of the program, for example a list of integer +- constants; this is also implementation-dependent. +- Note that values of types [float] and ['a lazy] (for any ['a]) are +- sometimes allocated and sometimes not, so finalising them is unsafe, +- and [finalise] will also raise [Invalid_argument] for them. +- +- +- The results of calling {!String.make}, {!Bytes.make}, {!Bytes.create}, +- {!Array.make}, and {!Pervasives.ref} are guaranteed to be +- heap-allocated and non-constant except when the length argument is [0]. ++ [v] must be heap-allocated. [f] will be called with [v] as ++ argument at some point between the first time [v] becomes unreachable ++ (including through weak pointers) and the time [v] is collected by ++ the GC. Several functions can ++ be registered for the same value, or even several instances of the ++ same function. Each instance will be called once (or never, ++ if the program terminates before [v] becomes unreachable). ++ ++ The GC will call the finalisation functions in the order of ++ deallocation. When several values become unreachable at the ++ same time (i.e. during the same GC cycle), the finalisation ++ functions will be called in the reverse order of the corresponding ++ calls to [finalise]. If [finalise] is called in the same order ++ as the values are allocated, that means each value is finalised ++ before the values it depends upon. Of course, this becomes ++ false if additional dependencies are introduced by assignments. ++ ++ In the presence of multiple OCaml threads it should be assumed that ++ any particular finaliser may be executed in any of the threads. ++ ++ Anything reachable from the closure of finalisation functions ++ is considered reachable, so the following code will not work ++ as expected: ++ - [ let v = ... in Gc.finalise (fun _ -> ...v...) v ] ++ ++ Instead you should make sure that [v] is not in the closure of ++ the finalisation function by writing: ++ - [ let f = fun x -> ... ;; let v = ... in Gc.finalise f v ] ++ ++ ++ The [f] function can use all features of OCaml, including ++ assignments that make the value reachable again. It can also ++ loop forever (in this case, the other ++ finalisation functions will not be called during the execution of f, ++ unless it calls [finalise_release]). ++ It can call [finalise] on [v] or other values to register other ++ functions or even itself. It can raise an exception; in this case ++ the exception will interrupt whatever the program was doing when ++ the function was called. ++ ++ ++ [finalise] will raise [Invalid_argument] if [v] is not ++ guaranteed to be heap-allocated. Some examples of values that are not ++ heap-allocated are integers, constant constructors, booleans, ++ the empty array, the empty list, the unit value. The exact list ++ of what is heap-allocated or not is implementation-dependent. ++ Some constant values can be heap-allocated but never deallocated ++ during the lifetime of the program, for example a list of integer ++ constants; this is also implementation-dependent. ++ Note that values of types [float] and ['a lazy] (for any ['a]) are ++ sometimes allocated and sometimes not, so finalising them is unsafe, ++ and [finalise] will also raise [Invalid_argument] for them. ++ ++ ++ The results of calling {!String.make}, {!Bytes.make}, {!Bytes.create}, ++ {!Array.make}, and {!Pervasives.ref} are guaranteed to be ++ heap-allocated and non-constant except when the length argument is [0]. + *) + + val finalise_release : unit -> unit +@@ -313,15 +313,15 @@ val finalise_release : unit -> unit + + type alarm = Gc.alarm + (** An alarm is a piece of data that calls a user function at the end of +- each major GC cycle. The following functions are provided to create +- and delete alarms. *) ++ each major GC cycle. The following functions are provided to create ++ and delete alarms. *) + + val create_alarm : (unit -> unit) -> alarm + (** [create_alarm f] will arrange for [f] to be called at the end of each +- major GC cycle, starting with the current cycle or the next one. +- A value of type [alarm] is returned that you can +- use to call [delete_alarm]. *) ++ major GC cycle, starting with the current cycle or the next one. ++ A value of type [alarm] is returned that you can ++ use to call [delete_alarm]. *) + + val delete_alarm : alarm -> unit + (** [delete_alarm a] will stop the calls to the function associated +- to [a]. Calling [delete_alarm a] again has no effect. *) ++ to [a]. Calling [delete_alarm a] again has no effect. *) diff --git a/dev-ml/batteries/files/oc43-3.patch b/dev-ml/batteries/files/oc43-3.patch new file mode 100644 index 000000000000..95fa8faeb328 --- /dev/null +++ b/dev-ml/batteries/files/oc43-3.patch @@ -0,0 +1,21 @@ +commit 39393f8fc2d7c60dc093e9ea836077598dfbe955 +Author: KC Sivaramakrishnan +Date: Wed Mar 23 11:23:26 2016 +0000 + + Fix make_float versioning + +diff --git a/src/batArray.mliv b/src/batArray.mliv +index 025887f..c6bfd02 100644 +--- a/src/batArray.mliv ++++ b/src/batArray.mliv +@@ -82,7 +82,9 @@ external make : int -> 'a -> 'a array = "caml_make_vect" + If the value of [x] is a floating-point number, then the maximum + size is only [Sys.max_array_length / 2].*) + +-val make_float : int -> float array ++##V>=4.3##val make_float : int -> float array ++##V=4.2##external make_float : int -> float array = "caml_make_float_vect" ++##V<4.2##val make_float : int -> float array + (** [Array.make_float n] returns a fresh float array of length [n], + with uninitialized data. + diff --git a/dev-ml/core/Manifest b/dev-ml/core/Manifest index 6c39ee5bb48a..817ede8550a2 100644 --- a/dev-ml/core/Manifest +++ b/dev-ml/core/Manifest @@ -2,3 +2,4 @@ DIST core-113.24.00.tar.gz 806394 SHA256 66ab36a4d7b78a4710f992c670777919ae329dc DIST core-113.24.01.tar.gz 806424 SHA256 16470035f9e21e8accdaa3286c3e353f60c485402323644fd231412fccf6d9c6 SHA512 8bfe45a1d0a1973ae7cd317fd6c71d2bb3a6170e432f735e6504586cd4d51b29dec972588478f4abdc7d20d6967ca58afa3ecb5a18871c807437bf8b73e063ec WHIRLPOOL 3bbc8c54140d6277885c37a525af1467ea1c30c7bc4d9dd55738432eca7e4460fed55c7499aad35a46cff324492b0797c40919f926856d6c9d5cc7fd7728705d DIST core-113.24.02.tar.gz 806413 SHA256 c5a4821df9719aa0a6b87b546730de445b698cc86b28046e7b5883cb65f02e29 SHA512 7f2f3e8524704ce7d29d55904f62cbf6c5b932275171b4b03709fcbdb98954cb2cab8427f06c7d6ee5ba396ac58e1077421162d96aa91b8e182f3e0f2d07cac4 WHIRLPOOL decd161a3aeb9573638c8cbec0c126d83f1a3f4eedc9fc06d53c02ff05eef18a7be781cfde05aac730c7683eed186f14f78cf1b80600843a1b3ffceec712604d DIST core-113.33.00.tar.gz 806877 SHA256 cca2511bb16ee5788daf42cdeec90c75698c07a995a0fde5c27373a7993c9a6b SHA512 5ee4e9d6dcc078a518d947d09fc6adfa7f79d299539e79d3b8e3b86c6b3c494144f42b755dfb04165e3af68058c87d6a567f7e94913575d9f371a21f63bdfc9e WHIRLPOOL 50719bf6f72e3ef6f9be477c24e5b9756793c69864c0540ae8508789f95833f0247ee77f86879b44f15ac19d075b25f9bc55e9e049ba51dd9606351dbe74b121 +DIST core-113.33.02.tar.gz 806999 SHA256 42f474e7c0b907bc3cd10defbc2de49547aa8c23bb86e39aa7abcc6ea1ff5c06 SHA512 da498c116dc4844455370c28b4cdab9f3dcc576a99f82ed7795cb7a8e65de01364f048588d4be6ca80b979f379d8bc4b4ab46eee17b557bdb75cac1e585badea WHIRLPOOL cb647f13482d4bef7b83fce35434acdeaa2c5df6ebf999b41ba2c8b5dc6754ddf4939d89239be79e120113570bfdd0e839feb7374d9e25457379bfdd1092a3c0 diff --git a/dev-ml/core/core-113.33.02.ebuild b/dev-ml/core/core-113.33.02.ebuild new file mode 100644 index 000000000000..80e1a0623ff4 --- /dev/null +++ b/dev-ml/core/core-113.33.02.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +OASIS_BUILD_DOCS=1 +OASIS_BUILD_TESTS=1 + +inherit eutils oasis + +MY_P=${P/_/\~} +DESCRIPTION="Jane Street's alternative to the standard library" +HOMEPAGE="http://www.janestreet.com/ocaml" +SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz" + +LICENSE="LGPL-2.1-with-linking-exception" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND=" + >=dev-ml/bin-prot-113.24.00:= + >=dev-ml/core_kernel-113.24.00:= + >=dev-ml/fieldslib-113.24.00:= + dev-ml/ppx_assert:= + dev-ml/ppx_bench:= + dev-ml/ppx_driver:= + dev-ml/ppx_expect:= + dev-ml/ppx_inline_test:= + dev-ml/ppx_jane:= + >=dev-ml/sexplib-113.24.00:= + dev-ml/typerep:= + dev-ml/variantslib:= +" +DEPEND="${RDEPEND}" + +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + +src_configure() { + emake setup.exe + OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure +} + +src_compile() { + emake +} + +src_install() { + opam-installer -i \ + --prefix="${ED}/usr" \ + --libdir="${D}/$(ocamlc -where)" \ + --docdir="${ED}/usr/share/doc/${PF}" \ + ${PN}.install || die + dodoc CHANGES.md README.md +} diff --git a/dev-ml/core/files/oc43.patch b/dev-ml/core/files/oc43.patch new file mode 100644 index 000000000000..5e44a4438209 --- /dev/null +++ b/dev-ml/core/files/oc43.patch @@ -0,0 +1,279 @@ +diff -uNr core-113.33.02/_oasis core-113.33.02+4.03/_oasis +--- core-113.33.02/_oasis 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/_oasis 2016-04-06 12:42:48.000000000 +0200 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: core +-Version: 113.33.02 ++Version: 113.33.02+4.03 + Synopsis: Industrial strength alternative to OCaml's standard library + Authors: Jane Street Group, LLC + Copyrights: (C) 2008-2016 Jane Street Group LLC +diff -uNr core-113.33.02/opam core-113.33.02+4.03/opam +--- core-113.33.02/opam 2016-04-06 11:12:24.000000000 +0200 ++++ core-113.33.02+4.03/opam 2016-04-06 12:54:27.000000000 +0200 +@@ -26,4 +26,4 @@ + "typerep" + "variantslib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr core-113.33.02/src/bigstring.ml core-113.33.02+4.03/src/bigstring.ml +--- core-113.33.02/src/bigstring.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/bigstring.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -29,7 +29,7 @@ + + let length = Array1.dim + +-external is_mmapped : t -> bool = "bigstring_is_mmapped_stub" "noalloc" ++external is_mmapped : t -> bool = "bigstring_is_mmapped_stub" [@@noalloc] + + let init n ~f = + let t = create n in +@@ -168,7 +168,7 @@ + + external unsafe_send_nonblocking_no_sigpipe + : file_descr -> pos : int -> len : int -> t -> Syscall_result.Int.t +- = "bigstring_send_nonblocking_no_sigpipe_stub" "noalloc" ++ = "bigstring_send_nonblocking_no_sigpipe_stub" [@@noalloc] + + let send_nonblocking_no_sigpipe fd ?(pos = 0) ?len bstr = + let len = get_opt_len bstr ~pos len in +diff -uNr core-113.33.02/src/core_sys.ml core-113.33.02+4.03/src/core_sys.ml +--- core-113.33.02/src/core_sys.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/core_sys.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -83,7 +83,7 @@ + *) + external executing_bytecode + : unit -> unit -> unit -> unit -> unit -> unit -> bool +- = "executing_bytecode" "not_executing_bytecode" "noalloc" ++ = "executing_bytecode" "not_executing_bytecode" [@@noalloc] + + let execution_mode () = + if executing_bytecode () () () () () () then `Bytecode else `Native +@@ -95,7 +95,7 @@ + + + (* returns size, in bits, of an [int] type in C *) +-external c_int_size : unit -> int = "c_int_size" "noalloc" ++external c_int_size : unit -> int = "c_int_size" [@@noalloc] + + let%test _ = let size = c_int_size () in size >= 16 && size <= Sys.word_size + +diff -uNr core-113.33.02/src/core_sys.mli core-113.33.02+4.03/src/core_sys.mli +--- core-113.33.02/src/core_sys.mli 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/core_sys.mli 2016-04-06 12:42:48.000000000 +0200 +@@ -134,7 +134,7 @@ + (** [c_int_size] returns the number of bits in a C [int]. Note that this can be + different from [word_size]. For example, Linux x86-64 should have + [word_size = 64], but [c_int_size () = 32] *) +-external c_int_size : unit -> int = "c_int_size" "noalloc" ++external c_int_size : unit -> int = "c_int_size" [@@noalloc] + + (** Return the home directory, using the [HOME] environment variable if that is defined, + and if not, using the effective user's information in the Unix password database. *) +diff -uNr core-113.33.02/src/core_unix.ml core-113.33.02+4.03/src/core_unix.ml +--- core-113.33.02/src/core_unix.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/core_unix.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -393,7 +393,7 @@ + + (* Signal handling *) + +-external abort : unit -> 'a = "unix_abort" "noalloc" ++external abort : unit -> 'a = "unix_abort" [@@noalloc] + + (* User id, group id management *) + +@@ -1160,6 +1160,11 @@ + (fun () -> [("src", atom src); ("dst", atom dst)]) + ;; + ++let src_dst' f ?to_dir ~src ~dst = ++ improve (fun () -> f ?to_dir ~src ~dst) ++ (fun () -> [("src", atom src); ("dst", atom dst)]) ++;; ++ + let unlink = unary_filename Unix.unlink + + let rename = src_dst Unix.rename +@@ -1554,7 +1559,7 @@ + Exit_or_signal.of_unix (Unix.close_process_full (c.C.stdout, c.C.stdin, c.C.stderr)) + ;; + +-let symlink = src_dst Unix.symlink ++let symlink = src_dst' Unix.symlink + let readlink = unary_filename Unix.readlink + + module Select_fds = struct +diff -uNr core-113.33.02/src/core_unix.mli core-113.33.02+4.03/src/core_unix.mli +--- core-113.33.02/src/core_unix.mli 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/core_unix.mli 2016-04-06 12:42:48.000000000 +0200 +@@ -910,7 +910,7 @@ + + (** [symlink source dest] creates the file [dest] as a symbolic link + to the file [source]. *) +-val symlink : src:string -> dst:string -> unit ++val symlink : ?to_dir:bool -> src:string -> dst:string -> unit + + (** Read the contents of a link. *) + val readlink : string -> string +@@ -2007,7 +2007,7 @@ + caught and the signal handler does not return. If the SIGABRT signal is + blocked or ignored, the abort() function will still override it. + *) +-external abort : unit -> _ = "unix_abort" "noalloc" ++external abort : unit -> _ = "unix_abort" [@@noalloc] + + (** {2 User id, group id} *) + +diff -uNr core-113.33.02/src/iobuf.ml core-113.33.02+4.03/src/iobuf.ml +--- core-113.33.02/src/iobuf.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/iobuf.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -1094,7 +1094,7 @@ + -> (read_write, seek) t array + -> Recvmmsg_context.ctx + -> Unix.Syscall_result.Int.t +- = "iobuf_recvmmsg_assume_fd_is_nonblocking_stub" "noalloc" ++ = "iobuf_recvmmsg_assume_fd_is_nonblocking_stub" [@@noalloc] + + let recvmmsg_assume_fd_is_nonblocking fd { Recvmmsg_context. iobufs; ctx; _ } = + unsafe_recvmmsg_assume_fd_is_nonblocking fd iobufs ctx +diff -uNr core-113.33.02/src/linux_ext.ml core-113.33.02+4.03/src/linux_ext.ml +--- core-113.33.02/src/linux_ext.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/linux_ext.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -320,7 +320,7 @@ + -> initial : Int63.t + -> interval : Int63.t + -> Syscall_result.Unit.t +- = "linux_timerfd_settime" "noalloc" ++ = "linux_timerfd_settime" [@@noalloc] + + let%test_unit "unsafe_timerfd_settime returning errno" = + let result = +@@ -683,13 +683,13 @@ + type ready_events = Bigstring.t + + external epoll_sizeof_epoll_event +- : unit -> int = "linux_epoll_sizeof_epoll_event" "noalloc" ++ : unit -> int = "linux_epoll_sizeof_epoll_event" [@@noalloc] + + external epoll_offsetof_readyfd +- : unit -> int = "linux_epoll_offsetof_readyfd" "noalloc" ++ : unit -> int = "linux_epoll_offsetof_readyfd" [@@noalloc] + + external epoll_offsetof_readyflags +- : unit -> int = "linux_epoll_offsetof_readyflags" "noalloc" ++ : unit -> int = "linux_epoll_offsetof_readyflags" [@@noalloc] + + let sizeof_epoll_event = epoll_sizeof_epoll_event () + let offsetof_readyfd = epoll_offsetof_readyfd () +diff -uNr core-113.33.02/src/syslog.ml core-113.33.02+4.03/src/syslog.ml +--- core-113.33.02/src/syslog.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/syslog.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -57,8 +57,8 @@ + + external core_syslog_openlog : string option -> int -> int -> unit = "core_syslog_openlog" + external core_syslog_syslog : int -> string -> unit = "core_syslog_syslog" +-external core_syslog_closelog : unit -> unit = "core_syslog_closelog" "noalloc" +-external core_syslog_setlogmask : int -> unit = "core_syslog_setlogmask" "noalloc" ++external core_syslog_closelog : unit -> unit = "core_syslog_closelog" [@@noalloc] ++external core_syslog_setlogmask : int -> unit = "core_syslog_setlogmask" [@@noalloc] + + let openlog ?id ?(options = []) ?(facility = Facility.USER) () = + core_syslog_openlog id (Open_option.mask options) (Facility.to_int facility) +diff -uNr core-113.33.02/src/time_stamp_counter.ml core-113.33.02+4.03/src/time_stamp_counter.ml +--- core-113.33.02/src/time_stamp_counter.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/time_stamp_counter.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -93,7 +93,7 @@ + #if JSC_ARCH_SIXTYFOUR + + (* noalloc on x86_64 only *) +-external now : unit -> tsc = "tsc_get" "noalloc" ++external now : unit -> tsc = "tsc_get" [@@noalloc] + + module Calibrator = struct + +diff -uNr core-113.33.02/src/time_stamp_counter.mli core-113.33.02+4.03/src/time_stamp_counter.mli +--- core-113.33.02/src/time_stamp_counter.mli 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/time_stamp_counter.mli 2016-04-06 12:42:48.000000000 +0200 +@@ -102,7 +102,7 @@ + end + + #if JSC_ARCH_SIXTYFOUR +-external now : unit -> t = "tsc_get" "noalloc" ++external now : unit -> t = "tsc_get" [@@noalloc] + #else + external now : unit -> t = "tsc_get" + #endif +diff -uNr core-113.33.02/src/unix_stubs.c core-113.33.02+4.03/src/unix_stubs.c +--- core-113.33.02/src/unix_stubs.c 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/src/unix_stubs.c 2016-04-06 12:42:48.000000000 +0200 +@@ -213,7 +213,7 @@ + of strings and fill it will strings contained in the string array + [arg]. Pointers stored in the result points directly inside the + OCaml heap. */ +-extern char **cstringvect(value arg); ++extern char **cstringvect(value arg, char* cmdname); + + /* Given v_prog, an O'Caml string value specifying a program name, + v_args, an O'Caml array specifying program arguments (not +@@ -378,7 +378,7 @@ + + /* We don't bother saving/restoring the environment or freeing the + new one since we exit the process in case of error. */ +- environ = cstringvect(v_env); ++ environ = cstringvect(v_env, "ml_create_process"); + + if (Is_block(v_working_dir)) + working_dir = String_val(Field(v_working_dir, 0)); +diff -uNr core-113.33.02/test/bigstring_test.ml core-113.33.02+4.03/test/bigstring_test.ml +--- core-113.33.02/test/bigstring_test.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/test/bigstring_test.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -169,7 +169,7 @@ + simple_conversion_test ~n:"single" "1"; + repeat 50 (simple_conversion_test ~n:"random") sg; + ); +- ++(* + "input" >:: + (fun () -> + fd_test really_read_test ~n:"single" (bs_of_s "X"); +@@ -178,6 +178,7 @@ + repeat 100 (fd_test really_read_test ~n:"random big") + (bsg ~size:(fun () -> 100 * png ())); + ); ++*) + + "destruction" >:: + (fun () -> +@@ -209,6 +210,7 @@ + blit_test ~n:"random" ~src_pos ~dst_pos ~len (s1,s2)) + (fun () -> (sg (), sg(),nng (), nng (), nng ())) + ); ++(* + "really write/read pipe" >:: + (fun () -> + let write_read_test = write_read_test Unix.pipe in +@@ -239,6 +241,7 @@ + repeat 500 (output_input_test ~n:"random big") + (bsg ~size:(fun () -> 100 * png ())); + ); ++*) + + "sub" >:: + (fun () -> +diff -uNr core-113.33.02/test/hashtbl/table_new_intf.ml core-113.33.02+4.03/test/hashtbl/table_new_intf.ml +--- core-113.33.02/test/hashtbl/table_new_intf.ml 2016-04-06 11:06:40.000000000 +0200 ++++ core-113.33.02+4.03/test/hashtbl/table_new_intf.ml 2016-04-06 12:42:48.000000000 +0200 +@@ -7,7 +7,7 @@ + compare: 'k -> 'k -> int; + } + +-external hash_param : int -> int -> 'a -> int = "caml_hash_univ_param" "noalloc" ++external hash_param : int -> int -> 'a -> int = "caml_hash_univ_param" [@@noalloc] + + let poly = { + hash = (fun z -> hash_param 10 100 z); diff --git a/dev-ml/core_kernel/core_kernel-113.33.01.ebuild b/dev-ml/core_kernel/core_kernel-113.33.01.ebuild index 777766790647..2f5da5d34f62 100644 --- a/dev-ml/core_kernel/core_kernel-113.33.01.ebuild +++ b/dev-ml/core_kernel/core_kernel-113.33.01.ebuild @@ -34,6 +34,10 @@ RDEPEND=" " DEPEND="${RDEPEND}" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/core_kernel/files/oc43.patch b/dev-ml/core_kernel/files/oc43.patch new file mode 100644 index 000000000000..da1ad5a36bf5 --- /dev/null +++ b/dev-ml/core_kernel/files/oc43.patch @@ -0,0 +1,581 @@ +diff -uNr core_kernel-113.33.01/check_caml_modify/caml_modify.ml core_kernel-113.33.01+4.03/check_caml_modify/caml_modify.ml +--- core_kernel-113.33.01/check_caml_modify/caml_modify.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/check_caml_modify/caml_modify.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -1,5 +1,5 @@ +-external count : unit -> int = "check_caml_modify_count" "noalloc" +-external reset : unit -> unit = "check_caml_modify_reset" "noalloc" ++external count : unit -> int = "check_caml_modify_count" [@@noalloc] ++external reset : unit -> unit = "check_caml_modify_reset" [@@noalloc] + + let%test_unit _ = + let x = Array.make (32 * 1024) [Random.int 10] in +diff -uNr core_kernel-113.33.01/check_caml_modify/caml_modify.mli core_kernel-113.33.01+4.03/check_caml_modify/caml_modify.mli +--- core_kernel-113.33.01/check_caml_modify/caml_modify.mli 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/check_caml_modify/caml_modify.mli 2016-03-22 15:15:54.000000000 +0100 +@@ -6,7 +6,7 @@ + + (** [count ()] returns the number of times [caml_modify] has been called since the last + call to {!reset}. *) +-external count : unit -> int = "check_caml_modify_count" "noalloc" ++external count : unit -> int = "check_caml_modify_count" [@@noalloc] + + (** [reset ()] reset the counter to [0]. *) +-external reset : unit -> unit = "check_caml_modify_reset" "noalloc" ++external reset : unit -> unit = "check_caml_modify_reset" [@@noalloc] +diff -uNr core_kernel-113.33.01/_oasis core_kernel-113.33.01+4.03/_oasis +--- core_kernel-113.33.01/_oasis 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/_oasis 2016-03-22 15:15:54.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: core_kernel +-Version: 113.33.01 ++Version: 113.33.01+4.03 + Synopsis: Industrial strength alternative to OCaml's standard library + Authors: Jane Street Group, LLC + Copyrights: (C) 2008-2016 Jane Street Group LLC +diff -uNr core_kernel-113.33.01/opam core_kernel-113.33.01+4.03/opam +--- core_kernel-113.33.01/opam 2016-03-22 11:43:53.000000000 +0100 ++++ core_kernel-113.33.01+4.03/opam 2016-03-22 17:51:34.000000000 +0100 +@@ -25,4 +25,4 @@ + "typerep" + "variantslib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr core_kernel-113.33.01/src/bigstring.ml core_kernel-113.33.01+4.03/src/bigstring.ml +--- core_kernel-113.33.01/src/bigstring.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/bigstring.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -16,6 +16,8 @@ + + external aux_create: max_mem_waiting_gc:int -> size:int -> t = "bigstring_alloc" + ++external test_allocation : unit -> 'a = "core_bigstring_test_allocation" ++ + let create ?max_mem_waiting_gc size = + let max_mem_waiting_gc = + match max_mem_waiting_gc with +@@ -35,6 +37,7 @@ + let max_mem_waiting_gc = Byte_units.create mem_units 256. in + for _ = 0 to large_int do + let (_ : t) = create ~max_mem_waiting_gc large_int in ++ ignore (test_allocation ()); (* ensure we allocate something *) + () + done; + Alarm.delete alarm; +@@ -48,7 +51,7 @@ + + let length = Array1.dim + +-external is_mmapped : t -> bool = "bigstring_is_mmapped_stub" "noalloc" ++external is_mmapped : t -> bool = "bigstring_is_mmapped_stub" [@@noalloc] + + let init n ~f = + let t = create n in +@@ -119,7 +122,7 @@ + (struct + external unsafe_blit + : src : string -> src_pos : int -> dst : t -> dst_pos : int -> len : int -> unit +- = "bigstring_blit_string_bigstring_stub" "noalloc" ++ = "bigstring_blit_string_bigstring_stub" [@@noalloc] + include Bigstring_sequence + end) + ;; +@@ -131,7 +134,7 @@ + (struct + external unsafe_blit + : src : t -> src_pos : int -> dst : string -> dst_pos : int -> len : int -> unit +- = "bigstring_blit_bigstring_string_stub" "noalloc" ++ = "bigstring_blit_bigstring_string_stub" [@@noalloc] + include String_sequence + end) + ;; +@@ -200,7 +203,7 @@ + + external unsafe_memcmp + : t1 : t -> t1_pos : int -> t2 : t -> t2_pos : int -> len : int -> int +- = "bigstring_memcmp_stub" "noalloc" ++ = "bigstring_memcmp_stub" [@@noalloc] + + let compare t1 t2 = + if phys_equal t1 t2 then 0 else +@@ -395,7 +398,7 @@ + + (* Search *) + +-external unsafe_find : t -> char -> pos:int -> len:int -> int = "bigstring_find" "noalloc" ++external unsafe_find : t -> char -> pos:int -> len:int -> int = "bigstring_find" [@@noalloc] + + let find ?(pos = 0) ?len chr bstr = + let len = get_opt_len bstr ~pos len in +diff -uNr core_kernel-113.33.01/src/bigstring.mli core_kernel-113.33.01+4.03/src/bigstring.mli +--- core_kernel-113.33.01/src/bigstring.mli 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/bigstring.mli 2016-03-22 15:15:54.000000000 +0100 +@@ -83,7 +83,7 @@ + (** [set t pos] sets the character at [pos] *) + external set : t -> int -> char -> unit = "%caml_ba_set_1" + +-external is_mmapped : t -> bool = "bigstring_is_mmapped_stub" "noalloc" ++external is_mmapped : t -> bool = "bigstring_is_mmapped_stub" [@@noalloc] + (** [is_mmapped bstr] @return whether the bigstring [bstr] is + memory-mapped. *) + +@@ -159,7 +159,7 @@ + + (** Same as [find], but does no bounds checking, and returns a negative value instead of + [None] if [char] is not found. *) +-external unsafe_find : t -> char -> pos:int -> len:int -> int = "bigstring_find" "noalloc" ++external unsafe_find : t -> char -> pos:int -> len:int -> int = "bigstring_find" [@@noalloc] + + + (** {6 Destruction} *) +diff -uNr core_kernel-113.33.01/src/bigstring_stubs.c core_kernel-113.33.01+4.03/src/bigstring_stubs.c +--- core_kernel-113.33.01/src/bigstring_stubs.c 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/bigstring_stubs.c 2016-03-22 15:15:54.000000000 +0100 +@@ -202,3 +202,14 @@ + core_bigstring_destroy(Caml_ba_array_val(v_bstr), 0); + return Val_unit; + } ++ ++CAMLprim value core_bigstring_test_allocation(value v_unit) ++{ ++ int i; ++ value v; ++ v_unit = v_unit; ++ for (i = 0; i < 20; i++) { ++ v = caml_alloc_small(100, 0); ++ } ++ return v; ++} +diff -uNr core_kernel-113.33.01/src/core_array.ml core_kernel-113.33.01+4.03/src/core_array.ml +--- core_kernel-113.33.01/src/core_array.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_array.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -937,7 +937,7 @@ + module Unsafe_blit = struct + external unsafe_blit + : src:t_ -> src_pos:int -> dst:t_ -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_int_blit" "noalloc" ++ = "core_array_unsafe_int_blit" [@@noalloc] + end + + include +@@ -966,7 +966,7 @@ + module Unsafe_blit = struct + external unsafe_blit + : src:t_ -> src_pos:int -> dst:t_ -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_float_blit" "noalloc" ++ = "core_array_unsafe_float_blit" [@@noalloc] + end + + include +@@ -1131,7 +1131,7 @@ + + external unsafe_blit + : src:[> read] t -> src_pos:int -> dst:[> write] t -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_int_blit" "noalloc" ++ = "core_array_unsafe_int_blit" [@@noalloc] + end + + module Float : sig +@@ -1141,7 +1141,7 @@ + + external unsafe_blit + : src:[> read] t -> src_pos:int -> dst:[> write] t -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_float_blit" "noalloc" ++ = "core_array_unsafe_float_blit" [@@noalloc] + end + + val of_array_id : 'a array -> ('a, [< read_write]) t +diff -uNr core_kernel-113.33.01/src/core_array.mli core_kernel-113.33.01+4.03/src/core_array.mli +--- core_kernel-113.33.01/src/core_array.mli 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_array.mli 2016-03-22 15:15:54.000000000 +0100 +@@ -97,7 +97,7 @@ + + external unsafe_blit + : src:t -> src_pos:int -> dst:t -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_int_blit" "noalloc" ++ = "core_array_unsafe_int_blit" [@@noalloc] + end + + module Float : sig +@@ -107,7 +107,7 @@ + + external unsafe_blit + : src:t -> src_pos:int -> dst:t -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_float_blit" "noalloc" ++ = "core_array_unsafe_float_blit" [@@noalloc] + end + + (** [Array.of_list l] returns a fresh array containing the elements of [l]. *) +@@ -332,7 +332,7 @@ + + external unsafe_blit + : src:[> read] t -> src_pos:int -> dst:[> write] t -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_int_blit" "noalloc" ++ = "core_array_unsafe_int_blit" [@@noalloc] + end + + module Float : sig +@@ -342,7 +342,7 @@ + + external unsafe_blit + : src:[> read] t -> src_pos:int -> dst:[> write] t -> dst_pos:int -> len:int -> unit +- = "core_array_unsafe_float_blit" "noalloc" ++ = "core_array_unsafe_float_blit" [@@noalloc] + end + + (** [of_array_id] and [to_array_id] return the same underlying array. On the other +diff -uNr core_kernel-113.33.01/src/core_gc.ml core_kernel-113.33.01+4.03/src/core_gc.ml +--- core_kernel-113.33.01/src/core_gc.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_gc.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -83,6 +83,7 @@ + the first-fit policy, which can be slower in some cases but can be better for + programs with fragmentation problems. Default: 0. *) + mutable allocation_policy : int; ++ window_size : int; + } [@@deriving compare, bin_io, sexp, fields] + end + +@@ -91,7 +92,8 @@ + end + + let tune ?logger ?minor_heap_size ?major_heap_increment ?space_overhead +- ?verbose ?max_overhead ?stack_limit ?allocation_policy () = ++ ?verbose ?max_overhead ?stack_limit ?allocation_policy ++ ?window_size () = + let module Field = Fieldslib.Field in + let old_control_params = get () in + let f opt to_string field = +@@ -113,6 +115,7 @@ + ~max_overhead: (f max_overhead string_of_int) + ~stack_limit: (f stack_limit string_of_int) + ~allocation_policy: (f allocation_policy string_of_int) ++ ~window_size: (f window_size string_of_int) + in + set new_control_params + ;; +@@ -141,14 +144,14 @@ + ;; + + external minor_words : unit -> int = "core_kernel_gc_minor_words" +-external major_words : unit -> int = "core_kernel_gc_major_words" "noalloc" +-external promoted_words : unit -> int = "core_kernel_gc_promoted_words" "noalloc" +-external minor_collections : unit -> int = "core_kernel_gc_minor_collections" "noalloc" +-external major_collections : unit -> int = "core_kernel_gc_major_collections" "noalloc" +-external heap_words : unit -> int = "core_kernel_gc_heap_words" "noalloc" +-external heap_chunks : unit -> int = "core_kernel_gc_heap_chunks" "noalloc" +-external compactions : unit -> int = "core_kernel_gc_compactions" "noalloc" +-external top_heap_words : unit -> int = "core_kernel_gc_top_heap_words" "noalloc" ++external major_words : unit -> int = "core_kernel_gc_major_words" [@@noalloc] ++external promoted_words : unit -> int = "core_kernel_gc_promoted_words" [@@noalloc] ++external minor_collections : unit -> int = "core_kernel_gc_minor_collections" [@@noalloc] ++external major_collections : unit -> int = "core_kernel_gc_major_collections" [@@noalloc] ++external heap_words : unit -> int = "core_kernel_gc_heap_words" [@@noalloc] ++external heap_chunks : unit -> int = "core_kernel_gc_heap_chunks" [@@noalloc] ++external compactions : unit -> int = "core_kernel_gc_compactions" [@@noalloc] ++external top_heap_words : unit -> int = "core_kernel_gc_top_heap_words" [@@noalloc] + + external major_plus_minor_words : unit -> int = "core_kernel_gc_major_plus_minor_words" + +diff -uNr core_kernel-113.33.01/src/core_gc.mli core_kernel-113.33.01+4.03/src/core_gc.mli +--- core_kernel-113.33.01/src/core_gc.mli 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_gc.mli 2016-03-22 15:15:54.000000000 +0100 +@@ -148,6 +148,7 @@ + first-fit policy, which can be slower in some cases but + can be better for programs with fragmentation problems. + Default: 0. *) ++ window_size : int; + } + [@@deriving bin_io, sexp, fields] + +@@ -185,21 +186,21 @@ + (%r15 on x86-64) to the global variable [caml_young_ptr] before the C stub tries to + read its value. *) + external minor_words : unit -> int = "core_kernel_gc_minor_words" +-external major_words : unit -> int = "core_kernel_gc_major_words" "noalloc" +-external promoted_words : unit -> int = "core_kernel_gc_promoted_words" "noalloc" +-external minor_collections : unit -> int = "core_kernel_gc_minor_collections" "noalloc" +-external major_collections : unit -> int = "core_kernel_gc_major_collections" "noalloc" +-external heap_words : unit -> int = "core_kernel_gc_heap_words" "noalloc" +-external heap_chunks : unit -> int = "core_kernel_gc_heap_chunks" "noalloc" +-external compactions : unit -> int = "core_kernel_gc_compactions" "noalloc" +-external top_heap_words : unit -> int = "core_kernel_gc_top_heap_words" "noalloc" ++external major_words : unit -> int = "core_kernel_gc_major_words" [@@noalloc] ++external promoted_words : unit -> int = "core_kernel_gc_promoted_words" [@@noalloc] ++external minor_collections : unit -> int = "core_kernel_gc_minor_collections" [@@noalloc] ++external major_collections : unit -> int = "core_kernel_gc_major_collections" [@@noalloc] ++external heap_words : unit -> int = "core_kernel_gc_heap_words" [@@noalloc] ++external heap_chunks : unit -> int = "core_kernel_gc_heap_chunks" [@@noalloc] ++external compactions : unit -> int = "core_kernel_gc_compactions" [@@noalloc] ++external top_heap_words : unit -> int = "core_kernel_gc_top_heap_words" [@@noalloc] + + (** This function returns [major_words () + minor_words ()]. It exists purely for speed + (one call into C rather than two). Like [major_words] and [minor_words], + [major_plus_minor_words] avoids allocating a [stat] record or a float, and may + overflow on 32-bit machines. + +- This function is not marked ["noalloc"] to ensure that the allocation pointer is ++ This function is not marked [[@@noalloc]] to ensure that the allocation pointer is + up-to-date when the minor-heap measurement is made. + *) + external major_plus_minor_words : unit -> int = "core_kernel_gc_major_plus_minor_words" +@@ -256,6 +257,7 @@ + -> ?max_overhead : int + -> ?stack_limit : int + -> ?allocation_policy : int ++ -> ?window_size : int + -> unit + -> unit + +diff -uNr core_kernel-113.33.01/src/core_gc_stubs.c core_kernel-113.33.01+4.03/src/core_gc_stubs.c +--- core_kernel-113.33.01/src/core_gc_stubs.c 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_gc_stubs.c 2016-03-22 15:15:54.000000000 +0100 +@@ -11,8 +11,8 @@ + + extern intnat caml_stat_minor_collections; + extern intnat caml_stat_major_collections; +-extern intnat caml_stat_heap_size; +-extern intnat caml_stat_top_heap_size; ++extern intnat caml_stat_heap_wsz; ++extern intnat caml_stat_top_heap_wsz; + extern intnat caml_stat_compactions; + extern intnat caml_stat_heap_chunks; + +@@ -54,7 +54,7 @@ + + CAMLprim value core_kernel_gc_heap_words(value unit __attribute__((unused))) + { +- return Val_long(caml_stat_heap_size / sizeof (value)); ++ return Val_long(caml_stat_heap_wsz); + } + + CAMLprim value core_kernel_gc_heap_chunks(value unit __attribute__((unused))) +@@ -69,7 +69,7 @@ + + CAMLprim value core_kernel_gc_top_heap_words(value unit __attribute__((unused))) + { +- return Val_long(caml_stat_top_heap_size / sizeof (value)); ++ return Val_long(caml_stat_top_heap_wsz); + } + + CAMLprim value core_kernel_gc_major_plus_minor_words(value unit __attribute__((unused))) +diff -uNr core_kernel-113.33.01/src/core_pervasives.mli core_kernel-113.33.01+4.03/src/core_pervasives.mli +--- core_kernel-113.33.01/src/core_pervasives.mli 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_pervasives.mli 2016-03-22 15:15:54.000000000 +0100 +@@ -417,8 +417,8 @@ + zero. When [f] is non-zero, they are defined by + [f = x *. 2 ** n] and [0.5 <= x < 1.0]. *) + +-external ldexp : float -> int -> float = "caml_ldexp_float" +- [@@deprecated "[since 2014-10] Use [Float]"] ++external ldexp : (float [@unboxed]) -> (int [@untagged]) -> (float [@unboxed]) = ++ "caml_ldexp_float" "caml_ldexp_float_unboxed" [@@noalloc] + (** [ldexp x n] returns [x *. 2 ** n]. *) + + external modf : float -> float * float = "caml_modf_float" +@@ -480,7 +480,8 @@ + (** The five classes of floating-point numbers, as determined by + the {!Pervasives.classify_float} function. *) + +-external classify_float : float -> fpclass = "caml_classify_float" ++external classify_float : (float [@unboxed]) -> fpclass = ++ "caml_classify_float" "caml_classify_float_unboxed" [@@noalloc] + [@@deprecated "[since 2014-10] Use [Float]"] + (** Return the class of the given floating-point number: + normal, subnormal, zero, infinite, or not a number. *) +@@ -953,6 +954,10 @@ + Equivalent to [fun r -> r := pred !r]. *) + + ++(* Result type *) ++ ++type ('a,'b) result = ('a, 'b) Pervasives.result = Ok of 'a | Error of 'b ++ + (** {6 Operations on format strings} *) + + (** Format strings are character strings with special lexical conventions +@@ -1054,7 +1059,6 @@ + [f1], then results from [f2]. + *) + +- + (** {6 Program termination} *) + + val exit : int -> 'a +diff -uNr core_kernel-113.33.01/src/core_string.ml core_kernel-113.33.01+4.03/src/core_string.ml +--- core_kernel-113.33.01/src/core_string.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_string.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -949,7 +949,7 @@ + divergence is to expose the macro redefined in hash_stubs.c in the hash.h header of + the OCaml compiler.) *) + module Hash = struct +- external hash : string -> int = "caml_hash_string" "noalloc" ++ external hash : string -> int = "caml_hash_string" [@@noalloc] + + let%test_unit _ = + List.iter ~f:(fun string -> assert (hash string = Caml.Hashtbl.hash string)) +diff -uNr core_kernel-113.33.01/src/core_string.mli core_kernel-113.33.01+4.03/src/core_string.mli +--- core_kernel-113.33.01/src/core_string.mli 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/core_string.mli 2016-03-22 15:15:54.000000000 +0100 +@@ -269,7 +269,7 @@ + val concat_array : ?sep : t -> t array -> t + + (** slightly faster hash function on strings *) +-external hash : t -> int = "caml_hash_string" "noalloc" ++external hash : t -> int = "caml_hash_string" [@@noalloc] + + (** fast equality function on strings, doesn't use compare_val *) + val equal : t -> t -> bool +diff -uNr core_kernel-113.33.01/src/exn.ml core_kernel-113.33.01+4.03/src/exn.ml +--- core_kernel-113.33.01/src/exn.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/exn.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -112,7 +112,8 @@ + try func () with + | exn -> raise (Reraised (str, exn)) + +-external clear_backtrace : unit -> unit = "clear_caml_backtrace_pos" "noalloc" ++external clear_backtrace : unit -> unit = "clear_caml_backtrace_pos" [@@noalloc] ++ + let raise_without_backtrace e = + (* We clear the backtrace to reduce confusion, so that people don't think whatever + is stored corresponds to this raise. *) +diff -uNr core_kernel-113.33.01/src/float.ml core_kernel-113.33.01+4.03/src/float.ml +--- core_kernel-113.33.01/src/float.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/float.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -15,7 +15,7 @@ + type t = float [@@deriving sexp, bin_io, typerep] + let compare (x : t) y = compare x y + let equal (x : t) y = x = y +- external hash : float -> int = "caml_hash_double" "noalloc" ++ external hash : float -> int = "caml_hash_double" [@@noalloc] + + let%test_unit _ = + List.iter ~f:(fun float -> assert (hash float = Caml.Hashtbl.hash float)) +@@ -381,6 +381,7 @@ + else + invalid_argf "Float.iround_up_exn: argument (%f) is too small or NaN" (box t) () + end ++[@@ocaml.inline always] + + let iround_down t = + if t >= 0.0 then begin +@@ -409,6 +410,7 @@ + else + invalid_argf "Float.iround_down_exn: argument (%f) is too small or NaN" (box t) () + end ++[@@ocaml.inline always] + + let iround_towards_zero t = + if t >= iround_lbound && t <= iround_ubound then +@@ -481,6 +483,7 @@ + else + invalid_argf "Float.iround_nearest_exn: argument (%f) is too small or NaN" (box t) + () ++[@@ocaml.inline always] + + (* The following [iround_exn] and [iround] functions are slower than the ones above. + Their equivalence to those functions is tested in the unit tests below. *) +diff -uNr core_kernel-113.33.01/src/heap_block.ml core_kernel-113.33.01+4.03/src/heap_block.ml +--- core_kernel-113.33.01/src/heap_block.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/heap_block.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -1,6 +1,6 @@ + type 'a t = 'a [@@deriving sexp_of] + +-external is_heap_block : Obj.t -> bool = "core_heap_block_is_heap_block" "noalloc" ++external is_heap_block : Obj.t -> bool = "core_heap_block_is_heap_block" [@@noalloc] + + let is_ok v = is_heap_block (Obj.repr v) + +diff -uNr core_kernel-113.33.01/src/int_math.ml core_kernel-113.33.01+4.03/src/int_math.ml +--- core_kernel-113.33.01/src/int_math.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/int_math.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -8,7 +8,7 @@ + Core_printf.invalid_argf "integer overflow in pow" () + + (* To implement [int64_pow], we use C code rather than OCaml to eliminate allocation. *) +-external int_math_int_pow : int -> int -> int = "int_math_int_pow_stub" "noalloc" ++external int_math_int_pow : int -> int -> int = "int_math_int_pow_stub" [@@noalloc] + external int_math_int64_pow : int64 -> int64 -> int64 = "int_math_int64_pow_stub" + + let int_pow base exponent = +diff -uNr core_kernel-113.33.01/src/META core_kernel-113.33.01+4.03/src/META +--- core_kernel-113.33.01/src/META 2016-03-22 11:43:53.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/META 2016-03-22 17:51:34.000000000 +0100 +@@ -1,6 +1,6 @@ + # OASIS_START +-# DO NOT EDIT (digest: decb3f50ccea06803a171b5aba7b36dd) +-version = "113.33.01" ++# DO NOT EDIT (digest: f5e86cbda47f50180165621f5cbe2d8d) ++version = "113.33.01+4.03" + description = "Industrial strength alternative to OCaml's standard library" + requires = + "bin_prot fieldslib num ppx_assert.runtime-lib ppx_bench.runtime-lib ppx_expect.collector ppx_inline_test.runtime-lib result sexplib typerep variantslib" +diff -uNr core_kernel-113.33.01/src/obj_array.ml core_kernel-113.33.01+4.03/src/obj_array.ml +--- core_kernel-113.33.01/src/obj_array.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/obj_array.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -33,16 +33,22 @@ + + let empty = [||] + ++type not_a_float = Not_a_float_0 | Not_a_float_1 of int ++let _not_a_float_0 = Not_a_float_0 ++let _not_a_float_1 = Not_a_float_1 42 ++ + let get t i = +- (* Make the compiler believe [a] is an integer array so it does not check if [a] is +- tagged with [Double_array_tag]. *) +- Obj.repr (Array.get (Obj.magic (t : t) : int array) i : int) ++ (* Make the compiler believe [a] is an array not containing floats so it does not ++ check if [a] is tagged with [Double_array_tag]. It is NOT ok to use "int array" ++ since (if this function is inlined and the array contains in-heap boxed values) ++ wrong register typing may result, leading to a failure to register necessary ++ GC roots. *) ++ Obj.repr (Array.get (Obj.magic (t : t) : not_a_float array) i : not_a_float) + ;; + + let unsafe_get t i = +- (* Make the compiler believe [a] is an integer array so it does not check if [a] is +- tagged with [Double_array_tag]. *) +- Obj.repr (Array.unsafe_get (Obj.magic (t : t) : int array) i : int) ++ (* See comment on [get]. *) ++ Obj.repr (Array.unsafe_get (Obj.magic (t : t) : not_a_float array) i : not_a_float) + ;; + + (* For [set] and [unsafe_set], if a pointer is involved, we first do a physical-equality +diff -uNr core_kernel-113.33.01/src/time_ns.ml core_kernel-113.33.01+4.03/src/time_ns.ml +--- core_kernel-113.33.01/src/time_ns.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/time_ns.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -419,7 +419,7 @@ + + #if JSC_ARCH_SIXTYFOUR + external since_unix_epoch_or_zero : unit -> t +- = "core_kernel_time_ns_gettime_or_zero" "noalloc" ++ = "core_kernel_time_ns_gettime_or_zero" [@@noalloc] + #else + external since_unix_epoch_or_zero : unit -> t + = "core_kernel_time_ns_gettime_or_zero" +diff -uNr core_kernel-113.33.01/src/type_equal.ml core_kernel-113.33.01+4.03/src/type_equal.ml +--- core_kernel-113.33.01/src/type_equal.ml 2016-03-22 11:37:07.000000000 +0100 ++++ core_kernel-113.33.01+4.03/src/type_equal.ml 2016-03-22 15:15:54.000000000 +0100 +@@ -64,7 +64,8 @@ + type _ t = .. + + let sexp_of_t _sexp_of_a t = +- (`type_witness (Obj.extension_id t)) |> [%sexp_of: [ `type_witness of int ]] ++ (`type_witness (Obj.extension_id (Obj.extension_constructor t))) ++ |> [%sexp_of: [ `type_witness of int ]] + ;; + end + +@@ -87,7 +88,8 @@ + (module M : S with type t = t) + ;; + +- let uid (type a) (module M : S with type t = a) = Obj.extension_id M.Key ++ let uid (type a) (module M : S with type t = a) = ++ Obj.extension_id (Obj.extension_constructor M.Key) + + (* We want a constant allocated once that [same] can return whenever it gets the same + witnesses. If we write the constant inside the body of [same], the native-code diff --git a/dev-ml/deriving/deriving-0.7.ebuild b/dev-ml/deriving/deriving-0.7.ebuild index 9ce44589d7a7..a37c6ee105cc 100644 --- a/dev-ml/deriving/deriving-0.7.ebuild +++ b/dev-ml/deriving/deriving-0.7.ebuild @@ -29,6 +29,7 @@ DEPEND="${RDEPEND} DOCS=( CHANGES README.md ) oasis_configure_opts="--enable-tc" OASIS_SETUP_COMMAND="./setup.exe" +PATCHES=( "${FILESDIR}/oc43.patch" ) src_configure() { emake setup.exe diff --git a/dev-ml/deriving/files/oc43.patch b/dev-ml/deriving/files/oc43.patch new file mode 100644 index 000000000000..036934316f58 --- /dev/null +++ b/dev-ml/deriving/files/oc43.patch @@ -0,0 +1,24 @@ +commit 926305bb6fc95494064e75ceafc6443b62d3773b +Author: Vasilis Papavasileiou +Date: Tue Mar 29 15:42:38 2016 +0200 + + Fix DELETE_RULE for 4.03 (nonrec flag) + +diff --git a/syntax/std/pa_deriving_std.ml b/syntax/std/pa_deriving_std.ml +index 1ec000c..dde8d9e 100644 +--- a/syntax/std/pa_deriving_std.ml ++++ b/syntax/std/pa_deriving_std.ml +@@ -18,8 +18,13 @@ struct + open Camlp4.PreCast + include Syntax + ++#if ocaml_version >= (4, 03) ++ DELETE_RULE Gram str_item: "type"; opt_nonrec; type_declaration END ++ DELETE_RULE Gram sig_item: "type"; opt_nonrec; type_declaration END ++#else + DELETE_RULE Gram str_item: "type"; type_declaration END + DELETE_RULE Gram sig_item: "type"; type_declaration END ++#endif + + open Ast + diff --git a/dev-ml/dose3/dose3-4.3.ebuild b/dev-ml/dose3/dose3-4.3.ebuild index 4b279d4fcb3b..b1e79b0606cb 100644 --- a/dev-ml/dose3/dose3-4.3.ebuild +++ b/dev-ml/dose3/dose3-4.3.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://gforge.inria.fr/frs/download.php/file/35797/${P}.tar.gz" LICENSE="LGPL-3" SLOT="0/${PV}" KEYWORDS="~amd64" -IUSE="+ocamlopt +parmap zip bzip2 xml curl rpm4 test" +IUSE="+ocamlopt parmap zip bzip2 xml curl rpm4 test" RDEPEND=" >=dev-lang/ocaml-3.12:=[ocamlopt?] diff --git a/dev-ml/js-build-tools/Manifest b/dev-ml/js-build-tools/Manifest new file mode 100644 index 000000000000..d232eb3a0ae6 --- /dev/null +++ b/dev-ml/js-build-tools/Manifest @@ -0,0 +1 @@ +DIST js-build-tools-113.33.03.tar.gz 52884 SHA256 eb3e7a444bde32c20d910be4da774200f12dd01b157533de903409c3d0cb013a SHA512 4c5c6a7d98977900e130607fc2ce2aee683a0f73f2bc559078aaf0df35815d670be55bb429892238ba3d10f655d300d031b3b1d20a0717426c15292e5aeebf66 WHIRLPOOL f8e8e0d053d36681f69a587a6dfc011c7c559069a8b73eec7567777e10c1f41b8c98102f991ea74799e27340b8f72b8ac9c25ed3488c40ca2953517a8e10e5aa diff --git a/dev-ml/js-build-tools/js-build-tools-113.33.03.ebuild b/dev-ml/js-build-tools/js-build-tools-113.33.03.ebuild new file mode 100644 index 000000000000..deec719b6b8f --- /dev/null +++ b/dev-ml/js-build-tools/js-build-tools-113.33.03.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +OASIS_BUILD_DOCS=1 +OASIS_BUILD_TESTS=1 + +inherit oasis + +DESCRIPTION="Collection of tools to help building Jane Street Packages" +HOMEPAGE="https://github.com/janestreet/js-build-tools" +SRC_URI="http://ocaml.janestreet.com/ocaml-core/${PV%.*}/files/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND="" +DEPEND="${RDEPEND} dev-ml/opam" + +src_configure() { + emake setup.exe + OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure +} + +src_compile() { + emake +} + +src_install() { + opam-installer -i \ + --prefix="${ED}/usr" \ + --libdir="${D}/$(ocamlc -where)" \ + --docdir="${ED}/usr/share/doc/${PF}" \ + ${PN}.install || die + dodoc README.md +} diff --git a/dev-ml/js-build-tools/metadata.xml b/dev-ml/js-build-tools/metadata.xml new file mode 100644 index 000000000000..91d86fdbaf9e --- /dev/null +++ b/dev-ml/js-build-tools/metadata.xml @@ -0,0 +1,11 @@ + + + + + ml@gentoo.org + Gentoo ML Project + + + yminsky/ocaml-core + + diff --git a/dev-ml/js_of_ocaml/files/oc43.patch b/dev-ml/js_of_ocaml/files/oc43.patch new file mode 100644 index 000000000000..face8101603f --- /dev/null +++ b/dev-ml/js_of_ocaml/files/oc43.patch @@ -0,0 +1,1418 @@ +commit 3e4d39ece5a67bfc17f47c3da8a95ccca789abd5 +Author: Hugo Heuzard +Date: Mon Mar 28 23:35:47 2016 +0100 + + Deriving_json for ocaml 4.03 + + move + +diff --git a/.gitignore b/.gitignore +index 71e4ccf..ccbb796 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -58,6 +58,7 @@ benchmarks/results + benchmarks/config + lib/deriving_json/deriving_Json_lexer.ml + lib/ppx/ppx_js.ml ++lib/ppx/ppx_deriving_json.ml + lib/ppx/ppx_js + Makefile.local + +diff --git a/lib/ppx/ppx_deriving_json.cppo.ml b/lib/ppx/ppx_deriving_json.cppo.ml +new file mode 100644 +index 0000000..814ed99 +--- /dev/null ++++ b/lib/ppx/ppx_deriving_json.cppo.ml +@@ -0,0 +1,711 @@ ++(* Js_of_ocaml ++ * http://www.ocsigen.org ++ * Copyright Vasilis Papavasileiou 2015 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU Lesser General Public License as published by ++ * the Free Software Foundation, with linking exception; ++ * either version 2.1 of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ *) ++ ++let deriver = "json" ++ ++(* Copied (and adapted) this from ppx_deriving repo (commit ++ e2079fa8f3460055bf990461f295c6c4b391fafc) ; we get an empty set of ++ let bindings with ppx_deriving 3.0 *) ++let sanitize expr = [%expr ++ (let open! Ppx_deriving_runtime in [%e expr]) [@ocaml.warning "-A"]] ++ ++let var_ptuple l = ++ List.map Ast_convenience.pvar l |> Ast_helper.Pat.tuple ++ ++let map_loc f {Location.txt; loc} = ++ {Location.txt = f txt; loc} ++ ++let suffix_lid {Location.txt; loc} ~suffix = ++ let txt = Ppx_deriving.mangle_lid (`Suffix suffix) txt in ++ Ast_helper.Exp.ident {txt; loc} ~loc ++ ++let suffix_decl ({Parsetree.ptype_loc = loc} as d) ~suffix = ++ (let s = ++ Ppx_deriving.mangle_type_decl (`Suffix suffix) d |> ++ Longident.parse ++ in ++ Location.mkloc s loc) |> Ast_helper.Exp.ident ~loc ++ ++let suffix_decl_p ({Parsetree.ptype_loc = loc} as d) ~suffix = ++ (let s = Ppx_deriving.mangle_type_decl (`Suffix suffix) d in ++ Location.mkloc s loc) |> Ast_helper.Pat.var ~loc ++ ++let rec fresh_vars ?(acc = []) n = ++ if n <= 0 then ++ List.rev acc ++ else ++ let acc = Ppx_deriving.fresh_var acc :: acc in ++ fresh_vars ~acc (n - 1) ++ ++let unreachable_case () = ++ Ast_helper.Exp.case [%pat? _ ] [%expr assert false] ++ ++let label_of_constructor = map_loc (fun c -> Longident.Lident c) ++ ++let wrap_write r ~pattern = [%expr fun buf [%p pattern] -> [%e r]] ++ ++let buf_expand r = [%expr fun buf -> [%e r]] ++ ++let seqlist = function ++ | h :: l -> ++ let f acc e = [%expr [%e acc]; [%e e]] in ++ List.fold_left f h l ++ | [] -> ++ [%expr ()] ++ ++let check_record_fields = ++ List.iter @@ function ++ | {Parsetree.pld_mutable = Mutable} -> ++ Location.raise_errorf ++ "%s cannot be derived for mutable records" deriver ++ | {pld_type = {ptyp_desc = Ptyp_poly _}} -> ++ Location.raise_errorf ++ "%s cannot be derived for polymorphic records" deriver ++ | _ -> ++ () ++ ++let maybe_tuple_type = function ++ | [y] -> y ++ | l -> Ast_helper.Typ.tuple l ++ ++let rec write_tuple_contents l ly ~tag ~poly = ++ let e = ++ let f v y = ++ let arg = Ast_convenience.evar v in ++ let e = write_body_of_type y ~arg ~poly in ++ [%expr Buffer.add_string buf ","; [%e e]] ++ in ++ List.map2 f l ly |> seqlist ++ and s = Ast_convenience.str ("[" ^ string_of_int tag) in [%expr ++ Buffer.add_string buf [%e s]; ++ [%e e]; ++ Buffer.add_string buf "]"] ++ ++and write_body_of_tuple_type l ~arg ~poly ~tag = ++ let n = List.length l in ++ let vars = fresh_vars n in ++ let e = write_tuple_contents vars l ~tag ~poly ++ and p = var_ptuple vars in ++ [%expr let [%p p] = [%e arg] in [%e e]] ++ ++and write_poly_case r ~arg ~poly = ++ match r with ++ | Parsetree.Rtag (label, _, _, l) -> ++ let i = Ppx_deriving.hash_variant label ++ and n = List.length l in ++ let v = Ppx_deriving.fresh_var [] in ++ let lhs = ++ (if n = 0 then None else Some (Ast_convenience.pvar v)) |> ++ Ast_helper.Pat.variant label ++ and rhs = ++ match l with ++ | [] -> ++ let e = Ast_convenience.int i in ++ [%expr Deriving_Json.Json_int.write buf [%e e]] ++ | _ -> ++ let l = [[%type: int]; maybe_tuple_type l] ++ and arg = Ast_helper.Exp.tuple Ast_convenience.[int i; evar v] in ++ write_body_of_tuple_type l ~arg ~poly ~tag:0 ++ in ++ Ast_helper.Exp.case lhs rhs ++ | Rinherit ({ptyp_desc = Ptyp_constr (lid, _)} as y) -> ++ Ast_helper.Exp.case (Ast_helper.Pat.type_ lid) ++ (write_body_of_type y ~arg ~poly) ++ | Rinherit {ptyp_loc} -> ++ Location.raise_errorf ~loc:ptyp_loc ++ "%s write case cannot be derived" deriver ++ ++and write_body_of_type y ~arg ~poly = ++ match y with ++ | [%type: unit] -> ++ [%expr Deriving_Json.Json_unit.write buf [%e arg]] ++ | [%type: int] -> ++ [%expr Deriving_Json.Json_int.write buf [%e arg]] ++ | [%type: int32] | [%type: Int32.t] -> ++ [%expr Deriving_Json.Json_int32.write buf [%e arg]] ++ | [%type: int64] | [%type: Int64.t] -> ++ [%expr Deriving_Json.Json_int64.write buf [%e arg]] ++ | [%type: nativeint] | [%type: Nativeint.t] -> ++ [%expr Deriving_Json.Json_nativeint.write buf [%e arg]] ++ | [%type: float] -> ++ [%expr Deriving_Json.Json_float.write buf [%e arg]] ++ | [%type: bool] -> ++ [%expr Deriving_Json.Json_bool.write buf [%e arg]] ++ | [%type: char] -> ++ [%expr Deriving_Json.Json_char.write buf [%e arg]] ++ | [%type: string] -> ++ [%expr Deriving_Json.Json_string.write buf [%e arg]] ++ | [%type: bytes] -> ++ [%expr Deriving_Json.Json_bytes.write buf [%e arg]] ++ | [%type: [%t? y] list] -> ++ let e = write_of_type y ~poly in ++ [%expr Deriving_Json.write_list [%e e] buf [%e arg]] ++ | [%type: [%t? y] ref] -> ++ let e = write_of_type y ~poly in ++ [%expr Deriving_Json.write_ref [%e e] buf [%e arg]] ++ | [%type: [%t? y] option] -> ++ let e = write_of_type y ~poly in ++ [%expr Deriving_Json.write_option [%e e] buf [%e arg]] ++ | [%type: [%t? y] array] -> ++ let e = write_of_type y ~poly in ++ [%expr Deriving_Json.write_array [%e e] buf [%e arg]] ++ | { Parsetree.ptyp_desc = Ptyp_var v } when poly -> ++ [%expr [%e Ast_convenience.evar ("poly_" ^ v)] buf [%e arg]] ++ | { Parsetree.ptyp_desc = Ptyp_tuple l } -> ++ write_body_of_tuple_type l ~arg ~poly ~tag:0 ++ | { Parsetree.ptyp_desc = Ptyp_variant (l, _, _); ptyp_loc = loc } -> ++ List.map (write_poly_case ~arg ~poly) l @ [unreachable_case ()] |> ++ Ast_helper.Exp.match_ arg ++ | { Parsetree.ptyp_desc = Ptyp_constr (lid, l) } -> ++ let e = suffix_lid lid ~suffix:"to_json" ++ and l = List.map (write_of_type ~poly) l in ++ [%expr [%e Ast_convenience.app e l] buf [%e arg]] ++ | { Parsetree.ptyp_loc } -> ++ Location.raise_errorf ~loc:ptyp_loc ++ "%s_write cannot be derived for %s" ++ deriver (Ppx_deriving.string_of_core_type y) ++ ++and write_of_type y ~poly = ++ let v = "a" in ++ let arg = Ast_convenience.evar v ++ and pattern = Ast_convenience.pvar v in ++ wrap_write (write_body_of_type y ~arg ~poly) ~pattern ++ ++and write_of_record ?(tag=0) d l = ++ let pattern = ++ let l = ++ let f {Parsetree.pld_name} = ++ label_of_constructor pld_name, ++ Ast_helper.Pat.var pld_name ++ in ++ List.map f l ++ in ++ Ast_helper.Pat.record l Asttypes.Closed ++ and e = ++ let l = ++ let f {Parsetree.pld_name = {txt}} = txt in ++ List.map f l ++ and ly = ++ let f {Parsetree.pld_type} = pld_type in ++ List.map f l ++ in ++ write_tuple_contents l ly ~tag ~poly:true ++ in ++ wrap_write e ~pattern ++ ++let recognize_case_of_constructor i l = ++ let lhs = ++ match l with ++ | [] -> [%pat? `Cst [%p Ast_convenience.pint i]] ++ | _ -> [%pat? `NCst [%p Ast_convenience.pint i]] ++ in ++ Ast_helper.Exp.case lhs [%expr true] ++ ++let recognize_body_of_poly_variant l ~loc = ++ let l = ++ let f = function ++ | Parsetree.Rtag (label, _, _, l) -> ++ let i = Ppx_deriving.hash_variant label in ++ recognize_case_of_constructor i l ++ | Rinherit {ptyp_desc = Ptyp_constr (lid, _)} -> ++ let guard = [%expr [%e suffix_lid lid ~suffix:"recognize"] x] in ++ Ast_helper.Exp.case ~guard [%pat? x] [%expr true] ++ | _ -> ++ Location.raise_errorf ~loc ++ "%s_recognize cannot be derived" deriver ++ and default = Ast_helper.Exp.case [%pat? _] [%expr false] in ++ List.map f l @ [default] ++ in ++ Ast_helper.Exp.function_ l ++ ++let tag_error_case ?(typename="") () = ++ let y = Ast_convenience.str typename in ++ Ast_helper.Exp.case ++ [%pat? _] ++ [%expr Deriving_Json_lexer.tag_error ~typename:[%e y] buf] ++ ++let maybe_tuple_type = function ++ | [y] -> y ++ | l -> Ast_helper.Typ.tuple l ++ ++let rec read_poly_case ?decl y = function ++ | Parsetree.Rtag (label, _, _, l) -> ++ let i = Ppx_deriving.hash_variant label |> Ast_convenience.pint in ++ (match l with ++ | [] -> ++ Ast_helper.Exp.case [%pat? `Cst [%p i]] ++ (Ast_helper.Exp.variant label None) ++ | l -> ++ Ast_helper.Exp.case [%pat? `NCst [%p i]] [%expr ++ Deriving_Json_lexer.read_comma buf; ++ let v = [%e read_body_of_type ?decl (maybe_tuple_type l)] in ++ Deriving_Json_lexer.read_rbracket buf; ++ [%e Ast_helper.Exp.variant label (Some [%expr v])]]) ++ | Rinherit {ptyp_desc = Ptyp_constr (lid, l)} -> ++ let guard = [%expr [%e suffix_lid lid ~suffix:"recognize"] x] ++ and e = ++ let e = suffix_lid lid ~suffix:"of_json_with_tag" ++ and l = List.map (read_of_type ?decl) l in ++ [%expr ([%e Ast_convenience.app e l] buf x :> [%t y])] ++ in ++ Ast_helper.Exp.case ~guard [%pat? x] e ++ | Rinherit {ptyp_loc} -> ++ Location.raise_errorf ~loc:ptyp_loc ++ "%s read case cannot be derived" deriver ++ ++and read_of_poly_variant ?decl l y ~loc = ++ List.map (read_poly_case ?decl y) l @ [tag_error_case ()] |> ++ Ast_helper.Exp.function_ |> ++ buf_expand ++ ++and read_tuple_contents ?decl l ~f = ++ let n = List.length l in ++ let lv = fresh_vars n in ++ let f v y acc = ++ let e = read_body_of_type ?decl y in [%expr ++ Deriving_Json_lexer.read_comma buf; ++ let [%p Ast_convenience.pvar v] = [%e e] in ++ [%e acc]] ++ and acc = List.map Ast_convenience.evar lv |> f in ++ let acc = [%expr Deriving_Json_lexer.read_rbracket buf; [%e acc]] in ++ List.fold_right2 f lv l acc ++ ++and read_body_of_tuple_type ?decl l = [%expr ++ Deriving_Json_lexer.read_lbracket buf; ++ ignore (Deriving_Json_lexer.read_tag_1 0 buf); ++ [%e read_tuple_contents ?decl l ~f:Ast_helper.Exp.tuple]] ++ ++and read_of_record_raw ?decl l = ++ let f = ++ let f {Parsetree.pld_name} e = label_of_constructor pld_name, e in ++ fun l' -> Ast_helper.Exp.record (List.map2 f l l') None ++ and l = ++ let f {Parsetree.pld_type} = pld_type in ++ List.map f l ++ in ++ read_tuple_contents l ?decl ~f ++ ++and read_of_record decl l = ++ let e = read_of_record_raw ~decl l in ++ [%expr ++ Deriving_Json_lexer.read_lbracket buf; ++ ignore (Deriving_Json_lexer.read_tag_2 0 254 buf); ++ [%e e]] |> buf_expand ++ ++and read_body_of_type ?decl y = ++ let poly = match decl with Some _ -> true | _ -> false in ++ match y with ++ | [%type: unit] -> ++ [%expr Deriving_Json.Json_unit.read buf] ++ | [%type: int] -> ++ [%expr Deriving_Json.Json_int.read buf] ++ | [%type: int32] | [%type: Int32.t] -> ++ [%expr Deriving_Json.Json_int32.read buf] ++ | [%type: int64] | [%type: Int64.t] -> ++ [%expr Deriving_Json.Json_int64.read buf] ++ | [%type: nativeint] | [%type: Nativeint.t] -> ++ [%expr Deriving_Json.Json_nativeint.read buf] ++ | [%type: float] -> ++ [%expr Deriving_Json.Json_float.read buf] ++ | [%type: bool] -> ++ [%expr Deriving_Json.Json_bool.read buf] ++ | [%type: char] -> ++ [%expr Deriving_Json.Json_char.read buf] ++ | [%type: string] -> ++ [%expr Deriving_Json.Json_string.read buf] ++ | [%type: bytes] -> ++ [%expr Deriving_Json.Json_bytes.read buf] ++ | [%type: [%t? y] list] -> ++ [%expr Deriving_Json.read_list [%e read_of_type ?decl y] buf] ++ | [%type: [%t? y] ref] -> ++ [%expr Deriving_Json.read_ref [%e read_of_type ?decl y] buf] ++ | [%type: [%t? y] option] -> ++ [%expr Deriving_Json.read_option [%e read_of_type ?decl y] buf] ++ | [%type: [%t? y] array] -> ++ [%expr Deriving_Json.read_array [%e read_of_type ?decl y] buf] ++ | { Parsetree.ptyp_desc = Ptyp_tuple l } -> ++ read_body_of_tuple_type l ?decl ++ | { Parsetree.ptyp_desc = Ptyp_variant (l, _, _); ptyp_loc = loc } -> ++ let e = ++ (match decl with ++ | Some decl -> ++ let e = suffix_decl decl ~suffix:"of_json_with_tag" ++ and l = ++ let {Parsetree.ptype_params = l} = decl ++ and f (y, _) = read_of_type y ~decl in ++ List.map f l ++ in ++ Ast_convenience.app e l ++ | None -> ++ read_of_poly_variant l y ~loc) ++ and tag = [%expr Deriving_Json_lexer.read_vcase buf] in ++ [%expr [%e e] buf [%e tag]] ++ | { Parsetree.ptyp_desc = Ptyp_var v } when poly -> ++ [%expr [%e Ast_convenience.evar ("poly_" ^ v)] buf] ++ | { Parsetree.ptyp_desc = Ptyp_constr (lid, l) } -> ++ let e = suffix_lid lid ~suffix:"of_json" ++ and l = List.map (read_of_type ?decl) l in ++ [%expr [%e Ast_convenience.app e l] buf] ++ | { Parsetree.ptyp_loc } -> ++ Location.raise_errorf ~loc:ptyp_loc ++ "%s_read cannot be derived for %s" deriver ++ (Ppx_deriving.string_of_core_type y) ++ ++and read_of_type ?decl y = ++ read_body_of_type ?decl y |> buf_expand ++ ++let json_of_type ?decl y = ++ let read = read_of_type ?decl y ++ and write = ++ let poly = match decl with Some _ -> true | _ -> false in ++ write_of_type y ~poly in ++ [%expr Deriving_Json.make [%e write] [%e read]] ++ ++let fun_str_wrap d e y ~f ~suffix = ++ let e = Ppx_deriving.poly_fun_of_type_decl d e |> sanitize ++ and v = suffix_decl_p d ~suffix ++ and y = Ppx_deriving.poly_arrow_of_type_decl f d y in ++ Ast_helper.(Vb.mk (Pat.constraint_ v y) e) ++ ++let read_str_wrap d e = ++ let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] ++ and suffix = "of_json" in ++ let y = f (Ppx_deriving.core_type_of_type_decl d) in ++ fun_str_wrap d e y ~f ~suffix ++ ++let read_tag_str_wrap d e = ++ let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] ++ and suffix = "of_json_with_tag" ++ and y = ++ let y = Ppx_deriving.core_type_of_type_decl d in ++ [%type: Deriving_Json_lexer.lexbuf -> ++ [`NCst of int | `Cst of int] -> [%t y]] ++ in ++ fun_str_wrap d e y ~f ~suffix ++ ++let write_str_wrap d e = ++ let f y = [%type: Buffer.t -> [%t y] -> unit] ++ and suffix = "to_json" in ++ let y = ++ let y = Ppx_deriving.core_type_of_type_decl d in ++ (match d with ++ | {ptype_manifest = ++ Some {ptyp_desc = Parsetree.Ptyp_variant (_, _, _)}} -> ++ [%type: [> [%t y]]] ++ | _ -> ++ y) |> f ++ in ++ fun_str_wrap d e y ~f ~suffix ++ ++let recognize_str_wrap d e = ++ let v = suffix_decl_p d ~suffix:"recognize" ++ and y = [%type: [`NCst of int | `Cst of int] -> bool] in ++ Ast_helper.(Vb.mk (Pat.constraint_ v y) e) ++ ++let json_poly_type d = ++ let f y = [%type: [%t y] Deriving_Json.t] in ++ let y = f (Ppx_deriving.core_type_of_type_decl d) in ++ Ppx_deriving.poly_arrow_of_type_decl f d y ++ ++let json_str_wrap d e = ++ let v = suffix_decl_p d ~suffix:"json" ++ and e = Ppx_deriving.(poly_fun_of_type_decl d e) ++ and y = json_poly_type d in ++ Ast_helper.(Vb.mk (Pat.constraint_ v y) e) ++ ++let json_str d = ++ let write = ++ let f acc id = ++ let poly = Ast_convenience.evar ("poly_" ^ id) in ++ [%expr [%e acc] (Deriving_Json.write [%e poly])] ++ and acc = suffix_decl d ~suffix:"to_json" in ++ Ppx_deriving.fold_left_type_decl f acc d ++ and read = ++ let f acc id = ++ let poly = Ast_convenience.evar ("poly_" ^ id) in ++ [%expr [%e acc] (Deriving_Json.read [%e poly])] ++ and acc = suffix_decl d ~suffix:"of_json" in ++ Ppx_deriving.fold_left_type_decl f acc d ++ in ++ [%expr Deriving_Json.make [%e write] [%e read]] |> ++ json_str_wrap d ++ ++let write_decl_of_type d y = ++ (let e = ++ let arg = Ast_convenience.evar "a" in ++ write_body_of_type y ~arg ~poly:true ++ in ++ [%expr fun buf a -> [%e e]]) |> write_str_wrap d ++ ++let read_decl_of_type decl y = ++ read_body_of_type y ~decl |> buf_expand |> read_str_wrap decl ++ ++let json_decls_of_type decl y = ++ let recognize, read_tag = ++ match y with ++ | { Parsetree.ptyp_desc = Ptyp_variant (l, _, _); ++ ptyp_loc = loc } -> ++ Some (recognize_body_of_poly_variant l ~loc ++ |> recognize_str_wrap decl), ++ Some (read_of_poly_variant l y ~decl ~loc ++ |> read_tag_str_wrap decl) ++ | _ -> ++ None, None ++ in ++ write_decl_of_type decl y, ++ read_decl_of_type decl y, ++ json_str decl, ++ recognize, read_tag ++ ++let write_case (i, i', l) {Parsetree.pcd_name; pcd_args; pcd_loc} = ++ let i, i', lhs, rhs = ++ match pcd_args with ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_tuple [] | Pcstr_record [] -> ++#else ++ | [] -> ++#endif ++ i + 1, ++ i', ++ None, ++ [%expr Deriving_Json.Json_int.write buf ++ [%e Ast_convenience.int i]] ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_tuple ([ _ ] as args) -> ++#else ++ | [ _ ] as args -> ++#endif ++ let v = Ppx_deriving.fresh_var [] in ++ i, ++ i' + 1, ++ Some (Ast_convenience.pvar v), ++ write_tuple_contents [v] args ~tag:i' ~poly:true ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_tuple args -> ++#else ++ | args -> ++#endif ++ let vars = fresh_vars (List.length args) in ++ i, ++ i' + 1, ++ Some (var_ptuple vars), ++ write_tuple_contents vars args ~tag:i' ~poly:true ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_record args -> ++ let vars = fresh_vars (List.length args) in ++ i, ++ i' + 1, ++ Some (var_ptuple vars), ++ write_of_record vars args ~tag:i' ++#endif ++ in ++ i, i', ++ Ast_helper. ++ (Exp.case (Pat.construct (label_of_constructor pcd_name) lhs) ++ rhs) :: l ++ ++let write_decl_of_variant d l = ++ (let _, _, l = List.fold_left write_case (0, 0, []) l in ++ Ast_helper.Exp.function_ l) |> buf_expand |> ++ write_str_wrap d ++ ++let read_case ?decl (i, i', l) ++ {Parsetree.pcd_name; pcd_args; pcd_loc} = ++ match pcd_args with ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_tuple [] | Pcstr_record [] -> ++#else ++ | [] -> ++#endif ++ i + 1, i', ++ Ast_helper.Exp.case ++ [%pat? `Cst [%p Ast_convenience.pint i]] ++ (Ast_helper.Exp.construct (label_of_constructor pcd_name) None) ++ :: l ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_tuple pcd_args -> ++#else ++ | pcd_args -> ++#endif ++ let f l = ++ let args = ++ match l with ++ | [] -> None ++ | [e] -> Some e ++ | l -> Some (Ast_helper.Exp.tuple l) ++ in Ast_helper.Exp.construct (label_of_constructor pcd_name) args ++ in ++ let expr = read_tuple_contents ?decl pcd_args ~f in ++ let case = Ast_helper.Exp.case [%pat? `NCst [%p Ast_convenience.pint i']] expr in ++ i, i' + 1, case :: l ++#if OCAML_VERSION >= (4, 03, 0) ++ | Pcstr_record pcd_args -> ++ let expr = read_of_record_raw ?decl pcd_args in ++ let case = Ast_helper.Exp.case [%pat? `NCst [%p Ast_convenience.pint i']] expr in ++ i, i' + 1, case :: l ++#endif ++ ++let read_decl_of_variant decl l = ++ (let _, _, l = List.fold_left (read_case ~decl) (0, 0, []) l ++ and e = [%expr Deriving_Json_lexer.read_case buf] in ++ Ast_helper.Exp.match_ e (l @ [tag_error_case ()])) |> ++ buf_expand |> ++ read_str_wrap decl ++ ++let json_decls_of_variant d l = ++ write_decl_of_variant d l, read_decl_of_variant d l, json_str d, ++ None, None ++ ++let write_decl_of_record d l = ++ write_of_record d l |> write_str_wrap d ++ ++let read_decl_of_record d l = ++ read_of_record d l |> read_str_wrap d ++ ++let json_decls_of_record d l = ++ check_record_fields l; ++ write_decl_of_record d l, read_decl_of_record d l, json_str d, ++ None, None ++ ++let json_str_of_decl ({Parsetree.ptype_loc} as d) = ++ Ast_helper.with_default_loc ptype_loc @@ fun () -> ++ match d with ++ | { Parsetree.ptype_manifest = Some y } -> ++ json_decls_of_type d y ++ | { ptype_kind = Ptype_variant l } -> ++ json_decls_of_variant d l ++ | { ptype_kind = Ptype_record l } -> ++ json_decls_of_record d l ++ | _ -> ++ Location.raise_errorf "%s cannot be derived for %s" deriver ++ (Ppx_deriving.mangle_type_decl (`Suffix "") d) ++ ++let read_sig_of_decl ({Parsetree.ptype_loc} as d) = ++ (let s = ++ let s = Ppx_deriving.mangle_type_decl (`Suffix "of_json") d in ++ Location.mkloc s ptype_loc ++ and y = ++ let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] in ++ let y = f (Ppx_deriving.core_type_of_type_decl d) in ++ Ppx_deriving.poly_arrow_of_type_decl f d y ++ in ++ Ast_helper.Val.mk s y) |> Ast_helper.Sig.value ++ ++let recognize_sig_of_decl ({Parsetree.ptype_loc} as d) = ++ (let s = ++ let s = Ppx_deriving.mangle_type_decl (`Suffix "recognize") d in ++ Location.mkloc s ptype_loc ++ and y = [%type: [ `NCst of int | `Cst of int ] -> bool] in ++ Ast_helper.Val.mk s y) |> Ast_helper.Sig.value ++ ++let read_with_tag_sig_of_decl ({Parsetree.ptype_loc} as d) = ++ (let s = ++ let s = ++ Ppx_deriving.mangle_type_decl (`Suffix "of_json_with_tag") d ++ in ++ Location.mkloc s ptype_loc ++ and y = ++ let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] in ++ let y = ++ let y = Ppx_deriving.core_type_of_type_decl d in ++ f [%type: [ `NCst of int | `Cst of int ] -> [%t y]] ++ in ++ Ppx_deriving.poly_arrow_of_type_decl f d y ++ in ++ Ast_helper.Val.mk s y) |> Ast_helper.Sig.value ++ ++let write_sig_of_decl ({Parsetree.ptype_loc} as d) = ++ (let s = ++ let s = Ppx_deriving.mangle_type_decl (`Suffix "to_json") d in ++ Location.mkloc s ptype_loc ++ and y = ++ let f y = [%type: Buffer.t -> [%t y] -> unit] in ++ let y = f (Ppx_deriving.core_type_of_type_decl d) in ++ Ppx_deriving.poly_arrow_of_type_decl f d y ++ in ++ Ast_helper.Val.mk s y) |> Ast_helper.Sig.value ++ ++let json_sig_of_decl ({Parsetree.ptype_loc} as d) = ++ (let s = ++ let s = Ppx_deriving.mangle_type_decl (`Suffix "json") d in ++ Location.mkloc s ptype_loc ++ and y = ++ let f y = [%type: [%t y] Deriving_Json.t] in ++ let y = f (Ppx_deriving.core_type_of_type_decl d) in ++ Ppx_deriving.poly_arrow_of_type_decl f d y ++ in ++ Ast_helper.Val.mk s y) |> Ast_helper.Sig.value ++ ++let sigs_of_decl ({Parsetree.ptype_loc} as d) = ++ Ast_helper.with_default_loc ptype_loc @@ fun () -> ++ let l = [ ++ read_sig_of_decl d; ++ write_sig_of_decl d; ++ json_sig_of_decl d ++ ] in ++ match d with ++ | { Parsetree.ptype_manifest = ++ Some {Parsetree.ptyp_desc = Parsetree.Ptyp_variant _}} -> ++ read_with_tag_sig_of_decl d :: recognize_sig_of_decl d :: l ++ | _ -> ++ l ++ ++let register_for_expr s f = ++ let core_type ({Parsetree.ptyp_loc} as y) = ++ let f () = f y |> sanitize in ++ Ast_helper.with_default_loc ptyp_loc f ++ in ++ Ppx_deriving.(create s ~core_type () |> register) ++ ++let _ = ++ register_for_expr "of_json" @@ fun y -> [%expr ++ fun s -> ++ [%e read_of_type y] ++ (Deriving_Json_lexer.init_lexer (Lexing.from_string s))] ++ ++let _ = ++ register_for_expr "to_json" @@ fun y -> [%expr ++ fun x -> ++ let buf = Buffer.create 50 in ++ [%e write_of_type y ~poly:false] buf x; ++ Buffer.contents buf] ++ ++let _ = ++ let core_type ({Parsetree.ptyp_loc} as y) = ++ let f () = json_of_type y |> sanitize in ++ Ast_helper.with_default_loc ptyp_loc f ++ and type_decl_str ~options ~path l = ++ let lw, lr, lj, lp, lrv = ++ let f d (lw, lr, lj, lp, lrv) = ++ let w, r, j, p, rv = json_str_of_decl d in ++ w :: lw, r :: lr, j :: lj, ++ (match p with Some p -> p :: lp | None -> lp), ++ (match rv with Some rv -> rv :: lrv | None -> lrv) ++ and acc = [], [], [], [], [] in ++ List.fold_right f l acc ++ and f = Ast_helper.Str.value Asttypes.Recursive ++ and f' = Ast_helper.Str.value Asttypes.Nonrecursive in ++ let l = [f (lrv @ lr); f lw; f' lj] in ++ match lp with [] -> l | _ -> f lp :: l ++ and type_decl_sig ~options ~path l = ++ List.map sigs_of_decl l |> List.flatten ++ in ++ Ppx_deriving. ++ (create "json" ~core_type ~type_decl_str ~type_decl_sig () ++ |> register) +diff --git a/lib/ppx/ppx_deriving_json.ml b/lib/ppx/ppx_deriving_json.ml +deleted file mode 100644 +index e96ce3f..0000000 +--- a/lib/ppx/ppx_deriving_json.ml ++++ /dev/null +@@ -1,675 +0,0 @@ +-(* Js_of_ocaml +- * http://www.ocsigen.org +- * Copyright Vasilis Papavasileiou 2015 +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU Lesser General Public License as published by +- * the Free Software Foundation, with linking exception; +- * either version 2.1 of the License, or (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- *) +- +-let deriver = "json" +- +-(* Copied (and adapted) this from ppx_deriving repo (commit +- e2079fa8f3460055bf990461f295c6c4b391fafc) ; we get an empty set of +- let bindings with ppx_deriving 3.0 *) +-let sanitize expr = [%expr +- (let open! Ppx_deriving_runtime in [%e expr]) [@ocaml.warning "-A"]] +- +-let var_ptuple l = +- List.map Ast_convenience.pvar l |> Ast_helper.Pat.tuple +- +-let map_loc f {Location.txt; loc} = +- {Location.txt = f txt; loc} +- +-let suffix_lid {Location.txt; loc} ~suffix = +- let txt = Ppx_deriving.mangle_lid (`Suffix suffix) txt in +- Ast_helper.Exp.ident {txt; loc} ~loc +- +-let suffix_decl ({Parsetree.ptype_loc = loc} as d) ~suffix = +- (let s = +- Ppx_deriving.mangle_type_decl (`Suffix suffix) d |> +- Longident.parse +- in +- Location.mkloc s loc) |> Ast_helper.Exp.ident ~loc +- +-let suffix_decl_p ({Parsetree.ptype_loc = loc} as d) ~suffix = +- (let s = Ppx_deriving.mangle_type_decl (`Suffix suffix) d in +- Location.mkloc s loc) |> Ast_helper.Pat.var ~loc +- +-let rec fresh_vars ?(acc = []) n = +- if n <= 0 then +- List.rev acc +- else +- let acc = Ppx_deriving.fresh_var acc :: acc in +- fresh_vars ~acc (n - 1) +- +-let unreachable_case () = +- Ast_helper.Exp.case [%pat? _ ] [%expr assert false] +- +-let label_of_constructor = map_loc (fun c -> Longident.Lident c) +- +-let wrap_write r ~pattern = [%expr fun buf [%p pattern] -> [%e r]] +- +-let buf_expand r = [%expr fun buf -> [%e r]] +- +-let seqlist = function +- | h :: l -> +- let f acc e = [%expr [%e acc]; [%e e]] in +- List.fold_left f h l +- | [] -> +- [%expr ()] +- +-let check_record_fields = +- List.iter @@ function +- | {Parsetree.pld_mutable = Mutable} -> +- Location.raise_errorf +- "%s cannot be derived for mutable records" deriver +- | {pld_type = {ptyp_desc = Ptyp_poly _}} -> +- Location.raise_errorf +- "%s cannot be derived for polymorphic records" deriver +- | _ -> +- () +- +-let maybe_tuple_type = function +- | [y] -> y +- | l -> Ast_helper.Typ.tuple l +- +-let rec write_tuple_contents l ly tag ~poly = +- let e = +- let f v y = +- let arg = Ast_convenience.evar v in +- let e = write_body_of_type y ~arg ~poly in +- [%expr Buffer.add_string buf ","; [%e e]] +- in +- List.map2 f l ly |> seqlist +- and s = Ast_convenience.str ("[" ^ string_of_int tag) in [%expr +- Buffer.add_string buf [%e s]; +- [%e e]; +- Buffer.add_string buf "]"] +- +-and write_body_of_tuple_type l ~arg ~poly ~tag = +- let n = List.length l in +- let vars = fresh_vars n in +- let e = write_tuple_contents vars l tag ~poly +- and p = var_ptuple vars in +- [%expr let [%p p] = [%e arg] in [%e e]] +- +-and write_poly_case r ~arg ~poly = +- match r with +- | Parsetree.Rtag (label, _, _, l) -> +- let i = Ppx_deriving.hash_variant label +- and n = List.length l in +- let v = Ppx_deriving.fresh_var [] in +- let lhs = +- (if n = 0 then None else Some (Ast_convenience.pvar v)) |> +- Ast_helper.Pat.variant label +- and rhs = +- match l with +- | [] -> +- let e = Ast_convenience.int i in +- [%expr Deriving_Json.Json_int.write buf [%e e]] +- | _ -> +- let l = [[%type: int]; maybe_tuple_type l] +- and arg = Ast_helper.Exp.tuple Ast_convenience.[int i; evar v] in +- write_body_of_tuple_type l ~arg ~poly ~tag:0 +- in +- Ast_helper.Exp.case lhs rhs +- | Rinherit ({ptyp_desc = Ptyp_constr (lid, _)} as y) -> +- Ast_helper.Exp.case (Ast_helper.Pat.type_ lid) +- (write_body_of_type y ~arg ~poly) +- | Rinherit {ptyp_loc} -> +- Location.raise_errorf ~loc:ptyp_loc +- "%s write case cannot be derived" deriver +- +-and write_body_of_type y ~arg ~poly = +- match y with +- | [%type: unit] -> +- [%expr Deriving_Json.Json_unit.write buf [%e arg]] +- | [%type: int] -> +- [%expr Deriving_Json.Json_int.write buf [%e arg]] +- | [%type: int32] | [%type: Int32.t] -> +- [%expr Deriving_Json.Json_int32.write buf [%e arg]] +- | [%type: int64] | [%type: Int64.t] -> +- [%expr Deriving_Json.Json_int64.write buf [%e arg]] +- | [%type: nativeint] | [%type: Nativeint.t] -> +- [%expr Deriving_Json.Json_nativeint.write buf [%e arg]] +- | [%type: float] -> +- [%expr Deriving_Json.Json_float.write buf [%e arg]] +- | [%type: bool] -> +- [%expr Deriving_Json.Json_bool.write buf [%e arg]] +- | [%type: char] -> +- [%expr Deriving_Json.Json_char.write buf [%e arg]] +- | [%type: string] -> +- [%expr Deriving_Json.Json_string.write buf [%e arg]] +- | [%type: bytes] -> +- [%expr Deriving_Json.Json_bytes.write buf [%e arg]] +- | [%type: [%t? y] list] -> +- let e = write_of_type y ~poly in +- [%expr Deriving_Json.write_list [%e e] buf [%e arg]] +- | [%type: [%t? y] ref] -> +- let e = write_of_type y ~poly in +- [%expr Deriving_Json.write_ref [%e e] buf [%e arg]] +- | [%type: [%t? y] option] -> +- let e = write_of_type y ~poly in +- [%expr Deriving_Json.write_option [%e e] buf [%e arg]] +- | [%type: [%t? y] array] -> +- let e = write_of_type y ~poly in +- [%expr Deriving_Json.write_array [%e e] buf [%e arg]] +- | { Parsetree.ptyp_desc = Ptyp_var v } when poly -> +- [%expr [%e Ast_convenience.evar ("poly_" ^ v)] buf [%e arg]] +- | { Parsetree.ptyp_desc = Ptyp_tuple l } -> +- write_body_of_tuple_type l ~arg ~poly ~tag:0 +- | { Parsetree.ptyp_desc = Ptyp_variant (l, _, _); ptyp_loc = loc } -> +- List.map (write_poly_case ~arg ~poly) l @ [unreachable_case ()] |> +- Ast_helper.Exp.match_ arg +- | { Parsetree.ptyp_desc = Ptyp_constr (lid, l) } -> +- let e = suffix_lid lid ~suffix:"to_json" +- and l = List.map (write_of_type ~poly) l in +- [%expr [%e Ast_convenience.app e l] buf [%e arg]] +- | { Parsetree.ptyp_loc } -> +- Location.raise_errorf ~loc:ptyp_loc +- "%s_write cannot be derived for %s" +- deriver (Ppx_deriving.string_of_core_type y) +- +-and write_of_type y ~poly = +- let v = "a" in +- let arg = Ast_convenience.evar v +- and pattern = Ast_convenience.pvar v in +- wrap_write (write_body_of_type y ~arg ~poly) ~pattern +- +-and write_of_record d l = +- let pattern = +- let l = +- let f {Parsetree.pld_name} = +- label_of_constructor pld_name, +- Ast_helper.Pat.var pld_name +- in +- List.map f l +- in +- Ast_helper.Pat.record l Asttypes.Closed +- and e = +- let l = +- let f {Parsetree.pld_name = {txt}} = txt in +- List.map f l +- and ly = +- let f {Parsetree.pld_type} = pld_type in +- List.map f l +- in +- write_tuple_contents l ly 0 ~poly:true +- in +- wrap_write e ~pattern +- +-let recognize_case_of_constructor i l = +- let lhs = +- match l with +- | [] -> [%pat? `Cst [%p Ast_convenience.pint i]] +- | _ -> [%pat? `NCst [%p Ast_convenience.pint i]] +- in +- Ast_helper.Exp.case lhs [%expr true] +- +-let recognize_body_of_poly_variant l ~loc = +- let l = +- let f = function +- | Parsetree.Rtag (label, _, _, l) -> +- let i = Ppx_deriving.hash_variant label in +- recognize_case_of_constructor i l +- | Rinherit {ptyp_desc = Ptyp_constr (lid, _)} -> +- let guard = [%expr [%e suffix_lid lid ~suffix:"recognize"] x] in +- Ast_helper.Exp.case ~guard [%pat? x] [%expr true] +- | _ -> +- Location.raise_errorf ~loc +- "%s_recognize cannot be derived" deriver +- and default = Ast_helper.Exp.case [%pat? _] [%expr false] in +- List.map f l @ [default] +- in +- Ast_helper.Exp.function_ l +- +-let tag_error_case ?(typename="") () = +- let y = Ast_convenience.str typename in +- Ast_helper.Exp.case +- [%pat? _] +- [%expr Deriving_Json_lexer.tag_error ~typename:[%e y] buf] +- +-let maybe_tuple_type = function +- | [y] -> y +- | l -> Ast_helper.Typ.tuple l +- +-let rec read_poly_case ?decl y = function +- | Parsetree.Rtag (label, _, _, l) -> +- let i = Ppx_deriving.hash_variant label |> Ast_convenience.pint in +- (match l with +- | [] -> +- Ast_helper.Exp.case [%pat? `Cst [%p i]] +- (Ast_helper.Exp.variant label None) +- | l -> +- Ast_helper.Exp.case [%pat? `NCst [%p i]] [%expr +- Deriving_Json_lexer.read_comma buf; +- let v = [%e read_body_of_type ?decl (maybe_tuple_type l)] in +- Deriving_Json_lexer.read_rbracket buf; +- [%e Ast_helper.Exp.variant label (Some [%expr v])]]) +- | Rinherit {ptyp_desc = Ptyp_constr (lid, l)} -> +- let guard = [%expr [%e suffix_lid lid ~suffix:"recognize"] x] +- and e = +- let e = suffix_lid lid ~suffix:"of_json_with_tag" +- and l = List.map (read_of_type ?decl) l in +- [%expr ([%e Ast_convenience.app e l] buf x :> [%t y])] +- in +- Ast_helper.Exp.case ~guard [%pat? x] e +- | Rinherit {ptyp_loc} -> +- Location.raise_errorf ~loc:ptyp_loc +- "%s read case cannot be derived" deriver +- +-and read_of_poly_variant ?decl l y ~loc = +- List.map (read_poly_case ?decl y) l @ [tag_error_case ()] |> +- Ast_helper.Exp.function_ |> +- buf_expand +- +-and read_tuple_contents ?decl l ~f = +- let n = List.length l in +- let lv = fresh_vars n in +- let f v y acc = +- let e = read_body_of_type ?decl y in [%expr +- Deriving_Json_lexer.read_comma buf; +- let [%p Ast_convenience.pvar v] = [%e e] in +- [%e acc]] +- and acc = List.map Ast_convenience.evar lv |> f in +- let acc = [%expr Deriving_Json_lexer.read_rbracket buf; [%e acc]] in +- List.fold_right2 f lv l acc +- +-and read_body_of_tuple_type ?decl l = [%expr +- Deriving_Json_lexer.read_lbracket buf; +- ignore (Deriving_Json_lexer.read_tag_1 0 buf); +- [%e read_tuple_contents ?decl l ~f:Ast_helper.Exp.tuple]] +- +-and read_of_record decl l = +- let e = +- let f = +- let f {Parsetree.pld_name} e = label_of_constructor pld_name, e in +- fun l' -> Ast_helper.Exp.record (List.map2 f l l') None +- and l = +- let f {Parsetree.pld_type} = pld_type in +- List.map f l +- in +- read_tuple_contents l ~decl ~f +- in [%expr +- Deriving_Json_lexer.read_lbracket buf; +- ignore (Deriving_Json_lexer.read_tag_2 0 254 buf); +- [%e e]] |> buf_expand +- +-and read_body_of_type ?decl y = +- let poly = match decl with Some _ -> true | _ -> false in +- match y with +- | [%type: unit] -> +- [%expr Deriving_Json.Json_unit.read buf] +- | [%type: int] -> +- [%expr Deriving_Json.Json_int.read buf] +- | [%type: int32] | [%type: Int32.t] -> +- [%expr Deriving_Json.Json_int32.read buf] +- | [%type: int64] | [%type: Int64.t] -> +- [%expr Deriving_Json.Json_int64.read buf] +- | [%type: nativeint] | [%type: Nativeint.t] -> +- [%expr Deriving_Json.Json_nativeint.read buf] +- | [%type: float] -> +- [%expr Deriving_Json.Json_float.read buf] +- | [%type: bool] -> +- [%expr Deriving_Json.Json_bool.read buf] +- | [%type: char] -> +- [%expr Deriving_Json.Json_char.read buf] +- | [%type: string] -> +- [%expr Deriving_Json.Json_string.read buf] +- | [%type: bytes] -> +- [%expr Deriving_Json.Json_bytes.read buf] +- | [%type: [%t? y] list] -> +- [%expr Deriving_Json.read_list [%e read_of_type ?decl y] buf] +- | [%type: [%t? y] ref] -> +- [%expr Deriving_Json.read_ref [%e read_of_type ?decl y] buf] +- | [%type: [%t? y] option] -> +- [%expr Deriving_Json.read_option [%e read_of_type ?decl y] buf] +- | [%type: [%t? y] array] -> +- [%expr Deriving_Json.read_array [%e read_of_type ?decl y] buf] +- | { Parsetree.ptyp_desc = Ptyp_tuple l } -> +- read_body_of_tuple_type l ?decl +- | { Parsetree.ptyp_desc = Ptyp_variant (l, _, _); ptyp_loc = loc } -> +- let e = +- (match decl with +- | Some decl -> +- let e = suffix_decl decl ~suffix:"of_json_with_tag" +- and l = +- let {Parsetree.ptype_params = l} = decl +- and f (y, _) = read_of_type y ~decl in +- List.map f l +- in +- Ast_convenience.app e l +- | None -> +- read_of_poly_variant l y ~loc) +- and tag = [%expr Deriving_Json_lexer.read_vcase buf] in +- [%expr [%e e] buf [%e tag]] +- | { Parsetree.ptyp_desc = Ptyp_var v } when poly -> +- [%expr [%e Ast_convenience.evar ("poly_" ^ v)] buf] +- | { Parsetree.ptyp_desc = Ptyp_constr (lid, l) } -> +- let e = suffix_lid lid ~suffix:"of_json" +- and l = List.map (read_of_type ?decl) l in +- [%expr [%e Ast_convenience.app e l] buf] +- | { Parsetree.ptyp_loc } -> +- Location.raise_errorf ~loc:ptyp_loc +- "%s_read cannot be derived for %s" deriver +- (Ppx_deriving.string_of_core_type y) +- +-and read_of_type ?decl y = +- read_body_of_type ?decl y |> buf_expand +- +-let json_of_type ?decl y = +- let read = read_of_type ?decl y +- and write = +- let poly = match decl with Some _ -> true | _ -> false in +- write_of_type y ~poly in +- [%expr Deriving_Json.make [%e write] [%e read]] +- +-let fun_str_wrap d e y ~f ~suffix = +- let e = Ppx_deriving.poly_fun_of_type_decl d e |> sanitize +- and v = suffix_decl_p d ~suffix +- and y = Ppx_deriving.poly_arrow_of_type_decl f d y in +- Ast_helper.(Vb.mk (Pat.constraint_ v y) e) +- +-let read_str_wrap d e = +- let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] +- and suffix = "of_json" in +- let y = f (Ppx_deriving.core_type_of_type_decl d) in +- fun_str_wrap d e y ~f ~suffix +- +-let read_tag_str_wrap d e = +- let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] +- and suffix = "of_json_with_tag" +- and y = +- let y = Ppx_deriving.core_type_of_type_decl d in +- [%type: Deriving_Json_lexer.lexbuf -> +- [`NCst of int | `Cst of int] -> [%t y]] +- in +- fun_str_wrap d e y ~f ~suffix +- +-let write_str_wrap d e = +- let f y = [%type: Buffer.t -> [%t y] -> unit] +- and suffix = "to_json" in +- let y = +- let y = Ppx_deriving.core_type_of_type_decl d in +- (match d with +- | {ptype_manifest = +- Some {ptyp_desc = Parsetree.Ptyp_variant (_, _, _)}} -> +- [%type: [> [%t y]]] +- | _ -> +- y) |> f +- in +- fun_str_wrap d e y ~f ~suffix +- +-let recognize_str_wrap d e = +- let v = suffix_decl_p d ~suffix:"recognize" +- and y = [%type: [`NCst of int | `Cst of int] -> bool] in +- Ast_helper.(Vb.mk (Pat.constraint_ v y) e) +- +-let json_poly_type d = +- let f y = [%type: [%t y] Deriving_Json.t] in +- let y = f (Ppx_deriving.core_type_of_type_decl d) in +- Ppx_deriving.poly_arrow_of_type_decl f d y +- +-let json_str_wrap d e = +- let v = suffix_decl_p d ~suffix:"json" +- and e = Ppx_deriving.(poly_fun_of_type_decl d e) +- and y = json_poly_type d in +- Ast_helper.(Vb.mk (Pat.constraint_ v y) e) +- +-let json_str d = +- let write = +- let f acc id = +- let poly = Ast_convenience.evar ("poly_" ^ id) in +- [%expr [%e acc] (Deriving_Json.write [%e poly])] +- and acc = suffix_decl d ~suffix:"to_json" in +- Ppx_deriving.fold_left_type_decl f acc d +- and read = +- let f acc id = +- let poly = Ast_convenience.evar ("poly_" ^ id) in +- [%expr [%e acc] (Deriving_Json.read [%e poly])] +- and acc = suffix_decl d ~suffix:"of_json" in +- Ppx_deriving.fold_left_type_decl f acc d +- in +- [%expr Deriving_Json.make [%e write] [%e read]] |> +- json_str_wrap d +- +-let write_decl_of_type d y = +- (let e = +- let arg = Ast_convenience.evar "a" in +- write_body_of_type y ~arg ~poly:true +- in +- [%expr fun buf a -> [%e e]]) |> write_str_wrap d +- +-let read_decl_of_type decl y = +- read_body_of_type y ~decl |> buf_expand |> read_str_wrap decl +- +-let json_decls_of_type decl y = +- let recognize, read_tag = +- match y with +- | { Parsetree.ptyp_desc = Ptyp_variant (l, _, _); +- ptyp_loc = loc } -> +- Some (recognize_body_of_poly_variant l ~loc +- |> recognize_str_wrap decl), +- Some (read_of_poly_variant l y ~decl ~loc +- |> read_tag_str_wrap decl) +- | _ -> +- None, None +- in +- write_decl_of_type decl y, +- read_decl_of_type decl y, +- json_str decl, +- recognize, read_tag +- +-let write_case (i, i', l) {Parsetree.pcd_name; pcd_args; pcd_loc} = +- let n = List.length pcd_args in +- let vars = fresh_vars n in +- let i, i', lhs, rhs = +- match vars with +- | [] -> +- i + 1, +- i', +- None, +- [%expr Deriving_Json.Json_int.write buf +- [%e Ast_convenience.int i]] +- | [v] -> +- i, +- i' + 1, +- Some (Ast_convenience.pvar v), +- write_tuple_contents vars pcd_args i' ~poly:true +- | _ -> +- i, +- i' + 1, +- Some (var_ptuple vars), +- write_tuple_contents vars pcd_args i' ~poly:true +- in +- i, i', +- Ast_helper. +- (Exp.case (Pat.construct (label_of_constructor pcd_name) lhs) +- rhs) :: l +- +-let write_decl_of_variant d l = +- (let _, _, l = List.fold_left write_case (0, 0, []) l in +- Ast_helper.Exp.function_ l) |> buf_expand |> +- write_str_wrap d +- +-let read_case ?decl (i, i', l) +- {Parsetree.pcd_name; pcd_args; pcd_loc} = +- match pcd_args with +- | [] -> +- i + 1, i', +- Ast_helper.Exp.case +- [%pat? `Cst [%p Ast_convenience.pint i]] +- (Ast_helper.Exp.construct (label_of_constructor pcd_name) None) +- :: l +- | _ -> +- i, i' + 1, +- ((let f l = +- (match l with +- | [] -> None +- | [e] -> Some e +- | l -> Some (Ast_helper.Exp.tuple l)) |> +- Ast_helper.Exp.construct (label_of_constructor pcd_name) +- in +- read_tuple_contents ?decl pcd_args ~f) |> +- Ast_helper.Exp.case [%pat? `NCst [%p Ast_convenience.pint i']]) +- :: l +- +-let read_decl_of_variant decl l = +- (let _, _, l = List.fold_left (read_case ~decl) (0, 0, []) l +- and e = [%expr Deriving_Json_lexer.read_case buf] in +- Ast_helper.Exp.match_ e (l @ [tag_error_case ()])) |> +- buf_expand |> +- read_str_wrap decl +- +-let json_decls_of_variant d l = +- write_decl_of_variant d l, read_decl_of_variant d l, json_str d, +- None, None +- +-let write_decl_of_record d l = +- write_of_record d l |> write_str_wrap d +- +-let read_decl_of_record d l = +- read_of_record d l |> read_str_wrap d +- +-let json_decls_of_record d l = +- check_record_fields l; +- write_decl_of_record d l, read_decl_of_record d l, json_str d, +- None, None +- +-let json_str_of_decl ({Parsetree.ptype_loc} as d) = +- Ast_helper.with_default_loc ptype_loc @@ fun () -> +- match d with +- | { Parsetree.ptype_manifest = Some y } -> +- json_decls_of_type d y +- | { ptype_kind = Ptype_variant l } -> +- json_decls_of_variant d l +- | { ptype_kind = Ptype_record l } -> +- json_decls_of_record d l +- | _ -> +- Location.raise_errorf "%s cannot be derived for %s" deriver +- (Ppx_deriving.mangle_type_decl (`Suffix "") d) +- +-let read_sig_of_decl ({Parsetree.ptype_loc} as d) = +- (let s = +- let s = Ppx_deriving.mangle_type_decl (`Suffix "of_json") d in +- Location.mkloc s ptype_loc +- and y = +- let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] in +- let y = f (Ppx_deriving.core_type_of_type_decl d) in +- Ppx_deriving.poly_arrow_of_type_decl f d y +- in +- Ast_helper.Val.mk s y) |> Ast_helper.Sig.value +- +-let recognize_sig_of_decl ({Parsetree.ptype_loc} as d) = +- (let s = +- let s = Ppx_deriving.mangle_type_decl (`Suffix "recognize") d in +- Location.mkloc s ptype_loc +- and y = [%type: [ `NCst of int | `Cst of int ] -> bool] in +- Ast_helper.Val.mk s y) |> Ast_helper.Sig.value +- +-let read_with_tag_sig_of_decl ({Parsetree.ptype_loc} as d) = +- (let s = +- let s = +- Ppx_deriving.mangle_type_decl (`Suffix "of_json_with_tag") d +- in +- Location.mkloc s ptype_loc +- and y = +- let f y = [%type: Deriving_Json_lexer.lexbuf -> [%t y]] in +- let y = +- let y = Ppx_deriving.core_type_of_type_decl d in +- f [%type: [ `NCst of int | `Cst of int ] -> [%t y]] +- in +- Ppx_deriving.poly_arrow_of_type_decl f d y +- in +- Ast_helper.Val.mk s y) |> Ast_helper.Sig.value +- +-let write_sig_of_decl ({Parsetree.ptype_loc} as d) = +- (let s = +- let s = Ppx_deriving.mangle_type_decl (`Suffix "to_json") d in +- Location.mkloc s ptype_loc +- and y = +- let f y = [%type: Buffer.t -> [%t y] -> unit] in +- let y = f (Ppx_deriving.core_type_of_type_decl d) in +- Ppx_deriving.poly_arrow_of_type_decl f d y +- in +- Ast_helper.Val.mk s y) |> Ast_helper.Sig.value +- +-let json_sig_of_decl ({Parsetree.ptype_loc} as d) = +- (let s = +- let s = Ppx_deriving.mangle_type_decl (`Suffix "json") d in +- Location.mkloc s ptype_loc +- and y = +- let f y = [%type: [%t y] Deriving_Json.t] in +- let y = f (Ppx_deriving.core_type_of_type_decl d) in +- Ppx_deriving.poly_arrow_of_type_decl f d y +- in +- Ast_helper.Val.mk s y) |> Ast_helper.Sig.value +- +-let sigs_of_decl ({Parsetree.ptype_loc} as d) = +- Ast_helper.with_default_loc ptype_loc @@ fun () -> +- let l = [ +- read_sig_of_decl d; +- write_sig_of_decl d; +- json_sig_of_decl d +- ] in +- match d with +- | { Parsetree.ptype_manifest = +- Some {Parsetree.ptyp_desc = Parsetree.Ptyp_variant _}} -> +- read_with_tag_sig_of_decl d :: recognize_sig_of_decl d :: l +- | _ -> +- l +- +-let register_for_expr s f = +- let core_type ({Parsetree.ptyp_loc} as y) = +- let f () = f y |> sanitize in +- Ast_helper.with_default_loc ptyp_loc f +- in +- Ppx_deriving.(create s ~core_type () |> register) +- +-let _ = +- register_for_expr "of_json" @@ fun y -> [%expr +- fun s -> +- [%e read_of_type y] +- (Deriving_Json_lexer.init_lexer (Lexing.from_string s))] +- +-let _ = +- register_for_expr "to_json" @@ fun y -> [%expr +- fun x -> +- let buf = Buffer.create 50 in +- [%e write_of_type y ~poly:false] buf x; +- Buffer.contents buf] +- +-let _ = +- let core_type ({Parsetree.ptyp_loc} as y) = +- let f () = json_of_type y |> sanitize in +- Ast_helper.with_default_loc ptyp_loc f +- and type_decl_str ~options ~path l = +- let lw, lr, lj, lp, lrv = +- let f d (lw, lr, lj, lp, lrv) = +- let w, r, j, p, rv = json_str_of_decl d in +- w :: lw, r :: lr, j :: lj, +- (match p with Some p -> p :: lp | None -> lp), +- (match rv with Some rv -> rv :: lrv | None -> lrv) +- and acc = [], [], [], [], [] in +- List.fold_right f l acc +- and f = Ast_helper.Str.value Asttypes.Recursive +- and f' = Ast_helper.Str.value Asttypes.Nonrecursive in +- let l = [f (lrv @ lr); f lw; f' lj] in +- match lp with [] -> l | _ -> f lp :: l +- and type_decl_sig ~options ~path l = +- List.map sigs_of_decl l |> List.flatten +- in +- Ppx_deriving. +- (create "json" ~core_type ~type_decl_str ~type_decl_sig () +- |> register) diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-2.7.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-2.7.ebuild index 420e7ae360aa..2de89b91ec30 100644 --- a/dev-ml/js_of_ocaml/js_of_ocaml-2.7.ebuild +++ b/dev-ml/js_of_ocaml/js_of_ocaml-2.7.ebuild @@ -31,6 +31,10 @@ RDEPEND=" DEPEND="${RDEPEND} dev-ml/ocamlbuild" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { printf "\n\n" >> Makefile.conf use ocamlopt || echo "BEST := byte" >> Makefile.conf diff --git a/dev-ml/lwt/Manifest b/dev-ml/lwt/Manifest index 3b76f7e9b5b9..2e3223fc42dd 100644 --- a/dev-ml/lwt/Manifest +++ b/dev-ml/lwt/Manifest @@ -1,2 +1,3 @@ DIST lwt-2.4.3.tar.gz 504000 SHA256 efee23937750290d6dee96eed6c0bbdb19817d5be6eefcba61ac5031fac10107 SHA512 725d50a096a43294d49ae2322fdc985c301ce6a8ff5c956925225d7977e787ccb446e36a9db5fdbb50f284b9f1a3a12a52d1aa44d4400feecb59f6f938ed00ad WHIRLPOOL c5999e950008902600b43bf39f174ed0bc2cb3f6dce983d885416969a3bb98170ec8b74c8f5829459c3c96d160e5b4c8491b7057e7efeac035a46c9846ff7764 DIST lwt-2.5.1.tar.gz 1272834 SHA256 351ea57e30cdeeebb02ae3b12906ed391f947fd35d57148905828ee121ec29ec SHA512 648f08e13a5b13072ed44ec380cce226bbf2ac480ca6adcd170e5bfa789bf6a4e832af0748bb1bff0e45611fd8d1b14592ece4211fb78be5b03cbcd7c3cb3b7d WHIRLPOOL c89ff1cd278ca194e1edf11ee447466dfd90f1bae4c79967e296c73cecf6684f017f8873a9f8cd6c367e83d1acfbd65ccc021edc1a7efc01432207e171f8e9dd +DIST lwt-2.5.2.tar.gz 268168 SHA256 b319514cf51656780a8f609a63ead08d3052a442546b218530ce146d37bf6331 SHA512 83c7a9d9798fe12e0bdd618e7f69ac357065a9b26e2abb644240c420cb1d507a3b558549b2f82ecc9c3fbc9ca5952e8d7cb32b6832713bfb6fffcb58975d5449 WHIRLPOOL f0482836988a248b691c332ef7acbeb5121226582cb8ef1e0b301719d35e25fd5d08e6b7b9e9ab02081b4d734ddc399251a31b66a26859542a4484342e517257 diff --git a/dev-ml/lwt/lwt-2.5.2.ebuild b/dev-ml/lwt/lwt-2.5.2.ebuild new file mode 100644 index 000000000000..ac787dd5582d --- /dev/null +++ b/dev-ml/lwt/lwt-2.5.2.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +OASIS_BUILD_TESTS=1 +# fails to build +#OASIS_BUILD_DOCS=1 + +inherit oasis + +DESCRIPTION="Cooperative light-weight thread library for OCaml" +SRC_URI="https://github.com/ocsigen/lwt/archive/${PV}.tar.gz -> ${P}.tar.gz" +HOMEPAGE="http://ocsigen.org/lwt" + +IUSE="gtk +ppx +react +ssl" + +DEPEND="react? ( >=dev-ml/react-1.2:= ) + dev-libs/libev + ssl? ( >=dev-ml/ocaml-ssl-0.4.0:= ) + gtk? ( dev-ml/lablgtk:= dev-libs/glib:2 ) + ppx? ( dev-ml/ppx_tools:= ) + || ( dev-ml/camlp4:= =dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { econf \ --with-docbook-stylesheet="${EPREFIX}/usr/share/sgml/docbook/xsl-stylesheets/" \ diff --git a/dev-ml/ocaml-mysql/files/oc43.patch b/dev-ml/ocaml-mysql/files/oc43.patch new file mode 100644 index 000000000000..5782c343cdab --- /dev/null +++ b/dev-ml/ocaml-mysql/files/oc43.patch @@ -0,0 +1,37 @@ +Index: ocaml-mysql-1.2.0/mysql_stubs.c +=================================================================== +--- ocaml-mysql-1.2.0.orig/mysql_stubs.c ++++ ocaml-mysql-1.2.0/mysql_stubs.c +@@ -508,14 +508,14 @@ db_fetch (value result) + + EXTERNAL value + db_to_row(value result, value offset) { +- int64 off = Int64_val(offset); ++ int64_t off = Int64_val(offset); + MYSQL_RES *res; + + res = RESval(result); + if (!res) + mysqlfailwith("Mysql.to_row: result did not return fetchable data"); + +- if (off < 0 || off > (int64)mysql_num_rows(res)-1) ++ if (off < 0 || off > (int64_t)mysql_num_rows(res)-1) + invalid_argument("Mysql.to_row: offset out of range"); + + mysql_data_seek(res, off); +@@ -640,13 +640,13 @@ db_size(value result) + { + CAMLparam1(result); + MYSQL_RES *res; +- int64 size; ++ int64_t size; + + res = RESval(result); + if (!res) + size = 0; + else +- size = (int64)(mysql_num_rows(res)); ++ size = (int64_t)(mysql_num_rows(res)); + + CAMLreturn(copy_int64(size)); + } diff --git a/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild b/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild index 76292cff82b2..af4aeb1b8643 100644 --- a/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild +++ b/dev-ml/ocaml-mysql/ocaml-mysql-1.2.0.ebuild @@ -22,6 +22,10 @@ SLOT="0/${PV}" LICENSE="LGPL-2" KEYWORDS="~amd64 ~ppc ~x86" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_compile() { emake all diff --git a/dev-ml/ocaml-pcap/Manifest b/dev-ml/ocaml-pcap/Manifest index b066fa9184a9..b395caa4c463 100644 --- a/dev-ml/ocaml-pcap/Manifest +++ b/dev-ml/ocaml-pcap/Manifest @@ -1 +1,2 @@ DIST ocaml-pcap-0.3.3.tar.gz 45752 SHA256 9419a1701310b2d9130be3d305a6e2cb0cb2c8da0348a6c9fc49bbe2a5d6ae76 SHA512 732f895c08b114aef34ea3b776c69d67696e290f2a2952405b75097ce0253fcc8a754dd223ac4ce98b134786f46c328cc2510f7313c4c8c4042d242a1a4de8a1 WHIRLPOOL 0a39017e791e1031b0f1500e3f9eb055db66dda3c35c0ba027f579f4a3066c824bb066733cce9ab07e37e679694bc909ef0b3c812b71570a1563e5a28121b00d +DIST ocaml-pcap-0.4.0.tar.gz 52694 SHA256 abf4cd0da26ae70de26c7b395d53b1983ab4c9ab7f81322a1df56c039a373e6a SHA512 cbcd33d7a557f1a05e5f12013e8dbe226a81a64822689452614dffedeecf8641ce2498e9c9322f80066977ef56a4130ee016816911b6871609d11a988cfcad0e WHIRLPOOL 0b87ede6a7740dec323f8a5592e69f55af0dcd825cdfed4d9834a3d0059f7d5c90c6036e84e23d375f282454e4901dd2b0dbda2e4c854711a6999604ccb80a27 diff --git a/dev-ml/ocaml-pcap/ocaml-pcap-0.4.0.ebuild b/dev-ml/ocaml-pcap/ocaml-pcap-0.4.0.ebuild new file mode 100644 index 000000000000..7d13ee58b489 --- /dev/null +++ b/dev-ml/ocaml-pcap/ocaml-pcap-0.4.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +OASIS_BUILD_DOCS=1 +OASIS_BUILD_TESTS=1 + +inherit oasis + +DESCRIPTION="Read and write pcap-formatted network packet traces." +HOMEPAGE="https://github.com/mirage/ocaml-pcap https://mirage.io" +SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="ISC" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="" + +# Blockers taken from opam file and only relevant +# if MirageOS should enter portage. +RDEPEND=" + dev-ml/ocaml-ipaddr:= + !dev-ml/mirage-net-socket + !=dev-ml/ocaml-cstruct-0.6.0:=[ppx(-)] +" +DEPEND=" + test? ( dev-ml/ounit + >=dev-ml/lwt-2.4.0 ) + ${RDEPEND} +" + +DOCS=( CHANGES MAINTAINERS README.md ) diff --git a/dev-ml/ocamlbuild/Manifest b/dev-ml/ocamlbuild/Manifest index 53846547f22a..ad244e5c29b6 100644 --- a/dev-ml/ocamlbuild/Manifest +++ b/dev-ml/ocamlbuild/Manifest @@ -1 +1 @@ -DIST ocamlbuild-0.9.1.tar.gz 160896 SHA256 7a31fde2d863768372851665e3ce64064c35e38d2b2f3cbd060a6df426f16ee8 SHA512 07da313f896fd31fab42881515f33544a587f831aa0928540af2351bf8d59b14115a144b17d156cb2599ce5d568684192a922f9f85f86ddd7299b8e194fd85c6 WHIRLPOOL f28e3ce19371dc26d6992035e47a72cb82adde2869dd5188a8ea0ed6aee481633e0ada4ec28428a2f58e51582f60c3a486066d0f7e09dda4e8c374f977f420a8 +DIST ocamlbuild-0.9.2.tar.gz 163014 SHA256 257a3961da1aa47deb3de8da238ebe1daf13a73efef2228f97a064a90f91c6bc SHA512 6f6fa2ca0030256b61a9f93275f26327a032594a1ddd288e1eb9f4c41dfc139e4cdb6cd66ae8e383dd2f8aabb435181abfbf6b4aa0892ef6fa420c29e33b391a WHIRLPOOL 4b1285a3177787c9d4d1e4581dec4079a1144568512c8871b2ed9436bea941c9447130af616c418d7c18157f0818de26f6344635c7e63e4ec13acaa5229cf77a diff --git a/dev-ml/ocamlbuild/files/installbin.patch b/dev-ml/ocamlbuild/files/installbin.patch deleted file mode 100644 index e7bd2cfcfa7d..000000000000 --- a/dev-ml/ocamlbuild/files/installbin.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: ocamlbuild-0.9.1/Makefile -=================================================================== ---- ocamlbuild-0.9.1.orig/Makefile -+++ ocamlbuild-0.9.1/Makefile -@@ -202,7 +202,7 @@ beforedepend:: src/ocamlbuild_config.ml - install-bin-byte: - mkdir -p $(INSTALL_BINDIR) - $(CP) ocamlbuild.byte $(INSTALL_BINDIR)/ocamlbuild.byte$(EXE) --ifeq ($(OCAML_NATIVE), true) -+ifneq ($(OCAML_NATIVE), true) - $(CP) ocamlbuild.byte $(INSTALL_BINDIR)/ocamlbuild$(EXE) - endif - diff --git a/dev-ml/ocamlbuild/ocamlbuild-0.9.1.ebuild b/dev-ml/ocamlbuild/ocamlbuild-0.9.2.ebuild similarity index 92% rename from dev-ml/ocamlbuild/ocamlbuild-0.9.1.ebuild rename to dev-ml/ocamlbuild/ocamlbuild-0.9.2.ebuild index 354981b58089..7fe9092e2788 100644 --- a/dev-ml/ocamlbuild/ocamlbuild-0.9.1.ebuild +++ b/dev-ml/ocamlbuild/ocamlbuild-0.9.2.ebuild @@ -4,8 +4,6 @@ EAPI=5 -inherit eutils - DESCRIPTION="OCamlbuild" HOMEPAGE="https://github.com/ocaml/ocamlbuild" SRC_URI="https://github.com/ocaml/ocamlbuild/archive/${PV}.tar.gz -> ${P}.tar.gz" @@ -20,10 +18,6 @@ RDEPEND="${DEPEND} ! +Date: Sun May 1 13:24:22 2016 +0200 + + Fixes for building against OCaml-4.03 + +diff --git a/code/src/equeue/uq_engines_compat.ml b/code/src/equeue/uq_engines_compat.ml +index 512811a..e779410 100644 +--- a/code/src/equeue/uq_engines_compat.ml ++++ b/code/src/equeue/uq_engines_compat.ml +@@ -7,7 +7,8 @@ class type server_socket_acceptor = server_endpoint_acceptor + class type client_socket_connector = client_endpoint_connector + + +-exception Mem_not_supported = Uq_multiplex.Mem_not_supported ++(* exception Mem_not_supported = Uq_multiplex.Mem_not_supported *) ++(* already included from Uq_engines *) + + let create_multiplex_controller_for_connected_socket = + Uq_multiplex.create_multiplex_controller_for_connected_socket +diff --git a/code/src/netstring/netasn1.ml b/code/src/netstring/netasn1.ml +index 05d5d3a..4cada35 100644 +--- a/code/src/netstring/netasn1.ml ++++ b/code/src/netstring/netasn1.ml +@@ -437,7 +437,7 @@ module Value = struct + let hour = int_of_string (Netstring_str.matched_group m 4 s) in + let minute = int_of_string (Netstring_str.matched_group m 5 s) in + let second = int_of_string (Netstring_str.matched_group m 6 s) in +- let zonestr = Netstring_str.matched_group m 8s in ++ let zonestr = Netstring_str.matched_group m 8 s in + let zone = get_zone zonestr in + if month = 0 || month > 12 || day = 0 || day > 31 || + hour > 23 || minute > 59 || second > 59 +diff --git a/code/src/netsys/netlog.ml b/code/src/netsys/netlog.ml +index 4d87c0e..4633655 100644 +--- a/code/src/netsys/netlog.ml ++++ b/code/src/netsys/netlog.ml +@@ -8,6 +8,18 @@ type level = + type logger = + level -> string -> unit + ++type timespec = float * int ++type clock_id ++type clock = ++ (* originally from Netsys_posix *) ++ | CLOCK_REALTIME ++ | CLOCK_MONOTONIC ++ | CLOCK_ID of clock_id ++ ++external clock_gettime : clock -> timespec = "netsys_clock_gettime" ++(* originally from Netsys_posix *) ++ ++ + let level_weight = + function + | `Emerg -> 0 +@@ -95,7 +107,7 @@ let current_formatter = + let channel_logger ch max_lev lev msg = + if level_weight lev <= level_weight max_lev then ( + let (sec,ns) = +- try Netsys_posix.clock_gettime Netsys_posix.CLOCK_REALTIME ++ try clock_gettime CLOCK_REALTIME + with Invalid_argument _ -> + (Unix.gettimeofday(), 0) in + let s = (* Netdate is unavailable here *) +diff --git a/code/src/netsys/netsys_posix.ml b/code/src/netsys/netsys_posix.ml +index 1062a6c..602ceae 100644 +--- a/code/src/netsys/netsys_posix.ml ++++ b/code/src/netsys/netsys_posix.ml +@@ -771,12 +771,14 @@ external readlinkat : Unix.file_descr -> string -> string + type timespec = float * int + type clock_id + type clock = ++ (* also in Netlog *) + | CLOCK_REALTIME + | CLOCK_MONOTONIC + | CLOCK_ID of clock_id + + external nanosleep : timespec -> timespec ref -> unit = "netsys_nanosleep" + external clock_gettime : clock -> timespec = "netsys_clock_gettime" ++ (* also in Netlog *) + external clock_settime : clock -> timespec -> unit = "netsys_clock_settime" + external clock_getres : clock -> timespec = "netsys_clock_getres" + external clock_getcpuclockid : int -> clock_id = "netsys_clock_getcpuclockid" diff --git a/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild b/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild index 5fe2f7ad68f9..5c042a395af2 100644 --- a/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild +++ b/dev-ml/ocamlnet/ocamlnet-4.1.1.ebuild @@ -35,6 +35,10 @@ DEPEND="${RDEPEND} S=${WORKDIR}/${MY_P} +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + ocamlnet_use_with() { if use $1; then echo "-with-$2" diff --git a/dev-ml/ppx_bench/files/oc43.patch b/dev-ml/ppx_bench/files/oc43.patch new file mode 100644 index 000000000000..7dbc7b481ff0 --- /dev/null +++ b/dev-ml/ppx_bench/files/oc43.patch @@ -0,0 +1,35 @@ +diff -uNr ppx_bench-113.33.00/_oasis ppx_bench-113.33.00+4.03/_oasis +--- ppx_bench-113.33.00/_oasis 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_bench-113.33.00+4.03/_oasis 2016-03-22 15:13:49.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_bench +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Syntax extension for writing in-line benchmarks in ocaml code + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_bench-113.33.00/opam ppx_bench-113.33.00+4.03/opam +--- ppx_bench-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_bench-113.33.00+4.03/opam 2016-03-22 17:51:35.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_inline_test" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_bench-113.33.00/src/ppx_bench.ml ppx_bench-113.33.00+4.03/src/ppx_bench.ml +--- ppx_bench-113.33.00/src/ppx_bench.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_bench-113.33.00+4.03/src/ppx_bench.ml 2016-03-22 15:13:49.000000000 +0100 +@@ -113,7 +113,7 @@ + assert_enabled loc; + apply_to_descr_bench + path "add_bench_module" loc ~inner_loc:m.pmod_loc None ?name_suffix name +- (pexp_fun ~loc "" None (punit ~loc) ++ (pexp_fun ~loc Nolabel None (punit ~loc) + (pexp_letmodule ~loc (Located.mk ~loc "M") + m + (eunit ~loc))) diff --git a/dev-ml/ppx_bench/ppx_bench-113.33.00.ebuild b/dev-ml/ppx_bench/ppx_bench-113.33.00.ebuild index 52d678d559ff..c54b3886b342 100644 --- a/dev-ml/ppx_bench/ppx_bench-113.33.00.ebuild +++ b/dev-ml/ppx_bench/ppx_bench-113.33.00.ebuild @@ -26,6 +26,10 @@ DEPEND="${DEPEND} dev-ml/opam" S="${WORKDIR}/${MY_P}" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_bin_prot/files/oc43.patch b/dev-ml/ppx_bin_prot/files/oc43.patch new file mode 100644 index 000000000000..d328d5bc55fa --- /dev/null +++ b/dev-ml/ppx_bin_prot/files/oc43.patch @@ -0,0 +1,113 @@ +diff -uNr ppx_bin_prot-113.33.00/_oasis ppx_bin_prot-113.33.00+4.03/_oasis +--- ppx_bin_prot-113.33.00/_oasis 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_bin_prot-113.33.00+4.03/_oasis 2016-03-22 15:13:49.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_bin_prot +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generation of bin_prot readers and writers from types + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_bin_prot-113.33.00/opam ppx_bin_prot-113.33.00+4.03/opam +--- ppx_bin_prot-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_bin_prot-113.33.00+4.03/opam 2016-03-22 17:51:35.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_tools" {>= "0.99.3"} + "ppx_type_conv" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_bin_prot-113.33.00/src/ppx_bin_prot.ml ppx_bin_prot-113.33.00+4.03/src/ppx_bin_prot.ml +--- ppx_bin_prot-113.33.00/src/ppx_bin_prot.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_bin_prot-113.33.00+4.03/src/ppx_bin_prot.ml 2016-03-22 15:13:49.000000000 +0100 +@@ -37,7 +37,7 @@ + ~init:result_type + ~f:(fun (tp, _variance) acc -> + let loc = tp.ptyp_loc in +- ptyp_arrow ~loc "" (wrap_type ~loc tp) acc) ++ ptyp_arrow ~loc Nolabel (wrap_type ~loc tp) acc) + in + psig_value ~loc (value_description ~loc ~name ~type_:typ ~prim:[]) + +@@ -72,7 +72,12 @@ + | Rinherit _ -> false) + ;; + +-let atoms_in_variant cds = List.exists cds ~f:(fun cds -> cds.pcd_args = []) ++let atoms_in_variant cds = ++ List.exists cds ~f:(fun cds -> ++ match cds.pcd_args with ++ | Pcstr_tuple [] -> true ++ | Pcstr_tuple _ -> false ++ | Pcstr_record _ -> failwith "Pcstr_record not supported") + + let let_ins loc bindings expr = + List.fold_right bindings ~init:expr ~f:(fun binding expr -> +@@ -327,8 +332,8 @@ + Location.raise_errorf ~loc:ty.ptyp_loc + "bin_size_sum: GADTs are not supported by bin_prot"); + match cd.pcd_args with +- | [] -> acc +- | args -> ++ | Pcstr_tuple [] -> acc ++ | Pcstr_tuple args -> + let get_tp tp = tp in + let mk_patt loc v_name _ = pvar ~loc v_name in + let patts, size_args = +@@ -344,7 +349,8 @@ + let size = [%e size_tag] in + [%e size_args] + ] +- :: acc) ++ :: acc ++ | Pcstr_record _ -> failwith "Pcstr_record not supported") + in + let matchings = + if atoms_in_variant alts then +@@ -585,13 +591,13 @@ + Location.raise_errorf ~loc:ty.ptyp_loc + "bin_write_sum: GADTs are not supported by bin_prot"); + match cd.pcd_args with +- | [] -> ++ | Pcstr_tuple [] -> + let loc = cd.pcd_loc in + case + ~lhs:(pconstruct cd None) + ~guard:None + ~rhs:(eapply ~loc write_tag [eint ~loc i]) +- | args -> ++ | Pcstr_tuple args -> + let get_tp tp = tp in + let mk_patt loc v_name _ = pvar ~loc v_name in + let patts, write_args = +@@ -606,7 +612,8 @@ + ~rhs:[%expr + let pos = [%e write_tag] [%e eint ~loc i] in + [%e write_args] +- ]) ++ ] ++ | Pcstr_record _ -> failwith "Pcstr_record not supported") + in + `Match matchings + +@@ -934,13 +941,14 @@ + Location.raise_errorf ~loc:cd.pcd_loc + "bin_read_sum: GADTs are not supported by bin_prot"); + match cd.pcd_args with +- | [] -> ++ | Pcstr_tuple [] -> + let loc = cd.pcd_loc in + case ~lhs:(pint ~loc mi) ~guard:None ~rhs:(econstruct cd None) +- | args -> ++ | Pcstr_tuple args -> + let bindings, args_expr = handle_arg_tp loc full_type_name args in + let rhs = let_ins loc bindings (econstruct cd (Some args_expr)) in + case ~lhs:(pint ~loc mi) ~guard:None ~rhs ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" + in + let mcs = List.mapi alts ~f:map in + let n_alts = List.length alts in diff --git a/dev-ml/ppx_bin_prot/ppx_bin_prot-113.33.00.ebuild b/dev-ml/ppx_bin_prot/ppx_bin_prot-113.33.00.ebuild index 50cf6692c41d..88ae9f7aaa3d 100644 --- a/dev-ml/ppx_bin_prot/ppx_bin_prot-113.33.00.ebuild +++ b/dev-ml/ppx_bin_prot/ppx_bin_prot-113.33.00.ebuild @@ -27,6 +27,10 @@ DEPEND="${DEPEND} dev-ml/opam" S="${WORKDIR}/${MY_P}" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_compare/files/oc43.patch b/dev-ml/ppx_compare/files/oc43.patch new file mode 100644 index 000000000000..d346f7b4380e --- /dev/null +++ b/dev-ml/ppx_compare/files/oc43.patch @@ -0,0 +1,126 @@ +diff -uNr ppx_compare-113.33.00/expander/ppx_compare_expander.ml ppx_compare-113.33.00+4.03/expander/ppx_compare_expander.ml +--- ppx_compare-113.33.00/expander/ppx_compare_expander.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_compare-113.33.00+4.03/expander/ppx_compare_expander.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -219,53 +219,56 @@ + if cd.pcd_res <> None then + Location.raise_errorf ~loc "GADTs are not supported by comparelib"; + match cd.pcd_args with +- | [] -> +- let pcnstr = pconstruct cd None in +- let pany = ppat_any ~loc in +- let case l r n = +- case ~guard:None ~lhs:(ppat_tuple ~loc [l; r]) ~rhs:(eint ~loc n) +- in +- if rightmost then +- [ case pcnstr pcnstr 0 ] +- else +- [ case pcnstr pcnstr 0 +- ; case pcnstr pany (-1) +- ; case pany pcnstr 1 +- ] +- | tps -> +- let ids_ty = +- List.map tps +- ~f:(fun ty -> +- (gen_symbol ~prefix:"_a" (), +- gen_symbol ~prefix:"_b" (), +- ty)) +- in +- let lpatt = List.map ids_ty ~f:(fun (l,_r,_ty) -> pvar ~loc l) |> ppat_tuple ~loc +- and rpatt = List.map ids_ty ~f:(fun (_l,r,_ty) -> pvar ~loc r) |> ppat_tuple ~loc +- and body = +- List.map ids_ty ~f:(fun (l,r,ty) -> +- compare_of_ty ty (evar ~loc l) (evar ~loc r)) +- |> chain_if +- in +- let res = +- case ~guard:None +- ~lhs:(ppat_tuple ~loc [ pconstruct cd (Some lpatt) +- ; pconstruct cd (Some rpatt) +- ]) +- ~rhs:body +- in +- if rightmost then +- [ res ] +- else ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" ++ | Pcstr_tuple pcd_args -> ++ match pcd_args with ++ | [] -> ++ let pcnstr = pconstruct cd None in + let pany = ppat_any ~loc in +- let pcnstr = pconstruct cd (Some pany) in + let case l r n = + case ~guard:None ~lhs:(ppat_tuple ~loc [l; r]) ~rhs:(eint ~loc n) + in +- [ res +- ; case pcnstr pany (-1) +- ; case pany pcnstr 1 +- ]) ++ if rightmost then ++ [ case pcnstr pcnstr 0 ] ++ else ++ [ case pcnstr pcnstr 0 ++ ; case pcnstr pany (-1) ++ ; case pany pcnstr 1 ++ ] ++ | tps -> ++ let ids_ty = ++ List.map tps ++ ~f:(fun ty -> ++ (gen_symbol ~prefix:"_a" (), ++ gen_symbol ~prefix:"_b" (), ++ ty)) ++ in ++ let lpatt = List.map ids_ty ~f:(fun (l,_r,_ty) -> pvar ~loc l) |> ppat_tuple ~loc ++ and rpatt = List.map ids_ty ~f:(fun (_l,r,_ty) -> pvar ~loc r) |> ppat_tuple ~loc ++ and body = ++ List.map ids_ty ~f:(fun (l,r,ty) -> ++ compare_of_ty ty (evar ~loc l) (evar ~loc r)) ++ |> chain_if ++ in ++ let res = ++ case ~guard:None ++ ~lhs:(ppat_tuple ~loc [ pconstruct cd (Some lpatt) ++ ; pconstruct cd (Some rpatt) ++ ]) ++ ~rhs:body ++ in ++ if rightmost then ++ [ res ] ++ else ++ let pany = ppat_any ~loc in ++ let pcnstr = pconstruct cd (Some pany) in ++ let case l r n = ++ case ~guard:None ~lhs:(ppat_tuple ~loc [l; r]) ~rhs:(eint ~loc n) ++ in ++ [ res ++ ; case pcnstr pany (-1) ++ ; case pany pcnstr 1 ++ ]) + |> List.map ~f:List.rev + |> List.concat + |> List.rev +diff -uNr ppx_compare-113.33.00/_oasis ppx_compare-113.33.00+4.03/_oasis +--- ppx_compare-113.33.00/_oasis 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_compare-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_compare +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generation of comparison functions from types + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_compare-113.33.00/opam ppx_compare-113.33.00+4.03/opam +--- ppx_compare-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_compare-113.33.00+4.03/opam 2016-03-22 17:51:35.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_tools" {>= "0.99.3"} + "ppx_type_conv" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] diff --git a/dev-ml/ppx_compare/ppx_compare-113.33.00.ebuild b/dev-ml/ppx_compare/ppx_compare-113.33.00.ebuild index 7b95ef5ae2dc..fe7683e32bae 100644 --- a/dev-ml/ppx_compare/ppx_compare-113.33.00.ebuild +++ b/dev-ml/ppx_compare/ppx_compare-113.33.00.ebuild @@ -24,6 +24,10 @@ DEPEND=" RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_core/files/oc43.patch b/dev-ml/ppx_core/files/oc43.patch new file mode 100644 index 000000000000..ebc23efa4ba4 --- /dev/null +++ b/dev-ml/ppx_core/files/oc43.patch @@ -0,0 +1,788 @@ +diff -uNr ppx_core-113.33.00/js-utils/gen_install.ml ppx_core-113.33.01+4.03/js-utils/gen_install.ml +--- ppx_core-113.33.00/js-utils/gen_install.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/js-utils/gen_install.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -31,7 +31,7 @@ + |> List.map (fun line -> Scanf.sscanf line "%[^=]=%S" (fun k v -> (k, v))) + + let remove_cwd = +- let prefix = Sys.getcwd () ^ "/" in ++ let prefix = Sys.getcwd () ^ Filename.dir_sep in + let len_prefix = String.length prefix in + fun fn -> + let len = String.length fn in +diff -uNr ppx_core-113.33.00/_oasis ppx_core-113.33.01+4.03/_oasis +--- ppx_core-113.33.00/_oasis 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/_oasis 2016-04-18 12:14:21.000000000 +0200 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_core +-Version: 113.33.00 ++Version: 113.33.01+4.03 + Synopsis: Standard library for ppx rewriters + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_core-113.33.00/opam ppx_core-113.33.01+4.03/opam +--- ppx_core-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_core-113.33.01+4.03/opam 2016-04-18 12:27:13.000000000 +0200 +@@ -14,4 +14,4 @@ + "ocamlfind" {build & >= "1.3.2"} + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_core-113.33.00/src/ast_builder_intf.ml ppx_core-113.33.01+4.03/src/ast_builder_intf.ml +--- ppx_core-113.33.00/src/ast_builder_intf.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/ast_builder_intf.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -44,6 +44,11 @@ + val elist : (expression list -> expression) with_loc + val plist : (pattern list -> pattern ) with_loc + ++ val pstr_value_list : ++ loc:Location.t -> Asttypes.rec_flag -> value_binding list -> structure_item list ++ (** [pstr_value_list ~loc rf vbs] = [pstr_value ~loc rf vbs] if [vbs <> []], [[]] ++ otherwise. *) ++ + val nonrec_type_declaration : + (name:string Location.loc + -> params:(core_type * Asttypes.variance) list +diff -uNr ppx_core-113.33.00/src/ast_builder.ml ppx_core-113.33.01+4.03/src/ast_builder.ml +--- ppx_core-113.33.00/src/ast_builder.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/ast_builder.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -22,27 +22,31 @@ + + include Ast_builder_generated.M + ++ let pstr_value_list ~loc rec_flag = function ++ | [] -> [] ++ | vbs -> [pstr_value ~loc rec_flag vbs] ++ + let nonrec_type_declaration ~loc ~name ~params ~cstrs ~kind ~private_ ~manifest = + let td = type_declaration ~loc ~name ~params ~cstrs ~kind ~private_ ~manifest in + { td with ptype_attributes = + ({ txt = "nonrec"; loc }, PStr []) :: td.ptype_attributes } + ;; + +- let eint ~loc t = pexp_constant ~loc (Const_int t) +- let echar ~loc t = pexp_constant ~loc (Const_char t) +- let estring ~loc t = pexp_constant ~loc (Const_string (t, None)) +- let efloat ~loc t = pexp_constant ~loc (Const_float t) +- let eint32 ~loc t = pexp_constant ~loc (Const_int32 t) +- let eint64 ~loc t = pexp_constant ~loc (Const_int64 t) +- let enativeint ~loc t = pexp_constant ~loc (Const_nativeint t) +- +- let pint ~loc t = ppat_constant ~loc (Const_int t) +- let pchar ~loc t = ppat_constant ~loc (Const_char t) +- let pstring ~loc t = ppat_constant ~loc (Const_string (t, None)) +- let pfloat ~loc t = ppat_constant ~loc (Const_float t) +- let pint32 ~loc t = ppat_constant ~loc (Const_int32 t) +- let pint64 ~loc t = ppat_constant ~loc (Const_int64 t) +- let pnativeint ~loc t = ppat_constant ~loc (Const_nativeint t) ++ let eint ~loc t = pexp_constant ~loc (Pconst_integer (string_of_int t, None)) ++ let echar ~loc t = pexp_constant ~loc (Pconst_char t) ++ let estring ~loc t = pexp_constant ~loc (Pconst_string (t, None)) ++ let efloat ~loc t = pexp_constant ~loc (Pconst_float (t, None)) ++ let eint32 ~loc t = pexp_constant ~loc (Pconst_integer (Int32.to_string t, Some 'l')) ++ let eint64 ~loc t = pexp_constant ~loc (Pconst_integer (Int64.to_string t, Some 'L')) ++ let enativeint ~loc t = pexp_constant ~loc (Pconst_integer (Nativeint.to_string t, Some 'n')) ++ ++ let pint ~loc t = ppat_constant ~loc (Pconst_integer (string_of_int t, None)) ++ let pchar ~loc t = ppat_constant ~loc (Pconst_char t) ++ let pstring ~loc t = ppat_constant ~loc (Pconst_string (t, None)) ++ let pfloat ~loc t = ppat_constant ~loc (Pconst_float (t, None)) ++ let pint32 ~loc t = ppat_constant ~loc (Pconst_integer (Int32.to_string t, Some 'l')) ++ let pint64 ~loc t = ppat_constant ~loc (Pconst_integer (Int64.to_string t, Some 'L')) ++ let pnativeint ~loc t = ppat_constant ~loc (Pconst_integer (Nativeint.to_string t, Some 'n')) + + let ebool ~loc t = pexp_construct ~loc (Located.lident ~loc (string_of_bool t)) None + let pbool ~loc t = ppat_construct ~loc (Located.lident ~loc (string_of_bool t)) None +@@ -77,10 +81,11 @@ + | _ -> pexp_apply ~loc e el + ;; + +- let eapply ~loc e el = pexp_apply ~loc e (List.map el ~f:(fun e -> ("", e))) ++ let eapply ~loc e el = ++ pexp_apply ~loc e (List.map el ~f:(fun e -> (Asttypes.Nolabel, e))) + + let eabstract ~loc ps e = +- List.fold_right ps ~init:e ~f:(fun p e -> pexp_fun ~loc "" None p e) ++ List.fold_right ps ~init:e ~f:(fun p e -> pexp_fun ~loc Asttypes.Nolabel None p e) + ;; + + let pconstruct cd arg = ppat_construct ~loc:cd.pcd_loc (Located.map_lident cd.pcd_name) arg +@@ -111,6 +116,8 @@ + module Make(Loc : sig val loc : Location.t end) : S = struct + include Ast_builder_generated.Make(Loc) + ++ let pstr_value_list = Default.pstr_value_list ++ + let nonrec_type_declaration ~name ~params ~cstrs ~kind ~private_ ~manifest = + Default.nonrec_type_declaration ~loc ~name ~params ~cstrs ~kind ~private_ ~manifest + ;; +diff -uNr ppx_core-113.33.00/src/ast_pattern.ml ppx_core-113.33.01+4.03/src/ast_pattern.ml +--- ppx_core-113.33.00/src/ast_pattern.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/ast_pattern.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -80,6 +80,13 @@ + + let ( >>| ) t f = map t ~f + ++let map0 (T func) ~f = T (fun ctx loc x k -> func ctx loc x ( k f )) ++let map1 (T func) ~f = T (fun ctx loc x k -> func ctx loc x (fun a -> k (f a ))) ++let map2 (T func) ~f = T (fun ctx loc x k -> func ctx loc x (fun a b -> k (f a b))) ++ ++let alt_option some none = ++ alt (map1 some ~f:(fun x -> Some x)) (map0 none ~f:None) ++ + let many (T f) = T (fun ctx loc l k -> + k (List.map l ~f:(fun x -> f ctx loc x (fun x -> x)))) + ;; +@@ -96,25 +103,37 @@ + + let ( ^:: ) = cons + +-let eint t = pexp_constant (const_int t) +-let echar t = pexp_constant (const_char t) +-let estring t = pexp_constant (const_string t drop) +-let efloat t = pexp_constant (const_float t) +-let eint32 t = pexp_constant (const_int32 t) +-let eint64 t = pexp_constant (const_int64 t) ++let echar t = pexp_constant (pconst_char t ) ++let estring t = pexp_constant (pconst_string t drop) ++let efloat t = pexp_constant (pconst_float t drop) ++ ++let pchar t = ppat_constant (pconst_char t ) ++let pstring t = ppat_constant (pconst_string t drop) ++let pfloat t = ppat_constant (pconst_float t drop) ++ ++let int' (T f) = T (fun ctx loc x k -> f ctx loc (int_of_string x) k) ++let int32' (T f) = T (fun ctx loc x k -> f ctx loc (Int32.of_string x) k) ++let int64' (T f) = T (fun ctx loc x k -> f ctx loc (Int64.of_string x) k) ++let nativeint' (T f) = T (fun ctx loc x k -> f ctx loc (Nativeint.of_string x) k) ++ ++let const_int t = pconst_integer (int' t) none ++let const_int32 t = pconst_integer (int32' t) (some (char 'l')) ++let const_int64 t = pconst_integer (int64' t) (some (char 'L')) ++let const_nativeint t = pconst_integer (nativeint' t) (some (char 'n')) ++ ++let eint t = pexp_constant (const_int t) ++let eint32 t = pexp_constant (const_int32 t) ++let eint64 t = pexp_constant (const_int64 t) + let enativeint t = pexp_constant (const_nativeint t) + +-let pint t = ppat_constant (const_int t) +-let pchar t = ppat_constant (const_char t) +-let pstring t = ppat_constant (const_string t drop) +-let pfloat t = ppat_constant (const_float t) +-let pint32 t = ppat_constant (const_int32 t) +-let pint64 t = ppat_constant (const_int64 t) ++let pint t = ppat_constant (const_int t) ++let pint32 t = ppat_constant (const_int32 t) ++let pint64 t = ppat_constant (const_int64 t) + let pnativeint t = ppat_constant (const_nativeint t) + + let single_expr_payload t = pstr (pstr_eval t nil ^:: nil) + +-let no_label t = string "" ** t ++let no_label t = (cst Asttypes.Nolabel ~to_string:(fun _ -> "Nolabel")) ** t + + let attribute (T f1) (T f2) = T (fun ctx loc ((name : _ Location.loc), payload) k -> + let k = f1 ctx name.loc name.txt k in +diff -uNr ppx_core-113.33.00/src/ast_pattern.mli ppx_core-113.33.01+4.03/src/ast_pattern.mli +--- ppx_core-113.33.00/src/ast_pattern.mli 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/ast_pattern.mli 2016-04-18 12:14:21.000000000 +0200 +@@ -115,6 +115,10 @@ + one. *) + val alt : ('a, 'b, 'c) t -> ('a, 'b, 'c) t -> ('a, 'b, 'c) t + ++(** Same as [alt], for the common case where the left-hand-side captures a value but not ++ the right-hand-side. *) ++val alt_option : ('a, 'v -> 'b, 'c) t -> ('a, 'b, 'c) t -> ('a, 'v option -> 'b, 'c) t ++ + (** Same as [alt] *) + val ( ||| ) : ('a, 'b, 'c) t -> ('a, 'b, 'c) t -> ('a, 'b, 'c) t + +@@ -125,6 +129,10 @@ + (** Same as [map] *) + val ( >>| ) : ('a, 'b, 'c) t -> ('d -> 'b) -> ('a, 'd, 'c) t + ++val map0 : ('a, 'b, 'c) t -> f: 'v -> ('a, 'v -> 'b, 'c) t ++val map1 : ('a, 'v1 -> 'b, 'c) t -> f:('v1 -> 'v) -> ('a, 'v -> 'b, 'c) t ++val map2 : ('a, 'v1 -> 'v2 -> 'b, 'c) t -> f:('v1 -> 'v2 -> 'v) -> ('a, 'v -> 'b, 'c) t ++ + val ( ^:: ) : ('a, 'b, 'c) t -> ('a list, 'c, 'd) t -> ('a list, 'b, 'd) t + val many : ('a, 'b -> 'b, 'c) t -> ('a list, 'c list -> 'd, 'd) t + +@@ -194,7 +202,7 @@ + + val single_expr_payload : (expression, 'a, 'b) t -> (payload, 'a, 'b) t + +-val no_label : (expression, 'a, 'b) t -> (string * expression, 'a, 'b) t ++val no_label : (expression, 'a, 'b) t -> (Asttypes.arg_label * expression, 'a, 'b) t + + val attribute : (string, 'a, 'b) t -> (payload, 'b, 'c) t -> (attribute, 'a, 'c) t + val extension : (string, 'a, 'b) t -> (payload, 'b, 'c) t -> (attribute, 'a, 'c) t +diff -uNr ppx_core-113.33.00/src/attribute.ml ppx_core-113.33.01+4.03/src/attribute.ml +--- ppx_core-113.33.00/src/attribute.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/attribute.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -15,6 +15,10 @@ + ; "ocaml.doc" + ; "ocaml.text" + ; "nonrec" ++ ; "ocaml.noalloc" ++ ; "ocaml.unboxed" ++ ; "ocaml.untagged" ++ ; "ocaml.inline" + ] + ;; + +@@ -74,6 +78,7 @@ + | Pstr_eval : structure_item t + | Pstr_extension : structure_item t + | Psig_extension : signature_item t ++ | Row_field : row_field t + + let label_declaration = Label_declaration + let constructor_declaration = Constructor_declaration +@@ -100,6 +105,7 @@ + let pstr_eval = Pstr_eval + let pstr_extension = Pstr_extension + let psig_extension = Psig_extension ++ let row_field = Row_field + + let get_pstr_eval st = + match st.pstr_desc with +@@ -116,6 +122,17 @@ + | Psig_extension (e, l) -> (e, l) + | _ -> failwith "Attribute.Context.get_psig_extension" + ++ module Row_field = struct ++ let get_attrs = function ++ | Rinherit _ -> [] ++ | Rtag (_, attrs, _, _) -> attrs ++ ++ let set_attrs attrs = function ++ | Rinherit _ -> invalid_arg "Row_field.set_attrs" ++ | Rtag (lbl, _, can_be_constant, params_opts) -> ++ Rtag (lbl, attrs, can_be_constant, params_opts) ++ end ++ + let get_attributes : type a. a t -> a -> attributes = fun t x -> + match t with + | Label_declaration -> x.pld_attributes +@@ -143,6 +160,7 @@ + | Pstr_eval -> snd (get_pstr_eval x) + | Pstr_extension -> snd (get_pstr_extension x) + | Psig_extension -> snd (get_psig_extension x) ++ | Row_field -> Row_field.get_attrs x + + let set_attributes : type a. a t -> a -> attributes -> a = fun t x attrs -> + match t with +@@ -174,6 +192,7 @@ + { x with pstr_desc = Pstr_extension (get_pstr_extension x |> fst, attrs) } + | Psig_extension -> + { x with psig_desc = Psig_extension (get_psig_extension x |> fst, attrs) } ++ | Row_field -> Row_field.set_attrs attrs x + + let desc : type a. a t -> string = function + | Label_declaration -> "label declaration" +@@ -201,6 +220,7 @@ + | Pstr_eval -> "toplevel expression" + | Pstr_extension -> "toplevel extension" + | Psig_extension -> "toplevel signature extension" ++ | Row_field -> "row field" + + (* + let pattern : type a b c d. a t +@@ -480,6 +500,7 @@ + method! module_expr x = super#module_expr (self#check_node Context.Module_expr x) + method! value_binding x = super#value_binding (self#check_node Context.Value_binding x) + method! module_binding x = super#module_binding (self#check_node Context.Module_binding x) ++ method! row_field x = super#row_field (self#check_node Context.Row_field x) + + method! class_field x = + let x = self#check_node Context.Class_field x in +diff -uNr ppx_core-113.33.00/src/attribute.mli ppx_core-113.33.01+4.03/src/attribute.mli +--- ppx_core-113.33.00/src/attribute.mli 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/attribute.mli 2016-04-18 12:14:21.000000000 +0200 +@@ -42,6 +42,7 @@ + val pstr_eval : structure_item t + val pstr_extension : structure_item t + val psig_extension : signature_item t ++ val row_field : row_field t + end + + (** [declare fully_qualified_name context payload_pattern k] declares an attribute. [k] is +diff -uNr ppx_core-113.33.00/src/common.ml ppx_core-113.33.01+4.03/src/common.ml +--- ppx_core-113.33.00/src/common.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/common.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -16,7 +16,7 @@ + List.fold_right + (fun (tp, _variance) acc -> + let loc = tp.ptyp_loc in +- ptyp_arrow ~loc "" (f ~loc tp) acc) ++ ptyp_arrow ~loc Nolabel (f ~loc tp) acc) + td.ptype_params + result_type + ;; +@@ -74,7 +74,9 @@ + + method! constructor_declaration cd = + (* Don't recurse through cd.pcd_res *) +- List.iter (fun ty -> self#core_type ty) cd.pcd_args ++ match cd.pcd_args with ++ | Pcstr_tuple args -> List.iter (fun ty -> self#core_type ty) args ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" + end + + let types_are_recursive ?(stop_on_functions = true) ?(short_circuit = fun _ -> None) +@@ -110,6 +112,7 @@ + match payload with + | PStr [] -> name.loc + | PStr (x :: l) -> { x.pstr_loc with loc_end = (last x l).pstr_loc.loc_end } ++ | PSig _ -> failwith "Not yet implemented" + | PTyp t -> t.ptyp_loc + | PPat (x, None) -> x.ppat_loc + | PPat (x, Some e) -> { x.ppat_loc with loc_end = e.pexp_loc.loc_end } +diff -uNr ppx_core-113.33.00/src/gen/common.ml ppx_core-113.33.01+4.03/src/gen/common.ml +--- ppx_core-113.33.00/src/gen/common.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/gen/common.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -70,8 +70,13 @@ + | Type_variant cds -> + List.fold_left cds ~init:acc + ~f:(fun acc (cd : Types.constructor_declaration) -> +- List.fold_left cd.cd_args ~init:acc +- ~f:(add_type_expr_dependencies env)) ++ match cd.cd_args with ++ | Cstr_tuple typ_exprs -> ++ List.fold_left typ_exprs ~init:acc ~f:(add_type_expr_dependencies env) ++ | Cstr_record label_decls -> ++ List.fold_left label_decls ~init:acc ++ ~f:(fun acc (label_decl : Types.label_declaration) -> ++ add_type_expr_dependencies env acc label_decl.ld_type)) + | Type_abstract -> + match td.type_manifest with + | None -> acc +diff -uNr ppx_core-113.33.00/src/gen/gen_ast_builder.ml ppx_core-113.33.01+4.03/src/gen/gen_ast_builder.ml +--- ppx_core-113.33.00/src/gen/gen_ast_builder.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/gen/gen_ast_builder.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -121,57 +121,60 @@ + open M + + let gen_combinator_for_constructor ~wrapper:(wpath, wprefix, has_attrs) path ~prefix cd = +- let args = +- List.mapi cd.cd_args ~f:(fun i _ -> sprintf "x%d" i) +- in +- let exp = +- Exp.construct (Loc.mk (fqn_longident path cd.cd_id)) +- (match args with +- | [] -> None +- | [x] -> Some (evar x) +- | _ -> Some (Exp.tuple (List.map args ~f:evar))) +- in +- let body = +- let fields = +- [ ( Loc.mk (fqn_longident' wpath (wprefix ^ "loc")) +- , evar "loc" +- ) +- ; ( Loc.mk (fqn_longident' wpath (wprefix ^ "desc")) +- , exp +- ) +- ] ++ match cd.cd_args with ++ | Cstr_record _ -> failwith "Cstr_record not supported" ++ | Cstr_tuple cd_args -> ++ let args = ++ List.mapi cd_args ~f:(fun i _ -> sprintf "x%d" i) ++ in ++ let exp = ++ Exp.construct (Loc.mk (fqn_longident path cd.cd_id)) ++ (match args with ++ | [] -> None ++ | [x] -> Some (evar x) ++ | _ -> Some (Exp.tuple (List.map args ~f:evar))) + in +- let fields = +- if has_attrs then +- ( Loc.mk (fqn_longident' wpath (wprefix ^ "attributes")) +- , [%expr []] +- ) +- :: fields ++ let body = ++ let fields = ++ [ ( Loc.mk (fqn_longident' wpath (wprefix ^ "loc")) ++ , evar "loc" ++ ) ++ ; ( Loc.mk (fqn_longident' wpath (wprefix ^ "desc")) ++ , exp ++ ) ++ ] ++ in ++ let fields = ++ if has_attrs then ++ ( Loc.mk (fqn_longident' wpath (wprefix ^ "attributes")) ++ , [%expr []] ++ ) ++ :: fields ++ else ++ fields ++ in ++ Exp.record fields None ++ in ++ let body = ++ (* match args with ++ | [] -> [%expr fun () -> [%e body]] ++ | _ ->*) ++ List.fold_right args ~init:body ~f:(fun arg acc -> ++ [%expr fun [%p pvar arg] -> [%e acc]]) ++ in ++ (* let body = ++ if not has_attrs then ++ body ++ else ++ [%expr fun ?(attrs=[]) -> [%e body]] ++ in*) ++ let body = ++ if fixed_loc then ++ body + else +- fields ++ [%expr fun ~loc -> [%e body]] + in +- Exp.record fields None +- in +- let body = +-(* match args with +- | [] -> [%expr fun () -> [%e body]] +- | _ ->*) +- List.fold_right args ~init:body ~f:(fun arg acc -> +- [%expr fun [%p pvar arg] -> [%e acc]]) +- in +-(* let body = +- if not has_attrs then +- body +- else +- [%expr fun ?(attrs=[]) -> [%e body]] +- in*) +- let body = +- if fixed_loc then +- body +- else +- [%expr fun ~loc -> [%e body]] +- in +- [%stri let [%p pvar (function_name_of_id ~prefix cd.cd_id)] = [%e body]] ++ [%stri let [%p pvar (function_name_of_id ~prefix cd.cd_id)] = [%e body]] + ;; + + let gen_combinator_for_record path ~prefix lds = +@@ -189,10 +192,10 @@ + let body = + let l = List.filter funcs ~f:(fun f -> f <> "loc" && f <> "attributes") in + match l with +- | [x] -> Exp.fun_ "" None (pvar x) body ++ | [x] -> Exp.fun_ Nolabel None (pvar x) body + | _ -> + List.fold_right l ~init:body ~f:(fun func acc -> +- Exp.fun_ func None (pvar func) acc ++ Exp.fun_ (Labelled func) None (pvar func) acc + ) + in + (* let body = +diff -uNr ppx_core-113.33.00/src/gen/gen_ast_pattern.ml ppx_core-113.33.01+4.03/src/gen/gen_ast_pattern.ml +--- ppx_core-113.33.00/src/gen/gen_ast_pattern.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/gen/gen_ast_pattern.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -157,66 +157,69 @@ + ] + + let gen_combinator_for_constructor ?wrapper path ~prefix cd = +- let args = +- List.mapi cd.cd_args ~f:(fun i _ -> sprintf "x%d" i) +- in +- let funcs = +- List.mapi cd.cd_args ~f:(fun i _ -> sprintf "f%d" i) +- in +- let pat = +- Pat.construct (Loc.mk (fqn_longident path cd.cd_id)) +- (match args with +- | [] -> None +- | [x] -> Some (pvar x) +- | _ -> Some (Pat.tuple (List.map args ~f:pvar))) +- in +- let exp = +- apply_parsers funcs (List.map args ~f:evar) cd.cd_args +- in +- let expected = without_prefix ~prefix (Ident.name cd.cd_id) in +- let body = +- [%expr +- match x with +- | [%p pat] -> ctx.matched <- ctx.matched + 1; [%e exp] +- | _ -> fail loc [%e Exp.constant (Const_string (expected, None))] +- ] +- in +- let body = +- match wrapper with +- | None -> body +- | Some (path, prefix, has_attrs) -> +- let body = +- [%expr +- let loc = [%e Exp.field (evar "x") +- (Loc.mk @@ fqn_longident' path (prefix ^ "loc"))] +- in +- let x = [%e Exp.field (evar "x") +- (Loc.mk @@ fqn_longident' path (prefix ^ "desc"))] +- in +- [%e body] +- ] +- in +- if has_attrs then +- [%expr +- [%e assert_no_attributes ~path ~prefix]; +- [%e body] +- ] +- else +- body +- in +- let body = +- let loc = ++ match cd.cd_args with ++ | Cstr_record _ -> failwith "Cstr_record not supported" ++ | Cstr_tuple cd_args -> ++ let args = ++ List.mapi cd_args ~f:(fun i _ -> sprintf "x%d" i) ++ in ++ let funcs = ++ List.mapi cd_args ~f:(fun i _ -> sprintf "f%d" i) ++ in ++ let pat = ++ Pat.construct (Loc.mk (fqn_longident path cd.cd_id)) ++ (match args with ++ | [] -> None ++ | [x] -> Some (pvar x) ++ | _ -> Some (Pat.tuple (List.map args ~f:pvar))) ++ in ++ let exp = ++ apply_parsers funcs (List.map args ~f:evar) cd_args ++ in ++ let expected = without_prefix ~prefix (Ident.name cd.cd_id) in ++ let body = ++ [%expr ++ match x with ++ | [%p pat] -> ctx.matched <- ctx.matched + 1; [%e exp] ++ | _ -> fail loc [%e Exp.constant (Pconst_string (expected, None))] ++ ] ++ in ++ let body = + match wrapper with +- | None -> [%pat? loc] +- | Some _ -> [%pat? _loc] ++ | None -> body ++ | Some (path, prefix, has_attrs) -> ++ let body = ++ [%expr ++ let loc = [%e Exp.field (evar "x") ++ (Loc.mk @@ fqn_longident' path (prefix ^ "loc"))] ++ in ++ let x = [%e Exp.field (evar "x") ++ (Loc.mk @@ fqn_longident' path (prefix ^ "desc"))] ++ in ++ [%e body] ++ ] ++ in ++ if has_attrs then ++ [%expr ++ [%e assert_no_attributes ~path ~prefix]; ++ [%e body] ++ ] ++ else ++ body + in +- [%expr T (fun ctx [%p loc] x k -> [%e body])] +- in +- let body = +- List.fold_right funcs ~init:body ~f:(fun func acc -> +- [%expr fun (T [%p pvar func]) -> [%e acc]]) +- in +- [%stri let [%p pvar (function_name_of_id ~prefix cd.cd_id)] = [%e body]] ++ let body = ++ let loc = ++ match wrapper with ++ | None -> [%pat? loc] ++ | Some _ -> [%pat? _loc] ++ in ++ [%expr T (fun ctx [%p loc] x k -> [%e body])] ++ in ++ let body = ++ List.fold_right funcs ~init:body ~f:(fun func acc -> ++ [%expr fun (T [%p pvar func]) -> [%e acc]]) ++ in ++ [%stri let [%p pvar (function_name_of_id ~prefix cd.cd_id)] = [%e body]] + ;; + + let gen_combinator_for_record path ~prefix ~has_attrs lds = +@@ -241,7 +244,7 @@ + let body = [%expr T (fun ctx loc x k -> [%e body])] in + let body = + List.fold_right funcs ~init:body ~f:(fun func acc -> +- Exp.fun_ func None [%pat? T [%p pvar func]] acc) ++ Exp.fun_ (Labelled func) None [%pat? T [%p pvar func]] acc) + in + [%stri let [%p pvar (Common.function_name_of_path path)] = [%e body]] + ;; +diff -uNr ppx_core-113.33.00/src/gen/gen.ml ppx_core-113.33.01+4.03/src/gen/gen.ml +--- ppx_core-113.33.00/src/gen/gen.ml 2016-03-09 16:44:53.000000000 +0100 ++++ ppx_core-113.33.01+4.03/src/gen/gen.ml 2016-04-18 12:14:21.000000000 +0200 +@@ -23,7 +23,7 @@ + + method apply + : Parsetree.expression +- -> (string * Parsetree.expression) list ++ -> (Asttypes.arg_label * Parsetree.expression) list + -> Parsetree.expression + + method abstract +@@ -49,9 +49,9 @@ + method class_params = [] + + method apply expr args = Exp.apply expr args +- method abstract patt expr = Exp.fun_ "" None patt expr ++ method abstract patt expr = Exp.fun_ Nolabel None patt expr + +- method typ ty = Typ.arrow "" ty ty ++ method typ ty = Typ.arrow Nolabel ty ty + + method array = [%expr Array.map] + method any = [%expr fun x -> x] +@@ -68,7 +68,7 @@ + method class_params = [] + + method apply expr args = Exp.apply expr args +- method abstract patt expr = Exp.fun_ "" None patt expr ++ method abstract patt expr = Exp.fun_ Nolabel None patt expr + + method typ ty = [%type: [%t ty] -> unit] + method array = [%expr Array.iter] +@@ -88,8 +88,9 @@ + + method class_params = [(Typ.var "acc", Asttypes.Invariant)] + +- method apply expr args = Exp.apply expr (args @ [("", evar "acc")]) +- method abstract patt expr = Exp.fun_ "" None patt (Exp.fun_ "" None (pvar "acc") expr) ++ method apply expr args = Exp.apply expr (args @ [(Asttypes.Nolabel, evar "acc")]) ++ method abstract patt expr = ++ Exp.fun_ Nolabel None patt (Exp.fun_ Nolabel None (pvar "acc") expr) + + method typ ty = [%type: [%t ty] -> 'acc -> 'acc] + method array = +@@ -121,8 +122,9 @@ + + method class_params = [(Typ.var "acc", Asttypes.Invariant)] + +- method apply expr args = Exp.apply expr (args @ [("", evar "acc")]) +- method abstract patt expr = Exp.fun_ "" None patt (Exp.fun_ "" None (pvar "acc") expr) ++ method apply expr args = Exp.apply expr (args @ [(Asttypes.Nolabel, evar "acc")]) ++ method abstract patt expr = ++ Exp.fun_ Nolabel None patt (Exp.fun_ Nolabel None (pvar "acc") expr) + + method typ ty = [%type: [%t ty] -> 'acc -> [%t ty] * 'acc] + method array = +@@ -180,12 +182,12 @@ + + method class_params = [(Typ.var "ctx", Asttypes.Invariant)] + +- method apply expr args = Exp.apply expr (("", evar "ctx") :: args) ++ method apply expr args = Exp.apply expr ((Asttypes.Nolabel, evar "ctx") :: args) + method abstract patt expr = + if uses_ctx expr then +- Exp.fun_ "" None (pvar "ctx") (Exp.fun_ "" None patt expr) ++ Exp.fun_ Nolabel None (pvar "ctx") (Exp.fun_ Nolabel None patt expr) + else +- Exp.fun_ "" None (pvar "_ctx") (Exp.fun_ "" None patt expr) ++ Exp.fun_ Nolabel None (pvar "_ctx") (Exp.fun_ Nolabel None patt expr) + + method typ ty = [%type: 'ctx -> [%t ty] -> [%t ty]] + method array = [%expr fun ctx a -> Array.map (f ctx) a] +@@ -219,7 +221,7 @@ + let ty = Typ.constr (Loc.mk ~loc (longident_of_path path)) params in + let ty = + List.fold_right +- (fun param ty -> Typ.arrow "" (what#typ param) ty) ++ (fun param ty -> Typ.arrow Nolabel (what#typ param) ty) + params (what#typ ty) + in + Typ.poly vars ty +@@ -244,7 +246,8 @@ + | _ -> + Exp.apply map + (List.map +- (fun te -> ("", type_expr_mapper ~what ~all_types ~var_mappers te)) ++ (fun te -> ++ (Asttypes.Nolabel, type_expr_mapper ~what ~all_types ~var_mappers te)) + params) + else + what#any +@@ -263,7 +266,8 @@ + List.map2 + (fun te var -> + (var, +- what#apply (type_expr_mapper ~what ~all_types ~var_mappers te) [("", evar var)])) ++ what#apply (type_expr_mapper ~what ~all_types ~var_mappers te) ++ [(Asttypes.Nolabel, evar var)])) + tes vars + ;; + +@@ -290,24 +294,27 @@ + let cases = + List.map + (fun cd -> +- let vars = vars_of_list cd.cd_args in +- let cstr = Loc.mk ~loc (lident (Ident.name cd.cd_id)) in +- let deconstruct = +- Pat.construct cstr +- (match vars with +- | [] -> None +- | _ -> Some (Pat.tuple (List.map pvar vars))) +- in +- let reconstruct = +- Exp.construct cstr +- (match vars with +- | [] -> None +- | _ -> Some (Exp.tuple (List.map evar vars))) +- in +- let mappers = +- map_variables ~what ~all_types ~var_mappers vars cd.cd_args +- in +- Exp.case deconstruct (what#combine mappers ~reconstruct)) ++ match cd.cd_args with ++ | Cstr_tuple args -> ++ let vars = vars_of_list args in ++ let cstr = Loc.mk ~loc (lident (Ident.name cd.cd_id)) in ++ let deconstruct = ++ Pat.construct cstr ++ (match vars with ++ | [] -> None ++ | _ -> Some (Pat.tuple (List.map pvar vars))) ++ in ++ let reconstruct = ++ Exp.construct cstr ++ (match vars with ++ | [] -> None ++ | _ -> Some (Exp.tuple (List.map evar vars))) ++ in ++ let mappers = ++ map_variables ~what ~all_types ~var_mappers vars args ++ in ++ Exp.case deconstruct (what#combine mappers ~reconstruct) ++ | Cstr_record _ -> failwith "Cstr_record not supported") + cds + in + what#abstract (pvar "x") (Exp.match_ (evar "x") cases) +@@ -333,7 +340,7 @@ + | Some te -> type_expr_mapper ~what ~all_types ~var_mappers te + in + List.fold_right +- (fun (_, v) acc -> Exp.fun_ "" None (pvar v) acc) ++ (fun (_, v) acc -> Exp.fun_ Nolabel None (pvar v) acc) + var_mappers body + end + ;; diff --git a/dev-ml/ppx_core/ppx_core-113.33.00.ebuild b/dev-ml/ppx_core/ppx_core-113.33.00.ebuild index d00d0966dd88..1ba11129cbb3 100644 --- a/dev-ml/ppx_core/ppx_core-113.33.00.ebuild +++ b/dev-ml/ppx_core/ppx_core-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils DESCRIPTION="Standard library for ppx rewriters" HOMEPAGE="http://www.janestreet.com/ocaml" @@ -19,6 +19,10 @@ DEPEND="dev-ml/ppx_tools:=" RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_custom_printf/files/oc43.patch b/dev-ml/ppx_custom_printf/files/oc43.patch new file mode 100644 index 000000000000..959a4be2ac1d --- /dev/null +++ b/dev-ml/ppx_custom_printf/files/oc43.patch @@ -0,0 +1,145 @@ +diff -uNr ppx_custom_printf-113.33.00/CHANGES.md ppx_custom_printf-113.33.00+4.03/CHANGES.md +--- ppx_custom_printf-113.33.00/CHANGES.md 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/CHANGES.md 2016-03-22 15:13:50.000000000 +0100 +@@ -1,3 +1,7 @@ ++## 113.33.00+4.03 ++ ++Various updates to work with OCaml 4.03.0 ++ + ## 113.24.00 + + - OCaml makes no distinctions between "foo" and +diff -uNr ppx_custom_printf-113.33.00/format-lifter/META ppx_custom_printf-113.33.00+4.03/format-lifter/META +--- ppx_custom_printf-113.33.00/format-lifter/META 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/format-lifter/META 2016-03-22 17:51:36.000000000 +0100 +@@ -1,6 +1,6 @@ + # OASIS_START +-# DO NOT EDIT (digest: 30e281114bcfdcf7ccf231691613c2e6) +-version = "113.33.00" ++# DO NOT EDIT (digest: 2c66a1ad37be0774b6cf2393020b734d) ++version = "113.33.00+4.03" + description = + "Printf-style format-strings for user-defined string conversion" + archive(byte) = "ppx_format_lifter.cma" +diff -uNr ppx_custom_printf-113.33.00/INSTALL.txt ppx_custom_printf-113.33.00+4.03/INSTALL.txt +--- ppx_custom_printf-113.33.00/INSTALL.txt 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/INSTALL.txt 2016-03-22 17:51:36.000000000 +0100 +@@ -1,5 +1,5 @@ + (* OASIS_START *) +-(* DO NOT EDIT (digest: aa3e5a8a416bfdc4bbbd15b0bcdbfede) *) ++(* DO NOT EDIT (digest: d41a009725728d3aa9236f47b80b9b12) *) + + This is the INSTALL file for the ppx_custom_printf distribution. + +@@ -11,7 +11,7 @@ + + In order to compile this package, you will need: + +-* ocaml (>= 4.02.3) ++* ocaml (>= 4.03.0) + * findlib (>= 1.3.2) + * ppx_core for library ppx_custom_printf + * ppx_driver for library ppx_custom_printf, executable ppx +diff -uNr ppx_custom_printf-113.33.00/_oasis ppx_custom_printf-113.33.00+4.03/_oasis +--- ppx_custom_printf-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_custom_printf +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Printf-style format-strings for user-defined string conversion + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_custom_printf-113.33.00/opam ppx_custom_printf-113.33.00+4.03/opam +--- ppx_custom_printf-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/opam 2016-03-22 17:51:36.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_sexp_conv" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_custom_printf-113.33.00/setup.ml ppx_custom_printf-113.33.00+4.03/setup.ml +--- ppx_custom_printf-113.33.00/setup.ml 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/setup.ml 2016-03-22 17:51:36.000000000 +0100 +@@ -1,5 +1,5 @@ + (* OASIS_START *) +-(* DO NOT EDIT (digest: c9a6b21baa91c0680f8cba2e849204cf) *) ++(* DO NOT EDIT (digest: 924f534c954af21abd6099b21f46beee) *) + (* + Regenerated by OASIS v0.4.5 + Visit http://oasis.forge.ocamlcore.org for more information and +@@ -6666,12 +6666,12 @@ + package = + { + oasis_version = "0.4"; +- ocaml_version = Some (OASISVersion.VGreaterEqual "4.02.3"); ++ ocaml_version = Some (OASISVersion.VGreaterEqual "4.03.0"); + findlib_version = Some (OASISVersion.VGreaterEqual "1.3.2"); + alpha_features = []; + beta_features = []; + name = "ppx_custom_printf"; +- version = "113.33.00"; ++ version = "113.33.00+4.03"; + license = + OASISLicense.DEP5License + (OASISLicense.DEP5Unit +@@ -6841,7 +6841,7 @@ + }; + oasis_fn = Some "_oasis"; + oasis_version = "0.4.5"; +- oasis_digest = Some "Hd\2128>@-\017\228\178\138\253\228l<\r"; ++ oasis_digest = Some "UJ\215>\004\182B+\173\217\151\0165\212\011,"; + oasis_exec = None; + oasis_setup_args = []; + setup_update = false +diff -uNr ppx_custom_printf-113.33.00/src/META ppx_custom_printf-113.33.00+4.03/src/META +--- ppx_custom_printf-113.33.00/src/META 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/src/META 2016-03-22 17:51:36.000000000 +0100 +@@ -1,6 +1,6 @@ + # OASIS_START +-# DO NOT EDIT (digest: 2dabcf3bd944c3b9b0a168e17d64eb20) +-version = "113.33.00" ++# DO NOT EDIT (digest: 148f0da22163c9e0ef38850349ca8160) ++version = "113.33.00+4.03" + description = + "Printf-style format-strings for user-defined string conversion" + requires = +diff -uNr ppx_custom_printf-113.33.00/src/ppx_custom_printf.ml ppx_custom_printf-113.33.00+4.03/src/ppx_custom_printf.ml +--- ppx_custom_printf-113.33.00/src/ppx_custom_printf.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_custom_printf-113.33.00+4.03/src/ppx_custom_printf.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -182,7 +182,7 @@ + let ty = Parse.core_type lexbuf in + let e = Ppx_sexp_conv_expander.Sexp_of.core_type ty in + let arg = gen_symbol () in +- pexp_fun ~loc "" None (pvar ~loc arg) ++ pexp_fun ~loc Nolabel None (pvar ~loc arg) + (eapply ~loc sexp_converter [eapply ~loc e [evar ~loc arg]]) + | None -> + let fail loc = +@@ -214,7 +214,7 @@ + let func = pexp_ident ~loc (Located.mk ~loc to_string_id) in + (* Eta-expand as the to_string function might take optional arguments *) + let arg = gen_symbol () in +- pexp_fun ~loc "" None (pvar ~loc arg) (eapply ~loc func [evar ~loc arg]) ++ pexp_fun ~loc Nolabel None (pvar ~loc arg) (eapply ~loc func [evar ~loc arg]) + + class lifter ~loc ~custom_specs = object(self) + inherit [expression] Ppx_format_lifter.lifter as super +@@ -296,9 +296,9 @@ + match e.pexp_desc with + | Pexp_apply ({ pexp_desc = Pexp_ident { txt = Lident "!"; _ } + ; pexp_attributes = ident_attrs; _ }, +- [ ("", { pexp_desc = Pexp_constant (Const_string (str, _)) +- ; pexp_loc = loc +- ; pexp_attributes = str_attrs }) ]) -> ++ [ (Nolabel, { pexp_desc = Pexp_constant (Pconst_string (str, _)) ++ ; pexp_loc = loc ++ ; pexp_attributes = str_attrs }) ]) -> + assert_no_attributes ident_attrs; + assert_no_attributes str_attrs; + let e' = expand_format_string ~loc str in diff --git a/dev-ml/ppx_custom_printf/ppx_custom_printf-113.33.00.ebuild b/dev-ml/ppx_custom_printf/ppx_custom_printf-113.33.00.ebuild index 225be12ce3f9..3220becfae13 100644 --- a/dev-ml/ppx_custom_printf/ppx_custom_printf-113.33.00.ebuild +++ b/dev-ml/ppx_custom_printf/ppx_custom_printf-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils DESCRIPTION="Printf-style format-strings for user-defined string conversion" HOMEPAGE="http://www.janestreet.com/ocaml" @@ -23,6 +23,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_driver/files/oc43.patch b/dev-ml/ppx_driver/files/oc43.patch new file mode 100644 index 000000000000..630d6bfff3fc --- /dev/null +++ b/dev-ml/ppx_driver/files/oc43.patch @@ -0,0 +1,67 @@ +diff -uNr ppx_driver-113.33.00/_oasis ppx_driver-113.33.00+4.03/_oasis +--- ppx_driver-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_driver-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_driver +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Feature-full driver for OCaml AST transformers + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_driver-113.33.00/opam ppx_driver-113.33.00+4.03/opam +--- ppx_driver-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_driver-113.33.00+4.03/opam 2016-03-22 17:51:36.000000000 +0100 +@@ -16,4 +16,4 @@ + "ppx_core" + "ppx_optcomp" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_driver-113.33.00/src/ppx_driver.ml ppx_driver-113.33.00+4.03/src/ppx_driver.ml +--- ppx_driver-113.33.00/src/ppx_driver.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_driver-113.33.00+4.03/src/ppx_driver.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -111,6 +111,24 @@ + |> fst + ;; + ++let remove_empty_lets = object ++ inherit Ast_traverse.map as super ++ ++ method! structure_item st = ++ let st = super#structure_item st in ++ match st.pstr_desc with ++ | Pstr_value (_, []) -> ++ let (module B) = Ast_builder.make st.pstr_loc in ++ B.pstr_value Nonrecursive [B.value_binding ~pat:B.punit ~expr:B.eunit] ++ | _ -> st ++ ++ method! expression e = ++ let e = super#expression e in ++ match e.pexp_desc with ++ | Pexp_let (_, [], e) -> e ++ | _ -> e ++end ++ + let map_structure st = + let st = + if !perform_checks then begin +@@ -123,6 +141,7 @@ + apply_transforms st ~field:(fun (ct : Transform.t) -> ct.impl) + ~dropped_so_far:Attribute.dropped_so_far_structure + in ++ let st = remove_empty_lets#structure st in + if !perform_checks then begin + Attribute.check_unused#structure st; + Extension.check_unused#structure st; +@@ -143,6 +162,7 @@ + apply_transforms sg ~field:(fun ct -> ct.intf) + ~dropped_so_far:Attribute.dropped_so_far_signature + in ++ let sg = remove_empty_lets#signature sg in + if !perform_checks then begin + Attribute.check_unused#signature sg; + Extension.check_unused#signature sg; diff --git a/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild b/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild index 9e4a762fd5c0..798b803817a8 100644 --- a/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild +++ b/dev-ml/ppx_driver/ppx_driver-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils DESCRIPTION="Feature-full driver for OCaml AST transformers" HOMEPAGE="http://www.janestreet.com/ocaml" @@ -22,6 +22,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_enumerate/files/oc43.patch b/dev-ml/ppx_enumerate/files/oc43.patch new file mode 100644 index 000000000000..b04635f97909 --- /dev/null +++ b/dev-ml/ppx_enumerate/files/oc43.patch @@ -0,0 +1,40 @@ +diff -uNr ppx_enumerate-113.33.00/_oasis ppx_enumerate-113.33.00+4.03/_oasis +--- ppx_enumerate-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_enumerate-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_enumerate +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generate a list containing all values of a finite type + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_enumerate-113.33.00/opam ppx_enumerate-113.33.00+4.03/opam +--- ppx_enumerate-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_enumerate-113.33.00+4.03/opam 2016-03-22 17:51:36.000000000 +0100 +@@ -16,4 +16,4 @@ + "ppx_tools" {>= "0.99.3"} + "ppx_type_conv" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_enumerate-113.33.00/src/ppx_enumerate.ml ppx_enumerate-113.33.00+4.03/src/ppx_enumerate.ml +--- ppx_enumerate-113.33.00/src/ppx_enumerate.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_enumerate-113.33.00+4.03/src/ppx_enumerate.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -226,10 +226,11 @@ + + and constructor_case loc cd = + match cd.pcd_args with +- | [] -> [%expr [ [%e econstruct cd None ] ] ] +- | tps -> ++ | Pcstr_tuple [] -> [%expr [ [%e econstruct cd None ] ] ] ++ | Pcstr_tuple tps -> + product loc tps (fun x -> + econstruct cd (Some (pexp_tuple ~loc x))) ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" + + and product loc tps f = + let all = List.map tps ~f:(fun tp -> enum ~main_type:tp tp) in diff --git a/dev-ml/ppx_enumerate/ppx_enumerate-113.33.00.ebuild b/dev-ml/ppx_enumerate/ppx_enumerate-113.33.00.ebuild index 1f0f3773c892..ac7565ec307f 100644 --- a/dev-ml/ppx_enumerate/ppx_enumerate-113.33.00.ebuild +++ b/dev-ml/ppx_enumerate/ppx_enumerate-113.33.00.ebuild @@ -22,6 +22,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_expect/files/oc43.patch b/dev-ml/ppx_expect/files/oc43.patch new file mode 100644 index 000000000000..3606d2963380 --- /dev/null +++ b/dev-ml/ppx_expect/files/oc43.patch @@ -0,0 +1,49 @@ +diff -uNr ppx_expect-113.33.01/expect_payload/ppx_expect_payload.ml ppx_expect-113.33.01+4.03/expect_payload/ppx_expect_payload.ml +--- ppx_expect-113.33.01/expect_payload/ppx_expect_payload.ml 2016-03-22 17:09:17.000000000 +0100 ++++ ppx_expect-113.33.01+4.03/expect_payload/ppx_expect_payload.ml 2016-04-06 12:35:50.000000000 +0200 +@@ -63,7 +63,7 @@ + + let pattern () = + Ast_pattern.( +- map (single_expr_payload (pexp_loc __ (pexp_constant (const_string __ __)))) ++ map (single_expr_payload (pexp_loc __ (pexp_constant (pconst_string __ __)))) + ~f:(fun f loc s tag -> f (Some (loc, s, tag))) + ||| + map (pstr nil) +diff -uNr ppx_expect-113.33.01/_oasis ppx_expect-113.33.01+4.03/_oasis +--- ppx_expect-113.33.01/_oasis 2016-03-22 17:09:17.000000000 +0100 ++++ ppx_expect-113.33.01+4.03/_oasis 2016-04-06 12:35:50.000000000 +0200 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_expect +-Version: 113.33.01 ++Version: 113.33.01+4.03 + Synopsis: Cram like framework for OCaml + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_expect-113.33.01/opam ppx_expect-113.33.01+4.03/opam +--- ppx_expect-113.33.01/opam 2016-03-22 18:31:21.000000000 +0100 ++++ ppx_expect-113.33.01+4.03/opam 2016-04-06 12:54:27.000000000 +0200 +@@ -27,4 +27,4 @@ + "sexplib" + "variantslib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_expect-113.33.01/src/expect_extension.ml ppx_expect-113.33.01+4.03/src/expect_extension.ml +--- ppx_expect-113.33.01/src/expect_extension.ml 2016-03-22 17:09:17.000000000 +0100 ++++ ppx_expect-113.33.01+4.03/src/expect_extension.ml 2016-04-06 12:35:50.000000000 +0200 +@@ -24,9 +24,8 @@ + pstr (( + pstr_value nonrecursive ( + value_binding +- ~pat:(map (pstring __) ~f:(fun f x -> f (Some x))) ++ ~pat:(alt_option (pstring __) ppat_any) + ~expr ^:: nil) +- ||| map (pstr_eval expr nil) ~f:(fun f -> f None) + ) ^:: nil) + + let expect_test = diff --git a/dev-ml/ppx_expect/ppx_expect-113.33.01.ebuild b/dev-ml/ppx_expect/ppx_expect-113.33.01.ebuild index c605caa63581..4bb651b677f7 100644 --- a/dev-ml/ppx_expect/ppx_expect-113.33.01.ebuild +++ b/dev-ml/ppx_expect/ppx_expect-113.33.01.ebuild @@ -34,6 +34,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_fail/files/oc43.patch b/dev-ml/ppx_fail/files/oc43.patch new file mode 100644 index 000000000000..c5dd6b23eb86 --- /dev/null +++ b/dev-ml/ppx_fail/files/oc43.patch @@ -0,0 +1,35 @@ +diff -uNr ppx_fail-113.33.00/_oasis ppx_fail-113.33.00+4.03/_oasis +--- ppx_fail-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_fail-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_fail +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Add location to calls to failwiths + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_fail-113.33.00/opam ppx_fail-113.33.00+4.03/opam +--- ppx_fail-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_fail-113.33.00+4.03/opam 2016-03-22 17:51:36.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_here" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_fail-113.33.00/src/ppx_fail.ml ppx_fail-113.33.00+4.03/src/ppx_fail.ml +--- ppx_fail-113.33.00/src/ppx_fail.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_fail-113.33.00+4.03/src/ppx_fail.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -12,7 +12,7 @@ + match e.pexp_desc with + | Pexp_ident { txt = Lident "failwiths"; _ } -> + let loc = e.pexp_loc in +- pexp_apply e ~loc [("here", Ppx_here_expander.lift_position ~loc)] ++ pexp_apply e ~loc [(Labelled "here", Ppx_here_expander.lift_position ~loc)] + | _ -> super#expression e + end + diff --git a/dev-ml/ppx_fail/ppx_fail-113.33.00.ebuild b/dev-ml/ppx_fail/ppx_fail-113.33.00.ebuild index e835771ca617..800d18243f5a 100644 --- a/dev-ml/ppx_fail/ppx_fail-113.33.00.ebuild +++ b/dev-ml/ppx_fail/ppx_fail-113.33.00.ebuild @@ -23,6 +23,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_fields_conv/files/oc43.patch b/dev-ml/ppx_fields_conv/files/oc43.patch new file mode 100644 index 000000000000..f1cc40c1501f --- /dev/null +++ b/dev-ml/ppx_fields_conv/files/oc43.patch @@ -0,0 +1,223 @@ +diff -uNr ppx_fields_conv-113.33.00/_oasis ppx_fields_conv-113.33.00+4.03/_oasis +--- ppx_fields_conv-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_fields_conv-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_fields_conv +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generation of accessor and iteration functions for ocaml records + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_fields_conv-113.33.00/opam ppx_fields_conv-113.33.00+4.03/opam +--- ppx_fields_conv-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_fields_conv-113.33.00+4.03/opam 2016-03-22 17:51:36.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_tools" {>= "0.99.3"} + "ppx_type_conv" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_fields_conv-113.33.00/src/ppx_fields_conv.ml ppx_fields_conv-113.33.00+4.03/src/ppx_fields_conv.ml +--- ppx_fields_conv-113.33.00/src/ppx_fields_conv.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_fields_conv-113.33.00+4.03/src/ppx_fields_conv.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -18,7 +18,7 @@ + module A = struct (* Additional AST construction helpers *) + + let exp_string : (loc:Location.t -> string -> expression) = fun ~loc s -> +- pexp_constant ~loc (Const_string (s,None)) ++ pexp_constant ~loc (Pconst_string (s,None)) + + let pat_name : (loc:Location.t -> string -> pattern) = fun ~loc name -> + ppat_var ~loc (Location.mkloc name loc) +@@ -115,10 +115,10 @@ + let apply_type ~loc ~ty_name ~tps = + ptyp_constr ~loc (A.lid_name ~loc ty_name) tps + +- let label_arg name ty = (name,ty) ++ let label_arg name ty = (Asttypes.Labelled name,ty) + + let field_arg ~loc ~private_ ~record +- (f: field:core_type -> ty:core_type -> 'a) labdec : string * 'a = ++ (f: field:core_type -> ty:core_type -> 'a) labdec : Asttypes.arg_label * 'a = + let {pld_name=name; pld_type=ty; _} = labdec in + label_arg name.txt ( + f ~field:(field_t ~loc private_ [record; ty]) ~ty) +@@ -133,7 +133,7 @@ + let types = List.mapi labdecs ~f in + let create_record_f = [%type: 'input__ -> ([%t record]) ] in + let t = Create.lambda_sig ~loc +- (types @ [ "", acc 0 ]) ++ (types @ [ Nolabel, acc 0 ]) + ([%type: ( [%t create_record_f] * [%t acc (List.length labdecs)]) ]) + in + A.sig_item ~loc "make_creator" t +@@ -153,7 +153,7 @@ + let acc i = + ptyp_var ~loc ("acc__" ^ string_of_int i) + in +- let f i arg : (string * core_type) = ++ let f i arg : (Asttypes.arg_label * core_type) = + field_arg ~loc ~private_ ~record (fun ~field ~ty:_ -> + [%type: [%t acc i] -> [%t field] -> [%t acc (i+1)]]) arg + in +@@ -177,7 +177,7 @@ + let types = List.mapi labdecs ~f in + let init_ty = label_arg "init" (acc 0) in + let t = +- Create.lambda_sig ~loc (("",record) :: init_ty :: types) (acc (List.length labdecs)) ++ Create.lambda_sig ~loc ((Nolabel,record) :: init_ty :: types) (acc (List.length labdecs)) + in + A.sig_item ~loc "fold" t + +@@ -194,7 +194,7 @@ + let f = field_arg ~loc ~private_ ~record (fun ~field ~ty:field_ty -> + [%type: [%t field] -> [%t record] -> [%t field_ty] -> bool ] ) in + let types = List.map labdecs ~f in +- let t = Create.lambda_sig ~loc (("",record) :: types) [%type: bool ] in ++ let t = Create.lambda_sig ~loc ((Nolabel,record) :: types) [%type: bool ] in + A.sig_item ~loc fun_name t + + let iter_fun ~private_ ~ty_name ~tps ~loc labdecs = +@@ -210,7 +210,7 @@ + let f = field_arg ~loc ~private_ ~record (fun ~field ~ty:field_ty -> + [%type: [%t field] -> [%t record] -> [%t field_ty] -> unit ]) in + let types = List.map labdecs ~f in +- let t = Create.lambda_sig ~loc (("",record) :: types) [%type: unit ] in ++ let t = Create.lambda_sig ~loc ((Nolabel,record) :: types) [%type: unit ] in + A.sig_item ~loc "iter" t + + let to_list_fun ~private_ ~ty_name ~tps ~loc labdecs = +@@ -227,7 +227,7 @@ + let f = field_arg ~loc ~private_ ~record (fun ~field ~ty:field_ty -> + [%type: [%t field] -> [%t record] -> [%t field_ty] -> 'elem__ ]) in + let types = List.map labdecs ~f in +- let t = Create.lambda_sig ~loc (("",record) :: types) [%type: 'elem__ list] in ++ let t = Create.lambda_sig ~loc ((Nolabel,record) :: types) [%type: 'elem__ list] in + A.sig_item ~loc "to_list" t + + let map_fun ~ty_name ~tps ~loc labdecs = +@@ -243,7 +243,7 @@ + let f = field_arg ~loc ~private_:Public ~record (fun ~field ~ty:field_ty -> + [%type: [%t field] -> [%t record] -> [%t field_ty] -> [%t field_ty] ]) in + let types = List.map labdecs ~f in +- let t = Create.lambda_sig ~loc (("",record) :: types) record in ++ let t = Create.lambda_sig ~loc ((Nolabel,record) :: types) record in + A.sig_item ~loc "map" t + + let map_poly ~private_ ~ty_name ~tps ~loc _ = +@@ -281,7 +281,7 @@ + List.fold_right labdecs ~init:[%type: unit] ~f:(fun labdec acc -> + match labdec.pld_mutable with + | Immutable -> acc +- | Mutable -> ptyp_arrow ~loc labdec.pld_name.txt labdec.pld_type acc ++ | Mutable -> ptyp_arrow ~loc (Labelled labdec.pld_name.txt) labdec.pld_type acc + ) + in + A.sig_item ~loc "set_all_mutable_fields" [%type: [%t record] -> [%t labels]] +@@ -440,7 +440,7 @@ + match label with + | None -> name + | Some n -> n in +- l, ++ (Labelled l), + A.pat_name ~loc name + + let label_arg_fun ~loc name = +@@ -460,7 +460,7 @@ + ~expr:[%expr [%e A.exp_name ~loc (field_name ^ "_gen__")] acc__] + ] acc) + in +- Create.lambda ~loc [ ("",[%pat? acc__ ]) ] body ++ Create.lambda ~loc [ (Nolabel,[%pat? acc__ ]) ] body + in + let patterns = List.map names ~f:(label_arg_fun ~loc) in + let body0 = [%expr ([%e f], compile_acc__) ] in +@@ -480,7 +480,7 @@ + compile_acc__] + ] acc) + in +- let f = Create.lambda ~loc (patterns @ [ ("",[%pat? compile_acc__ ]) ]) body in ++ let f = Create.lambda ~loc (patterns @ [ (Nolabel,[%pat? compile_acc__ ]) ]) body in + A.str_item ~loc "make_creator" f + + let simple_creation_fun ~loc _record_name labdecs = +@@ -515,7 +515,7 @@ + let body = List.fold_left names ~init:[%expr init__ ] ~f:field_fold in + let patterns = List.map names ~f:(label_arg_fun ~loc) in + let init = label_arg ~label:"init" ~loc "init__" in +- let lambda = Create.lambda ~loc ( ("",[%pat? record__ ]) :: init :: patterns ) body in ++ let lambda = Create.lambda ~loc ( (Nolabel,[%pat? record__ ]) :: init :: patterns ) body in + A.str_item ~loc "fold" lambda + + let and_fun ~loc labdecs = +@@ -540,7 +540,7 @@ + in + let body = List.fold_left names ~init:(A.exp_true ~loc) ~f:field_fold in + let patterns = List.map names ~f:(label_arg_fun ~loc) in +- let lambda = Create.lambda ~loc (("",[%pat? record__ ]) :: patterns) body in ++ let lambda = Create.lambda ~loc ((Nolabel,[%pat? record__ ]) :: patterns) body in + A.str_item ~loc "for_all" lambda + + let or_fun ~loc labdecs = +@@ -566,7 +566,7 @@ + let body = + List.fold_left names ~init:[%expr false ] ~f:field_fold in + let patterns = List.map names ~f:(label_arg_fun ~loc) in +- let lambda = Create.lambda ~loc (("",[%pat? record__ ]) :: patterns) body in ++ let lambda = Create.lambda ~loc ((Nolabel,[%pat? record__ ]) :: patterns) body in + A.str_item ~loc "exists" lambda + + let iter_fun ~loc labdecs = +@@ -599,7 +599,7 @@ + ~init:(iter_field (List.hd names)) + ~f:(fun acc n -> [%expr ( [%e acc] ; [%e iter_field n] ) ]) in + let patterns = List.map names ~f:(label_arg_fun ~loc) in +- let lambda = Create.lambda ~loc (("",[%pat? record__ ]) :: patterns) body in ++ let lambda = Create.lambda ~loc ((Nolabel,[%pat? record__ ]) :: patterns) body in + A.str_item ~loc "iter" lambda + + let map_fun ~loc labdecs = +@@ -624,7 +624,7 @@ + in (field_name, e ))) + in + let patterns = List.map names ~f:(label_arg_fun ~loc) in +- let lambda = Create.lambda ~loc (("",[%pat? record__ ]) :: patterns) body in ++ let lambda = Create.lambda ~loc ((Nolabel,[%pat? record__ ]) :: patterns) body in + A.str_item ~loc "map" lambda + + let to_list_fun ~loc labdecs = +@@ -649,7 +649,7 @@ + :: [%e tail] ] + in + let body = List.fold_right names ~init:[%expr [ ] ] ~f:fold in +- let lambda = Create.lambda ~loc (("",[%pat? record__ ]) :: patterns) body in ++ let lambda = Create.lambda ~loc ((Nolabel,[%pat? record__ ]) :: patterns) body in + A.str_item ~loc "to_list" lambda + + let map_poly ~loc labdecs = +@@ -658,7 +658,7 @@ + [%expr record__.Fieldslib.Field.f [%e A.exp_name ~loc name] :: [%e acc] ] + in + let body = List.fold_right names ~init:[%expr []] ~f:fold in +- A.str_item ~loc "map_poly" (pexp_fun ~loc "" None [%pat? record__] body) ++ A.str_item ~loc "map_poly" (pexp_fun ~loc Nolabel None [%pat? record__] body) + + let sequence_ ~loc xs = + match (List.rev xs) with +@@ -688,10 +688,10 @@ + | Immutable -> acc + | Mutable -> + let field_name = labdec.pld_name.txt in +- pexp_fun ~loc field_name None (A.pat_name ~loc field_name) acc) ++ pexp_fun ~loc (Labelled field_name) None (A.pat_name ~loc field_name) acc) + in + A.str_item ~loc "set_all_mutable_fields" ( +- pexp_fun ~loc "" None (A.pat_name ~loc record_name) function_) ++ pexp_fun ~loc Nolabel None (A.pat_name ~loc record_name) function_) + + let record ~private_ ~record_name ~loc (labdecs:label_declaration list) : structure = + let getter_and_setters, fields = gen_fields ~private_ ~loc labdecs in diff --git a/dev-ml/ppx_fields_conv/ppx_fields_conv-113.33.00.ebuild b/dev-ml/ppx_fields_conv/ppx_fields_conv-113.33.00.ebuild index 67db485a0326..4dc7d72471be 100644 --- a/dev-ml/ppx_fields_conv/ppx_fields_conv-113.33.00.ebuild +++ b/dev-ml/ppx_fields_conv/ppx_fields_conv-113.33.00.ebuild @@ -24,6 +24,10 @@ DEPEND=" RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_inline_test/files/oc43.patch b/dev-ml/ppx_inline_test/files/oc43.patch new file mode 100644 index 000000000000..b5fbe1178e95 --- /dev/null +++ b/dev-ml/ppx_inline_test/files/oc43.patch @@ -0,0 +1,59 @@ +diff -uNr ppx_inline_test-113.33.00/_oasis ppx_inline_test-113.33.00+4.03/_oasis +--- ppx_inline_test-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_inline_test-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_inline_test +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Syntax extension for writing in-line tests in ocaml code + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_inline_test-113.33.00/opam ppx_inline_test-113.33.00+4.03/opam +--- ppx_inline_test-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_inline_test-113.33.00+4.03/opam 2016-03-22 17:51:37.000000000 +0100 +@@ -16,4 +16,4 @@ + "ppx_driver" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_inline_test-113.33.00/src/ppx_inline_test.ml ppx_inline_test-113.33.00+4.03/src/ppx_inline_test.ml +--- ppx_inline_test-113.33.00/src/ppx_inline_test.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_inline_test-113.33.00+4.03/src/ppx_inline_test.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -96,18 +96,18 @@ + + let expand_test ~loc ~path:_ id e = + assert_enabled loc; +- apply_to_descr "test" ~loc (Some e) id (pexp_fun ~loc "" None (punit ~loc) e) ++ apply_to_descr "test" ~loc (Some e) id (pexp_fun ~loc Nolabel None (punit ~loc) e) + ;; + + let expand_test_unit ~loc ~path:_ id e = + assert_enabled loc; +- apply_to_descr "test_unit" ~loc (Some e) id (pexp_fun ~loc "" None (punit ~loc) e) ++ apply_to_descr "test_unit" ~loc (Some e) id (pexp_fun ~loc Nolabel None (punit ~loc) e) + ;; + + let expand_test_module ~loc ~path:_ id m = + assert_enabled loc; + apply_to_descr "test_module" ~loc ~inner_loc:m.pmod_loc None id +- (pexp_fun ~loc "" None (punit ~loc) ++ (pexp_fun ~loc Nolabel None (punit ~loc) + (pexp_letmodule ~loc (Located.mk ~loc "M") + m + (eunit ~loc))) +@@ -120,9 +120,8 @@ + pstr (( + pstr_value nonrecursive ( + value_binding +- ~pat:(map (pstring __) ~f:(fun f x -> f (Some x))) ++ ~pat:(alt_option (pstring __) ppat_any) + ~expr ^:: nil) +- ||| map (pstr_eval expr nil) ~f:(fun f -> f None) + ) ^:: nil) + + let test = diff --git a/dev-ml/ppx_inline_test/ppx_inline_test-113.33.00.ebuild b/dev-ml/ppx_inline_test/ppx_inline_test-113.33.00.ebuild index 65a421984f33..79eb843afe0b 100644 --- a/dev-ml/ppx_inline_test/ppx_inline_test-113.33.00.ebuild +++ b/dev-ml/ppx_inline_test/ppx_inline_test-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils MY_P=${PN/-/_}-${PV} DESCRIPTION="Syntax extension for writing in-line tests in ocaml code" @@ -25,6 +25,10 @@ DEPEND="${DEPEND} dev-ml/opam" S="${WORKDIR}/${MY_P}" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_let/files/oc43.patch b/dev-ml/ppx_let/files/oc43.patch new file mode 100644 index 000000000000..294964220944 --- /dev/null +++ b/dev-ml/ppx_let/files/oc43.patch @@ -0,0 +1,44 @@ +diff -uNr ppx_let-113.33.00/_oasis ppx_let-113.33.00+4.03/_oasis +--- ppx_let-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_let-113.33.00+4.03/_oasis 2016-03-22 15:13:50.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_let +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Monadic let-bindings + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_let-113.33.00/opam ppx_let-113.33.00+4.03/opam +--- ppx_let-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_let-113.33.00+4.03/opam 2016-03-22 17:51:37.000000000 +0100 +@@ -15,4 +15,4 @@ + "ppx_core" + "ppx_driver" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_let-113.33.00/src/ppx_let.ml ppx_let-113.33.00+4.03/src/ppx_let.ml +--- ppx_let-113.33.00/src/ppx_let.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_let-113.33.00+4.03/src/ppx_let.ml 2016-03-22 15:13:50.000000000 +0100 +@@ -64,7 +64,7 @@ + in + pexp_apply ~loc + (eoperator ~loc (Extension_name.operator_name extension_name)) +- [("", arg); (fn_label, fn)] ++ [(Nolabel, arg); (Labelled fn_label, fn)] + ;; + + let maybe_open extension_name ~to_open:module_to_open expr = +@@ -90,7 +90,7 @@ + ppat_tuple ~loc [p; acc]) + in + bind_apply ~loc extension_name ~arg:nested_boths +- ~fn:(pexp_fun ~loc "" None nested_patterns ++ ~fn:(pexp_fun ~loc Nolabel None nested_patterns + (maybe_open extension_name ~to_open:open_in_body body)) + ;; + diff --git a/dev-ml/ppx_let/ppx_let-113.33.00.ebuild b/dev-ml/ppx_let/ppx_let-113.33.00.ebuild index b451b5325ed8..a721168803c1 100644 --- a/dev-ml/ppx_let/ppx_let-113.33.00.ebuild +++ b/dev-ml/ppx_let/ppx_let-113.33.00.ebuild @@ -22,6 +22,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_optcomp/files/oc43.patch b/dev-ml/ppx_optcomp/files/oc43.patch new file mode 100644 index 000000000000..6203c077e0c8 --- /dev/null +++ b/dev-ml/ppx_optcomp/files/oc43.patch @@ -0,0 +1,93 @@ +diff -uNr ppx_optcomp-113.33.00/_oasis ppx_optcomp-113.33.00+4.03/_oasis +--- ppx_optcomp-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_optcomp-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_optcomp +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Optional compilation for OCaml + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_optcomp-113.33.00/opam ppx_optcomp-113.33.00+4.03/opam +--- ppx_optcomp-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_optcomp-113.33.00+4.03/opam 2016-03-22 17:51:37.000000000 +0100 +@@ -15,4 +15,4 @@ + "ppx_core" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_optcomp-113.33.00/src/ppx_optcomp.ml ppx_optcomp-113.33.00+4.03/src/ppx_optcomp.ml +--- ppx_optcomp-113.33.00/src/ppx_optcomp.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_optcomp-113.33.00+4.03/src/ppx_optcomp.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -169,12 +169,19 @@ + Location.raise_errorf ~loc:e.pexp_loc "optcomp: expression not supported" + ;; + ++let parse_int loc x = ++ match int_of_string x with ++ | v -> v ++ | exception _ -> ++ Location.raise_errorf ~loc "optcomp: invalid integer" ++;; ++ + let rec eval env e : Value.t = + let loc = e.pexp_loc in + match e.pexp_desc with +- | Pexp_constant (Const_int x ) -> Int x +- | Pexp_constant (Const_char x ) -> Char x +- | Pexp_constant (Const_string (x, _)) -> String x ++ | Pexp_constant (Pconst_integer (x, None)) -> Int (parse_int loc x) ++ | Pexp_constant (Pconst_char x ) -> Char x ++ | Pexp_constant (Pconst_string (x, _ )) -> String x + + | Pexp_construct ({ txt = Lident "true" ; _ }, None) -> Bool true + | Pexp_construct ({ txt = Lident "false"; _ }, None) -> Bool false +@@ -192,7 +199,7 @@ + + | Pexp_apply ({ pexp_desc = Pexp_ident { txt = Lident s; _ }; _ }, args) -> begin + let args = +- List.map args ~f:(fun (l, x) -> if l <> "" then not_supported e else x) ++ List.map args ~f:(fun (l, x) -> if l <> Asttypes.Nolabel then not_supported e else x) + in + match s, args with + | "=" , [x; y] -> eval_cmp env ( = ) x y +@@ -283,12 +290,13 @@ + | _ -> not_supported e + + and bind env patt value = ++ let loc = patt.ppat_loc in + match patt.ppat_desc, value with + | Ppat_any, _ -> env + +- | Ppat_constant (Const_int x ), Int y when x = y -> env +- | Ppat_constant (Const_char x ), Char y when x = y -> env +- | Ppat_constant (Const_string (x, _)), String y when x = y -> env ++ | Ppat_constant (Pconst_integer (x, None)), Int y when parse_int loc x = y -> env ++ | Ppat_constant (Pconst_char x ), Char y when x = y -> env ++ | Ppat_constant (Pconst_string (x, _ )), String y when x = y -> env + + | Ppat_construct ({ txt = Lident "true" ; _ }, None), Bool true -> env + | Ppat_construct ({ txt = Lident "false"; _ }, None), Bool false -> env +@@ -506,7 +514,7 @@ + | Pexp_construct (x, Some y) -> + let id = var_of_lid x in + Let (ppat_var ~loc:id.loc id, y) +- | Pexp_apply (x, [("", y)]) -> ++ | Pexp_apply (x, [(Nolabel, y)]) -> + let id = var_of_expr x in + Let (ppat_var ~loc:id.loc id, y) + | _ -> +@@ -517,7 +525,7 @@ + | LIDENT "import" -> begin + let e = get_expr () in + match e.pexp_desc with +- | Pexp_constant (Const_string (s, _)) -> Import s ++ | Pexp_constant (Pconst_string (s, _)) -> Import s + | _ -> + Location.raise_errorf ~loc:e.pexp_loc "optcomp: #import expect a string" + end diff --git a/dev-ml/ppx_optcomp/ppx_optcomp-113.33.00.ebuild b/dev-ml/ppx_optcomp/ppx_optcomp-113.33.00.ebuild index a644d2daa385..f3ad68d7ea84 100644 --- a/dev-ml/ppx_optcomp/ppx_optcomp-113.33.00.ebuild +++ b/dev-ml/ppx_optcomp/ppx_optcomp-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils DESCRIPTION="Optional compilation for OCaml" HOMEPAGE="http://www.janestreet.com/ocaml" @@ -20,6 +20,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_pipebang/files/oc43.patch b/dev-ml/ppx_pipebang/files/oc43.patch new file mode 100644 index 000000000000..5f10fc02053f --- /dev/null +++ b/dev-ml/ppx_pipebang/files/oc43.patch @@ -0,0 +1,46 @@ +diff -uNr ppx_pipebang-113.33.00/_oasis ppx_pipebang-113.33.00+4.03/_oasis +--- ppx_pipebang-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_pipebang-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_pipebang +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: A ppx rewriter that inlines reverse application operators `|>` and `|!` + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_pipebang-113.33.00/opam ppx_pipebang-113.33.00+4.03/opam +--- ppx_pipebang-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_pipebang-113.33.00+4.03/opam 2016-03-22 17:51:37.000000000 +0100 +@@ -16,4 +16,4 @@ + "ppx_driver" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_pipebang-113.33.00/src/ppx_pipebang.ml ppx_pipebang-113.33.00+4.03/src/ppx_pipebang.ml +--- ppx_pipebang-113.33.00/src/ppx_pipebang.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_pipebang-113.33.00+4.03/src/ppx_pipebang.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -11,16 +11,16 @@ + let loc = e.pexp_loc in + match e.pexp_desc with + | Pexp_apply ({ pexp_desc = Pexp_ident { txt = Lident ("|!" | "|>"); _ }; _ }, +- [("", x); ("", y)]) -> begin ++ [(Nolabel, x); (Nolabel, y)]) -> begin + let x = self#expression x in + let y = self#expression y in + match y with + | { pexp_desc = Pexp_construct (id, None); _ } -> + { y with pexp_desc = Pexp_construct (id, Some x) } + | { pexp_desc = Pexp_apply (f, args); pexp_attributes = []; _ } -> +- { e with pexp_desc = Pexp_apply (f, args @ [("", x)]) } ++ { e with pexp_desc = Pexp_apply (f, args @ [(Nolabel, x)]) } + | _ -> +- { e with pexp_desc = Pexp_apply (y, [("", x)]) } ++ { e with pexp_desc = Pexp_apply (y, [(Nolabel, x)]) } + end + | Pexp_ident { txt = Lident ("|!" | "|>" as s); _ } -> + Location.raise_errorf ~loc "%s must be applied to two arguments" s diff --git a/dev-ml/ppx_pipebang/ppx_pipebang-113.33.00.ebuild b/dev-ml/ppx_pipebang/ppx_pipebang-113.33.00.ebuild index ae35794117cb..867ca54721e0 100644 --- a/dev-ml/ppx_pipebang/ppx_pipebang-113.33.00.ebuild +++ b/dev-ml/ppx_pipebang/ppx_pipebang-113.33.00.ebuild @@ -22,6 +22,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_sexp_conv/files/oc43.patch b/dev-ml/ppx_sexp_conv/files/oc43.patch new file mode 100644 index 000000000000..efb85e29306c --- /dev/null +++ b/dev-ml/ppx_sexp_conv/files/oc43.patch @@ -0,0 +1,193 @@ +diff -uNr ppx_sexp_conv-113.33.00/expander/ppx_sexp_conv_expander.ml ppx_sexp_conv-113.33.01+4.03/expander/ppx_sexp_conv_expander.ml +--- ppx_sexp_conv-113.33.00/expander/ppx_sexp_conv_expander.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_conv-113.33.01+4.03/expander/ppx_sexp_conv_expander.ml 2016-04-18 12:09:44.000000000 +0200 +@@ -491,30 +491,33 @@ + let lid = Located.map lident cnstr in + let str = estring ~loc cnstr.txt in + match cd.pcd_args with +- | [] -> +- ppat_construct ~loc lid None --> [%expr Sexplib.Sexp.Atom [%e str]] +- | args -> +- match args with +- | [ [%type: [%t? tp] sexp_list ] ] -> +- let cnv_expr = Fun_or_match.expr ~loc (sexp_of_type renaming tp) in +- ppat_construct ~loc lid (Some [%pat? l]) --> +- [%expr +- Sexplib.Sexp.List +- (Sexplib.Sexp.Atom [%e str] :: +- Sexplib.Conv.list_map [%e cnv_expr] l)] +- | _ -> +- let sexp_of_args = List.map ~f:(sexp_of_type renaming) args in +- let cnstr_expr = [%expr Sexplib.Sexp.Atom [%e str] ] in +- let bindings, patts, vars = Fun_or_match.map_tmp_vars ~loc sexp_of_args in +- let patt = +- match patts with +- | [patt] -> patt +- | _ -> ppat_tuple ~loc patts +- in +- ppat_construct ~loc lid (Some patt) --> +- pexp_let ~loc Nonrecursive bindings +- [%expr Sexplib.Sexp.List [%e elist ~loc (cnstr_expr :: vars)]] +- ) ++ | Pcstr_record _ -> failwith "Pcstr_record unsupported" ++ | Pcstr_tuple pcd_args -> ++ match pcd_args with ++ | [] -> ++ ppat_construct ~loc lid None --> [%expr Sexplib.Sexp.Atom [%e str]] ++ | args -> ++ match args with ++ | [ [%type: [%t? tp] sexp_list ] ] -> ++ let cnv_expr = Fun_or_match.expr ~loc (sexp_of_type renaming tp) in ++ ppat_construct ~loc lid (Some [%pat? l]) --> ++ [%expr ++ Sexplib.Sexp.List ++ (Sexplib.Sexp.Atom [%e str] :: ++ Sexplib.Conv.list_map [%e cnv_expr] l)] ++ | _ -> ++ let sexp_of_args = List.map ~f:(sexp_of_type renaming) args in ++ let cnstr_expr = [%expr Sexplib.Sexp.Atom [%e str] ] in ++ let bindings, patts, vars = Fun_or_match.map_tmp_vars ~loc sexp_of_args in ++ let patt = ++ match patts with ++ | [patt] -> patt ++ | _ -> ppat_tuple ~loc patts ++ in ++ ppat_construct ~loc lid (Some patt) --> ++ pexp_let ~loc Nonrecursive bindings ++ [%expr Sexplib.Sexp.List [%e elist ~loc (cnstr_expr :: vars)]] ++ ) + + let sexp_of_sum tps cds = Fun_or_match.Match (branch_sum tps cds) + +@@ -721,7 +724,7 @@ + let sexp_of_tds ~loc ~path:_ (rec_flag, tds) = + let rec_flag = really_recursive rec_flag tds in + let bindings = List.map tds ~f:sexp_of_td |> List.concat in +- [pstr_value ~loc rec_flag bindings] ++ pstr_value_list ~loc rec_flag bindings + + let sexp_of_exn ~loc:_ ~path ec = + let renaming = Renaming.identity in +@@ -730,14 +733,14 @@ + let expr = + match ec with + | {pext_name = {loc; txt = cnstr}; +- pext_kind = Pext_decl ([], None); _;} -> ++ pext_kind = Pext_decl (Pcstr_tuple [], None); _;} -> + [%expr + Sexplib.Exn_magic.register [%e pexp_construct ~loc + (Located.lident ~loc cnstr) None] + [%e estring ~loc (get_full_cnstr cnstr)] + ] + | {pext_name = {loc; txt = cnstr}; +- pext_kind = Pext_decl (_::_ as tps, None); _;} -> ++ pext_kind = Pext_decl (Pcstr_tuple ((_::_) as tps), None); _;} -> + let fps = List.map ~f:(fun tp -> sexp_of_type renaming tp) tps in + let sexp_converters = List.map fps ~f:Fun_or_match.(expr ~loc) in + let _, patts, vars = Fun_or_match.map_tmp_vars ~loc fps in +@@ -761,6 +764,8 @@ + eapply ~loc partial sexp_converters + in + [%expr [%e call] ] ++ | { pext_kind = Pext_decl (Pcstr_record _, _); _;} -> ++ failwith "Pcstr_record not supported" + | { pext_kind = Pext_decl (_, Some _); _} -> + Location.raise_errorf ~loc "sexp_of_exn/:" + | { pext_kind = Pext_rebind _; _} -> +@@ -1089,13 +1094,14 @@ + (* Generate matching code for well-formed S-expressions wrt. sum types *) + let mk_good_sum_matches (loc,cds) = + List.map cds ~f:(function +- | { pcd_name = cnstr; pcd_args = []; _} -> ++ | { pcd_args = Pcstr_record _; _} -> failwith "Pcstr_record unsupported" ++ | { pcd_name = cnstr; pcd_args = Pcstr_tuple []; _} -> + let lcstr = pstring ~loc (String.uncapitalize cnstr.txt) in + let str = pstring ~loc cnstr.txt in + [%pat? Sexplib.Sexp.Atom ([%p lcstr] | [%p str])] --> + pexp_construct ~loc (Located.lident ~loc cnstr.txt) None + +- | { pcd_name = cnstr; pcd_args = (_::_ as tps); _} -> ++ | { pcd_name = cnstr; pcd_args = Pcstr_tuple (_::_ as tps); _} -> + let lcstr = pstring ~loc (String.uncapitalize cnstr.txt) in + let str = pstring ~loc cnstr.txt in + [%pat? (Sexplib.Sexp.List +@@ -1109,14 +1115,15 @@ + wrt. sum types *) + let mk_bad_sum_matches (loc,cds) = + List.map cds ~f:(function +- | { pcd_name = cnstr; pcd_args = []; _} -> ++ | { pcd_args = Pcstr_record _; _} -> failwith "Pcstr_record unsupported" ++ | { pcd_name = cnstr; pcd_args = Pcstr_tuple []; _} -> + let lcstr = pstring ~loc (String.uncapitalize cnstr.txt) in + let str = pstring ~loc cnstr.txt in + [%pat? Sexplib.Sexp.List + (Sexplib.Sexp.Atom ([%p lcstr] | [%p str]) :: _) as sexp + ] --> + [%expr Sexplib.Conv_error.stag_no_args _tp_loc sexp] +- | { pcd_name = cnstr; pcd_args = _::_; _} -> ++ | { pcd_name = cnstr; pcd_args = Pcstr_tuple (_::_); _} -> + let lcstr = pstring ~loc (String.uncapitalize cnstr.txt) in + let str = pstring ~loc cnstr.txt in + [%pat? Sexplib.Sexp.Atom ([%p lcstr] | [%p str]) as sexp] --> +@@ -1479,13 +1486,14 @@ + internals @ externals) + |> List.concat + in +- [pstr_value ~loc Recursive bindings] ++ pstr_value_list ~loc Recursive bindings + | Nonrecursive -> + let bindings = + List.map tds ~f:(fun td -> + let internals,externals = td_of_sexp ~loc ~poly ~path td in +- [pstr_value ~loc Nonrecursive internals; +- pstr_value ~loc Nonrecursive externals]) ++ pstr_value_list ~loc Nonrecursive internals @ ++ pstr_value_list ~loc Nonrecursive externals ++ ) + |> List.concat + in + bindings +@@ -1496,7 +1504,7 @@ + internals @ externals) + |> List.concat + in +- [pstr_value ~loc rec_flag bindings] ++ pstr_value_list ~loc rec_flag bindings + end + + let type_of_sexp ~path ctyp = +diff -uNr ppx_sexp_conv-113.33.00/js-utils/gen_install.ml ppx_sexp_conv-113.33.01+4.03/js-utils/gen_install.ml +--- ppx_sexp_conv-113.33.00/js-utils/gen_install.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_conv-113.33.01+4.03/js-utils/gen_install.ml 2016-04-18 12:09:44.000000000 +0200 +@@ -31,7 +31,7 @@ + |> List.map (fun line -> Scanf.sscanf line "%[^=]=%S" (fun k v -> (k, v))) + + let remove_cwd = +- let prefix = Sys.getcwd () ^ "/" in ++ let prefix = Sys.getcwd () ^ Filename.dir_sep in + let len_prefix = String.length prefix in + fun fn -> + let len = String.length fn in +diff -uNr ppx_sexp_conv-113.33.00/_oasis ppx_sexp_conv-113.33.01+4.03/_oasis +--- ppx_sexp_conv-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_conv-113.33.01+4.03/_oasis 2016-04-18 12:09:44.000000000 +0200 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_sexp_conv +-Version: 113.33.00 ++Version: 113.33.01+4.03 + Synopsis: Generation of S-expression conversion functions from type definitions + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_sexp_conv-113.33.00/opam ppx_sexp_conv-113.33.01+4.03/opam +--- ppx_sexp_conv-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_sexp_conv-113.33.01+4.03/opam 2016-04-18 12:27:13.000000000 +0200 +@@ -17,4 +17,4 @@ + "ppx_type_conv" + "sexplib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] diff --git a/dev-ml/ppx_sexp_conv/ppx_sexp_conv-113.33.00.ebuild b/dev-ml/ppx_sexp_conv/ppx_sexp_conv-113.33.00.ebuild index c94e89c8eee8..b3c39073cb5a 100644 --- a/dev-ml/ppx_sexp_conv/ppx_sexp_conv-113.33.00.ebuild +++ b/dev-ml/ppx_sexp_conv/ppx_sexp_conv-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils DESCRIPTION="Support Library for type-driven code generators" HOMEPAGE="http://www.janestreet.com/ocaml" @@ -24,6 +24,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_sexp_message/files/oc43.patch b/dev-ml/ppx_sexp_message/files/oc43.patch new file mode 100644 index 000000000000..d2d4e09429df --- /dev/null +++ b/dev-ml/ppx_sexp_message/files/oc43.patch @@ -0,0 +1,90 @@ +diff -uNr ppx_sexp_message-113.33.00/_oasis ppx_sexp_message-113.33.00+4.03/_oasis +--- ppx_sexp_message-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_message-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_sexp_message +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: A ppx rewriter for easy construction of s-expressions + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_sexp_message-113.33.00/opam ppx_sexp_message-113.33.00+4.03/opam +--- ppx_sexp_message-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_sexp_message-113.33.00+4.03/opam 2016-03-22 17:51:37.000000000 +0100 +@@ -18,4 +18,4 @@ + "ppx_sexp_conv" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_sexp_message-113.33.00/src/ppx_sexp_message.ml ppx_sexp_message-113.33.00+4.03/src/ppx_sexp_message.ml +--- ppx_sexp_message-113.33.00/src/ppx_sexp_message.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_message-113.33.00+4.03/src/ppx_sexp_message.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -42,13 +42,10 @@ + eapply ~loc (evar ~loc ("Sexplib.Conv.sexp_of_" ^ typ)) [pexp_constant ~loc const] + in + match const with +- | Const_int _ -> f "int" +- | Const_char _ -> f "char" +- | Const_string _ -> f "string" +- | Const_float _ -> f "float" +- | Const_int32 _ -> f "int32" +- | Const_int64 _ -> f "int64" +- | Const_nativeint _ -> f "nativeint" ++ | Pconst_integer _ -> f "int" ++ | Pconst_char _ -> f "char" ++ | Pconst_string _ -> f "string" ++ | Pconst_float _ -> f "float" + ;; + + let rewrite_here e = +@@ -62,7 +59,7 @@ + let e = rewrite_here e in + let loc = e.pexp_loc in + match e.pexp_desc with +- | Pexp_constant (Const_string ("", _)) -> ++ | Pexp_constant (Pconst_string ("", _)) -> + None + | Pexp_constant const -> + Some (sexp_of_constant ~loc const) +@@ -71,18 +68,6 @@ + | _ -> Some [%expr Sexplib.Conv.sexp_of_string [%e e]] + ;; + +-type arg_label = +- | Nolabel +- | Labelled of string +- | Optional +- +-(* Will help with the switch to 4.03 *) +-let arg_label_of_string = function +- | "" -> Nolabel +- | s when s.[0] = '?' -> Optional +- | s -> Labelled s +-;; +- + let sexp_of_labelled_expr (label, e) = + let loc = e.pexp_loc in + match label, e.pexp_desc with +@@ -97,7 +82,7 @@ + | Labelled label, _ -> + Some (sexp_inline ~loc (sexp_atom ~loc (estring ~loc label) + :: List.of_option (sexp_of_expr e))) +- | Optional, _ -> ++ | Optional _, _ -> + (* Could be used to encode sexp_option if that's ever needed. *) + Location.raise_errorf ~loc + "ppx_sexp_value: optional argument not allowed here" +@@ -112,7 +97,7 @@ + let labelled_exprs = + match e.pexp_desc with + | Pexp_apply (f, args) -> +- (Nolabel, f) :: List.map args ~f:(fun (label, e) -> arg_label_of_string label, e) ++ (Nolabel, f) :: args + | _ -> + (Nolabel, e) :: [] + in diff --git a/dev-ml/ppx_sexp_message/ppx_sexp_message-113.33.00.ebuild b/dev-ml/ppx_sexp_message/ppx_sexp_message-113.33.00.ebuild index 1c74f60de3ba..710c5fb1b177 100644 --- a/dev-ml/ppx_sexp_message/ppx_sexp_message-113.33.00.ebuild +++ b/dev-ml/ppx_sexp_message/ppx_sexp_message-113.33.00.ebuild @@ -24,6 +24,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_sexp_value/files/oc43.patch b/dev-ml/ppx_sexp_value/files/oc43.patch new file mode 100644 index 000000000000..36cc972541a6 --- /dev/null +++ b/dev-ml/ppx_sexp_value/files/oc43.patch @@ -0,0 +1,62 @@ +diff -uNr ppx_sexp_value-113.33.00/_oasis ppx_sexp_value-113.33.00+4.03/_oasis +--- ppx_sexp_value-113.33.00/_oasis 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_value-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_sexp_value +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: A ppx rewriter that simplifies building s-expressions from ocaml values + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_sexp_value-113.33.00/opam ppx_sexp_value-113.33.00+4.03/opam +--- ppx_sexp_value-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_sexp_value-113.33.00+4.03/opam 2016-03-22 17:51:37.000000000 +0100 +@@ -18,4 +18,4 @@ + "ppx_sexp_conv" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_sexp_value-113.33.00/src/ppx_sexp_value.ml ppx_sexp_value-113.33.00+4.03/src/ppx_sexp_value.ml +--- ppx_sexp_value-113.33.00/src/ppx_sexp_value.ml 2016-03-09 16:44:54.000000000 +0100 ++++ ppx_sexp_value-113.33.00+4.03/src/ppx_sexp_value.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -25,13 +25,10 @@ + eapply ~loc (evar ~loc ("Sexplib.Conv.sexp_of_" ^ typ)) [pexp_constant ~loc const] + in + match const with +- | Const_int _ -> f "int" +- | Const_char _ -> f "char" +- | Const_string _ -> f "string" +- | Const_float _ -> f "float" +- | Const_int32 _ -> f "int32" +- | Const_int64 _ -> f "int64" +- | Const_nativeint _ -> f "nativeint" ++ | Pconst_integer _ -> f "int" ++ | Pconst_char _ -> f "char" ++ | Pconst_string _ -> f "string" ++ | Pconst_float _ -> f "float" + ;; + + let sexp_of_constraint ~loc expr ctyp = +@@ -90,7 +87,7 @@ + | Pexp_record (fields, None) -> + sexp_of_record ~loc fields + | Pexp_apply ({ pexp_desc = Pexp_ident { txt = Lident "~~"; _ }; _}, +- [ ("", { pexp_desc = Pexp_constraint (expr, ctyp); _ }) ]) -> ++ [ (Nolabel, { pexp_desc = Pexp_constraint (expr, ctyp); _ }) ]) -> + let expr_str = Pprintast.string_of_expression expr in + sexp_list ~loc + (elist ~loc [ sexp_atom ~loc (estring ~loc expr_str) +@@ -168,7 +165,7 @@ + (* Don't misinterpret [%sexp ~~(e : t)] for the deprecated application syntax. *) + | Pexp_apply ({ pexp_desc = Pexp_ident { txt = Lident "~~"; _}; _ }, _) -> expr + | Pexp_apply (f, (_ :: _ as args)) +- when List.for_all args ~f:(fun (lab, _) -> lab = "") -> ++ when List.for_all args ~f:(fun (lab, _) -> lab = Nolabel) -> + let el = List.map (f :: List.map args ~f:snd) ~f:rewrite_arg in + let e = pexp_tuple ~loc el in + if !allow_deprecated_syntax then diff --git a/dev-ml/ppx_sexp_value/ppx_sexp_value-113.33.00.ebuild b/dev-ml/ppx_sexp_value/ppx_sexp_value-113.33.00.ebuild index 5d69b0b8e6b8..09fc8076f4e6 100644 --- a/dev-ml/ppx_sexp_value/ppx_sexp_value-113.33.00.ebuild +++ b/dev-ml/ppx_sexp_value/ppx_sexp_value-113.33.00.ebuild @@ -24,6 +24,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_type_conv/files/oc43.patch b/dev-ml/ppx_type_conv/files/oc43.patch new file mode 100644 index 000000000000..f9df3e1070a8 --- /dev/null +++ b/dev-ml/ppx_type_conv/files/oc43.patch @@ -0,0 +1,122 @@ +diff -uNr ppx_type_conv-113.33.00/js-utils/gen_install.ml ppx_type_conv-113.33.01+4.03/js-utils/gen_install.ml +--- ppx_type_conv-113.33.00/js-utils/gen_install.ml 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_type_conv-113.33.01+4.03/js-utils/gen_install.ml 2016-04-18 12:11:00.000000000 +0200 +@@ -31,7 +31,7 @@ + |> List.map (fun line -> Scanf.sscanf line "%[^=]=%S" (fun k v -> (k, v))) + + let remove_cwd = +- let prefix = Sys.getcwd () ^ "/" in ++ let prefix = Sys.getcwd () ^ Filename.dir_sep in + let len_prefix = String.length prefix in + fun fn -> + let len = String.length fn in +diff -uNr ppx_type_conv-113.33.00/_oasis ppx_type_conv-113.33.01+4.03/_oasis +--- ppx_type_conv-113.33.00/_oasis 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_type_conv-113.33.01+4.03/_oasis 2016-04-18 12:11:00.000000000 +0200 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_type_conv +-Version: 113.33.00 ++Version: 113.33.01+4.03 + Synopsis: Support Library for type-driven code generators + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_type_conv-113.33.00/opam ppx_type_conv-113.33.01+4.03/opam +--- ppx_type_conv-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_type_conv-113.33.01+4.03/opam 2016-04-18 12:27:13.000000000 +0200 +@@ -17,4 +17,4 @@ + "ppx_driver" + "ppx_tools" {>= "0.99.3"} + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_type_conv-113.33.00/src/ignore_unused_warning.ml ppx_type_conv-113.33.01+4.03/src/ignore_unused_warning.ml +--- ppx_type_conv-113.33.00/src/ignore_unused_warning.ml 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_type_conv-113.33.01+4.03/src/ignore_unused_warning.ml 2016-04-18 12:11:00.000000000 +0200 +@@ -30,11 +30,11 @@ + List.fold_left vbs ~init:[] ~f:(fun acc vb -> vars_of#pattern vb.pvb_pat acc) + in + let ign = +- pstr_value ~loc Nonrecursive ++ pstr_value_list ~loc Nonrecursive + (List.rev_map vars ~f:(fun v -> + underscore_binding (pexp_ident ~loc:v.loc v))) + in +- loop rest (ign :: item :: acc) ++ loop rest (ign @ (item :: acc)) + | item :: rest -> + loop rest (item :: acc) + in +diff -uNr ppx_type_conv-113.33.00/src/type_conv.ml ppx_type_conv-113.33.01+4.03/src/type_conv.ml +--- ppx_type_conv-113.33.00/src/type_conv.ml 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_type_conv-113.33.01+4.03/src/type_conv.ml 2016-04-18 12:11:00.000000000 +0200 +@@ -472,9 +472,10 @@ + Ast_pattern.( + let label = + map' __ ~f:(fun loc f label -> +- if label = "" || label.[0] = '?' then ++ match label with ++ | Nolabel | Optional _ -> + Location.raise_errorf ~loc "non-optional labeled argument expected" +- else ++ | Labelled label -> + f label) + in + let generator_name () = +@@ -530,16 +531,6 @@ + let get_str_exception_derivers = get_derivers deriving_attr_ec Deriver.Field.str_exception + let get_sig_exception_derivers = get_derivers deriving_attr_ec Deriver.Field.sig_exception + +-let get_rec_flag tds = +- let has_nonrec td = +- List.exists td.ptype_attributes ~f:(fun (name, _) -> name.txt = "nonrec") +- in +- if List.exists tds ~f:has_nonrec then +- Nonrecursive +- else +- Recursive +-;; +- + (* +-----------------------------------------------------------------+ + | Unused warning stuff | + +-----------------------------------------------------------------+ *) +@@ -627,17 +618,16 @@ + let item = super#structure_item path item in + let loc = item.pstr_loc in + match item.pstr_desc with +- | Pstr_type tds -> ++ | Pstr_type (rec_flag, tds) -> + begin match get_str_type_decl_derivers tds with + | None -> [item] + | Some (tds, generators) -> +- let rec_flag = get_rec_flag tds in + let generated = + types_used_by_type_conv tds + @ Generator.apply_all ~rev:true ~loc ~path (rec_flag, tds) generators; + in + let tds = List.map tds ~f:(remove generators)#type_declaration in +- let item = { item with pstr_desc = Pstr_type tds } in ++ let item = { item with pstr_desc = Pstr_type (rec_flag, tds) } in + item :: disable_unused_warning_str ~loc generated + end + +@@ -670,14 +660,13 @@ + let item = super#signature_item path item in + let loc = item.psig_loc in + match item.psig_desc with +- | Psig_type tds -> ++ | Psig_type (rec_flag, tds) -> + begin match get_sig_type_decl_derivers tds with + | None -> [item] + | Some (tds, generators) -> +- let rec_flag = get_rec_flag tds in + let generated = Generator.apply_all ~loc ~path (rec_flag, tds) generators in + let tds = List.map tds ~f:(remove generators)#type_declaration in +- let item = { item with psig_desc = Psig_type tds } in ++ let item = { item with psig_desc = Psig_type (rec_flag, tds) } in + item :: disable_unused_warning_sig ~loc generated + end + diff --git a/dev-ml/ppx_type_conv/ppx_type_conv-113.33.00.ebuild b/dev-ml/ppx_type_conv/ppx_type_conv-113.33.00.ebuild index 352093921d02..c1370e28f74f 100644 --- a/dev-ml/ppx_type_conv/ppx_type_conv-113.33.00.ebuild +++ b/dev-ml/ppx_type_conv/ppx_type_conv-113.33.00.ebuild @@ -4,7 +4,7 @@ EAPI="5" -inherit oasis +inherit oasis eutils DESCRIPTION="Support Library for type-driven code generators" HOMEPAGE="http://www.janestreet.com/ocaml" @@ -24,6 +24,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_typerep_conv/files/oc43.patch b/dev-ml/ppx_typerep_conv/files/oc43.patch new file mode 100644 index 000000000000..3f3a641df883 --- /dev/null +++ b/dev-ml/ppx_typerep_conv/files/oc43.patch @@ -0,0 +1,61 @@ +diff -uNr ppx_typerep_conv-113.33.00/_oasis ppx_typerep_conv-113.33.00+4.03/_oasis +--- ppx_typerep_conv-113.33.00/_oasis 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_typerep_conv-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_typerep_conv +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generation of runtime types from type declarations + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_typerep_conv-113.33.00/opam ppx_typerep_conv-113.33.00+4.03/opam +--- ppx_typerep_conv-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_typerep_conv-113.33.00+4.03/opam 2016-03-22 17:51:38.000000000 +0100 +@@ -17,4 +17,4 @@ + "ppx_type_conv" + "typerep" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_typerep_conv-113.33.00/src/ppx_typerep_conv.ml ppx_typerep_conv-113.33.00+4.03/src/ppx_typerep_conv.ml +--- ppx_typerep_conv-113.33.00/src/ppx_typerep_conv.ml 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_typerep_conv-113.33.00+4.03/src/ppx_typerep_conv.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -134,7 +134,7 @@ + let label = cd.pcd_name.txt in + let loc = cd.pcd_loc in + match cd.pcd_args with +- | [] -> ++ | Pcstr_tuple [] -> + { label; + ctyp = None; + poly = false; +@@ -142,7 +142,7 @@ + index; + arity_index = no_arg (); + } +- | args -> ++ | Pcstr_tuple args -> + let arity = List.length args in + let ctyp = ptyp_tuple ~loc args in + { label; +@@ -152,6 +152,7 @@ + index; + arity_index = with_arg (); + } ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" + in + List.mapi cds ~f:mapi + end +@@ -263,7 +264,7 @@ + [%stri let name = [%e estring ~loc full_type_name] ] + in + pmod_structure ~loc +- [ pstr_type ~loc [td] ++ [ pstr_type ~loc Nonrecursive [td] + ; name_def + ] + diff --git a/dev-ml/ppx_typerep_conv/ppx_typerep_conv-113.33.00.ebuild b/dev-ml/ppx_typerep_conv/ppx_typerep_conv-113.33.00.ebuild index b6501cc92389..cbf58ecd5a8d 100644 --- a/dev-ml/ppx_typerep_conv/ppx_typerep_conv-113.33.00.ebuild +++ b/dev-ml/ppx_typerep_conv/ppx_typerep_conv-113.33.00.ebuild @@ -24,6 +24,10 @@ DEPEND=" RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/ppx_variants_conv/files/oc43.patch b/dev-ml/ppx_variants_conv/files/oc43.patch new file mode 100644 index 000000000000..5c59422200f9 --- /dev/null +++ b/dev-ml/ppx_variants_conv/files/oc43.patch @@ -0,0 +1,87 @@ +diff -uNr ppx_variants_conv-113.33.00/_oasis ppx_variants_conv-113.33.00+4.03/_oasis +--- ppx_variants_conv-113.33.00/_oasis 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_variants_conv-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: ppx_variants_conv +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Generation of accessor and iteration functions for ocaml variant types + Authors: Jane Street Group, LLC + Copyrights: (C) 2015-2016 Jane Street Group LLC +diff -uNr ppx_variants_conv-113.33.00/opam ppx_variants_conv-113.33.00+4.03/opam +--- ppx_variants_conv-113.33.00/opam 2016-03-18 12:08:01.000000000 +0100 ++++ ppx_variants_conv-113.33.00+4.03/opam 2016-03-22 17:51:38.000000000 +0100 +@@ -18,4 +18,4 @@ + "ppx_type_conv" + "variantslib" + ] +-available: [ ocaml-version >= "4.02.3" ] ++available: [ ocaml-version >= "4.03.0" ] +diff -uNr ppx_variants_conv-113.33.00/src/ppx_variants_conv.ml ppx_variants_conv-113.33.00+4.03/src/ppx_variants_conv.ml +--- ppx_variants_conv-113.33.00/src/ppx_variants_conv.ml 2016-03-09 16:44:55.000000000 +0100 ++++ ppx_variants_conv-113.33.00+4.03/src/ppx_variants_conv.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -34,7 +34,7 @@ + + let lambda_sig loc arg_tys body_ty = + List.fold_right arg_tys ~init:body_ty ~f:(fun arg_ty acc -> +- ptyp_arrow ~loc "" arg_ty acc) ++ ptyp_arrow ~loc Nolabel arg_ty acc) + ;; + + let lambda_sig' loc arg_tys body_ty = +@@ -94,9 +94,14 @@ + let constructor body_ty cd : Variant_definition.t = + if cd.pcd_res <> None then + Location.raise_errorf ~loc:cd.pcd_loc "GADTs are not supported by variantslib"; ++ let pcd_args = ++ match cd.pcd_args with ++ | Pcstr_tuple pcd_args -> pcd_args ++ | Pcstr_record _ -> failwith "Pcstr_record not supported" ++ in + { name = cd.pcd_name.txt + ; body_ty +- ; arg_tys = cd.pcd_args ++ ; arg_tys = pcd_args + ; kind = `Normal + } + +@@ -120,7 +125,7 @@ + ptyp_constr ~loc (Located.lident ~loc ty_name) tps + + let label_arg _loc name ty = +- (String.lowercase name, ty) ++ (Asttypes.Labelled (String.lowercase name), ty) + ;; + + let variant_arg loc f v = +@@ -186,7 +191,7 @@ + in + let types = List.map variants ~f in + let t = Create.lambda_sig' loc +- (("", variant_type) :: types) result_type in ++ ((Nolabel, variant_type) :: types) result_type in + psig_value ~loc (value_description ~loc ~name:(Located.mk ~loc "map") ~type_:t + ~prim:[]) + ;; +@@ -316,7 +321,7 @@ + | None -> name + | Some n -> n + in +- (l, pvar ~loc name) ++ (Asttypes.Labelled l, pvar ~loc name) + ;; + + let label_arg_fun loc name = +@@ -408,7 +413,7 @@ + List.map variants ~f:(fun variant -> + label_arg_fun loc (variant_name_to_string variant.V.name)) + in +- let lambda = Create.lambda loc (("", [%pat? t__]) :: patterns) body in ++ let lambda = Create.lambda loc ((Nolabel, [%pat? t__]) :: patterns) body in + [%stri let map = [%e lambda] ] + ;; + diff --git a/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild b/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild index 54403e9cc86f..ab4bbd0ec574 100644 --- a/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild +++ b/dev-ml/ppx_variants_conv/ppx_variants_conv-113.33.00.ebuild @@ -24,6 +24,10 @@ DEPEND="dev-ml/ppx_tools:= RDEPEND="${DEPEND}" DEPEND="${DEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-ml/pxp/files/oc43.patch b/dev-ml/pxp/files/oc43.patch new file mode 100644 index 000000000000..0168c703d06d --- /dev/null +++ b/dev-ml/pxp/files/oc43.patch @@ -0,0 +1,13 @@ +Index: pxp-1.2.8/src/pxp-engine/pxp_document.ml +=================================================================== +--- pxp-1.2.8.orig/src/pxp-engine/pxp_document.ml ++++ pxp-1.2.8/src/pxp-engine/pxp_document.ml +@@ -3398,8 +3398,6 @@ let find_all_elements ?deeply eltype bas + ;; + + +-exception Skip;; +- + let map_tree ~pre ?(post=(fun x -> x)) base = + let rec map_rec n = + let n' = pre n in diff --git a/dev-ml/pxp/pxp-1.2.8.ebuild b/dev-ml/pxp/pxp-1.2.8.ebuild index 0e272ed607b0..77edb0055c3a 100644 --- a/dev-ml/pxp/pxp-1.2.8.ebuild +++ b/dev-ml/pxp/pxp-1.2.8.ebuild @@ -27,6 +27,10 @@ IUSE="examples +ocamlopt" S=${WORKDIR}/${MY_P} +src_prepare() { + epatch "${FILESDIR}/oc43.patch" +} + src_configure() { #the included configure does not support many standard switches and is quite picky ./configure || die "configure failed" diff --git a/dev-ml/sexplib/files/oc43.patch b/dev-ml/sexplib/files/oc43.patch new file mode 100644 index 000000000000..9162d58dd481 --- /dev/null +++ b/dev-ml/sexplib/files/oc43.patch @@ -0,0 +1,56 @@ +diff -uNr sexplib-113.33.00/_oasis sexplib-113.33.00+4.03/_oasis +--- sexplib-113.33.00/_oasis 2016-03-09 16:44:55.000000000 +0100 ++++ sexplib-113.33.00+4.03/_oasis 2016-03-22 15:13:51.000000000 +0100 +@@ -1,8 +1,8 @@ + OASISFormat: 0.4 +-OCamlVersion: >= 4.02.3 ++OCamlVersion: >= 4.03.0 + FindlibVersion: >= 1.3.2 + Name: sexplib +-Version: 113.33.00 ++Version: 113.33.00+4.03 + Synopsis: Library for serializing OCaml values to and from S-expressions + Authors: Jane Street Group, LLC + Copyrights: (C) 2005-2016 Jane Street Group LLC +diff -uNr sexplib-113.33.00/src/conv.ml sexplib-113.33.00+4.03/src/conv.ml +--- sexplib-113.33.00/src/conv.ml 2016-03-09 16:44:55.000000000 +0100 ++++ sexplib-113.33.00+4.03/src/conv.ml 2016-03-22 15:13:51.000000000 +0100 +@@ -185,7 +185,7 @@ + + (* [Obj.extension_id] works on both the exception itself, and the extension slot of the + exception. *) +- let rec clean_up_handler (slot : Obj.t) = ++ let rec clean_up_handler (slot : extension_constructor) = + let id = Obj.extension_id slot in + let old_exn_id_map = !exn_id_map in + let new_exn_id_map = Exn_ids.remove id old_exn_id_map in +@@ -196,7 +196,7 @@ + exn_id_map := new_exn_id_map + + let add_auto ?(finalise = true) exn sexp_of_exn = +- let id = Obj.extension_id exn in ++ let id = Obj.extension_id (Obj.extension_constructor exn) in + let rec loop () = + let old_exn_id_map = !exn_id_map in + let new_exn_id_map = Exn_ids.add id sexp_of_exn old_exn_id_map in +@@ -205,13 +205,18 @@ + loop () + else begin + exn_id_map := new_exn_id_map; +- if finalise then Gc.finalise clean_up_handler (Obj.extension_slot exn) ++ if finalise then ++ try ++ Gc.finalise clean_up_handler (Obj.extension_constructor exn) ++ with Invalid_argument _ -> ++ (* Pre-allocated extension constructors cannot be finalised *) ++ () + end + in + loop () + + let find_auto exn = +- let id = Obj.extension_id exn in ++ let id = Obj.extension_id (Obj.extension_constructor exn) in + match Exn_ids.find id !exn_id_map with + | exception Not_found -> None + | sexp_of_exn -> Some (sexp_of_exn exn) diff --git a/dev-ml/sexplib/sexplib-113.33.00.ebuild b/dev-ml/sexplib/sexplib-113.33.00.ebuild index 0e570c482ee5..f92685dedd48 100644 --- a/dev-ml/sexplib/sexplib-113.33.00.ebuild +++ b/dev-ml/sexplib/sexplib-113.33.00.ebuild @@ -7,7 +7,7 @@ EAPI=5 OASIS_BUILD_DOCS=1 OASIS_BUILD_TESTS=1 -inherit oasis +inherit oasis eutils DESCRIPTION="Library for automated conversion of OCaml-values to and from S-expressions" HOMEPAGE="https://bitbucket.org/yminsky/ocaml-core/wiki/Home" @@ -21,6 +21,10 @@ IUSE="" RDEPEND=">=dev-ml/type-conv-113.00.00:=" DEPEND="${RDEPEND} dev-ml/opam" +src_prepare() { + has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch" +} + src_configure() { emake setup.exe OASIS_SETUP_COMMAND="./setup.exe" oasis_src_configure diff --git a/dev-perl/SOAP-WSDL/Manifest b/dev-perl/SOAP-WSDL/Manifest index cb65364f06dc..ccada1398875 100644 --- a/dev-perl/SOAP-WSDL/Manifest +++ b/dev-perl/SOAP-WSDL/Manifest @@ -1,2 +1 @@ DIST SOAP-WSDL-3.003.tar.gz 238159 SHA256 84f6b542d95d60211bf94cc098677c19529a897950b93461945a726d345cfcbd SHA512 a74416ea1208f589ddde3799856e9cb7c495e5d6c31aa0e8659abfcbf21bcaa9570200c5b86746401a7566d8de25c4a7ba4338828830d11f7b66f2abb424b2b3 WHIRLPOOL e42e7aefc646830a3085c7dbd6e38ff98cb6079627e789fc84ec466af529e8b6d508d54088a8c087284db4709e9e583dfe729fe38f27648e3950e30019d3ed13 -DIST SOAP-WSDL-v3.002.tar.gz 238085 SHA256 9f38e7895f2bc1f4f2310a4c4baa6d21b10ec2910c4e7eebee0ad79435a56f06 SHA512 b472390b9b08cfd6d819189a2ae78ccd8fa5f7784003b3a3439daf33c7e8d5559001096cc763c2cd32dc673c564abe307fc64e35b514362e1c0cf64aab9d824e WHIRLPOOL 7554870883d0485d743f8e0f4f31e8c84227bbee571dc1db43a09eaba16d06985d569bc7944385057bb62f6f05dc4462fe06bdc2a962b3e89f93310483109174 diff --git a/dev-perl/SOAP-WSDL/SOAP-WSDL-3.2.0.ebuild b/dev-perl/SOAP-WSDL/SOAP-WSDL-3.2.0.ebuild deleted file mode 100644 index 8b9c6838780b..000000000000 --- a/dev-perl/SOAP-WSDL/SOAP-WSDL-3.2.0.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -MODULE_VERSION=v3.002 -MODULE_AUTHOR=SWALTERS -inherit perl-module - -DESCRIPTION="SOAP with WSDL support" - -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="test" - -RDEPEND=" - >=dev-perl/Class-Load-0.200.0 - >=dev-perl/Class-Std-Fast-0.0.5 - virtual/perl-Data-Dumper - dev-perl/TimeDate - virtual/perl-File-Path - virtual/perl-File-Spec - virtual/perl-Getopt-Long - dev-perl/libwww-perl - virtual/perl-Scalar-List-Utils - dev-perl/Module-Build - virtual/perl-Storable - >=dev-perl/Template-Toolkit-2.180.0 - dev-perl/TermReadKey - dev-perl/URI - dev-perl/XML-Parser -" - -DEPEND="${RDEPEND} - virtual/perl-ExtUtils-MakeMaker - test? ( - virtual/perl-Test-Simple - virtual/perl-Getopt-Long - virtual/perl-Storable - ) -" - -SRC_TEST="do" diff --git a/dev-perl/Socket6/Manifest b/dev-perl/Socket6/Manifest index b5190d746782..4c2717ea9f7b 100644 --- a/dev-perl/Socket6/Manifest +++ b/dev-perl/Socket6/Manifest @@ -1,3 +1,2 @@ -DIST Socket6-0.23.tar.gz 57859 SHA256 eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833 SHA512 39ced223ecdef89e6fa241031019bb5a73e63d2dfdaf3edb55bfea0cb81b91bea09f1cc26b2d15fa28d32227cc13cdb093c70f0ba346c9bdb523359de53d96f9 WHIRLPOOL f3ace817e2c49f1551f931ac80990a5c691df5188870090bde908d78c5b3e2da322c8114ce519135cc975cb9c46181c3a66a8204c9668497f8e4649e671ed202 DIST Socket6-0.25.tar.gz 58057 SHA256 da746f8e7740b4ef66f4ff70dfad4e90f001a47a4803de66b7d7e0bdc924baa9 SHA512 0b164bca51783798b9a65119f702c33578235478857aa0f5d6c7f3aaa987522c22e84f94197d34159cb7f07fbd1dd7c5fd5579b1d42c82a233aff071edfaa95c WHIRLPOOL 123f84ecd7a8c83c81f00b1b5dedc95c8b19bbfdea5c40dbe19980206f27a6d3b44823bc95d6702a40a7db8115569bb095c387edd15a24ec85477f6943ea23a3 DIST Socket6-0.27.tar.gz 64936 SHA256 30d2881962720769909439b04077a06cc76c2da244f06b957468bfe22482cf8e SHA512 8431d3d3d48da0b55dbe5478f9226ddb77bc2fbd2db164683312d51446dfdf52c2f596ff1ee7287a4321386579db8713169eabf65b93ff900808ca311cefe6d5 WHIRLPOOL 72996635af13d59a5f5b321ad9d77bb24f947df31b9b67713985d410e7a8edd2cd4167951847e7ab6542aeeba15f52cca5580e3263c1eb298f672d3ec3cd46d6 diff --git a/dev-perl/Socket6/Socket6-0.230.0-r1.ebuild b/dev-perl/Socket6/Socket6-0.230.0-r1.ebuild deleted file mode 100644 index b86e47e3583a..000000000000 --- a/dev-perl/Socket6/Socket6-0.230.0-r1.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -MODULE_AUTHOR=UMEMOTO -MODULE_VERSION=0.23 -inherit perl-module - -DESCRIPTION="IPv6 related part of the C socket.h defines and structure manipulators" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" -IUSE="" - -SRC_TEST="do" - -src_unpack() { - perl-module_src_unpack - tc-export CC -} diff --git a/dev-perl/Sort-Versions/Manifest b/dev-perl/Sort-Versions/Manifest index e298a427d167..9c2c3a665ad8 100644 --- a/dev-perl/Sort-Versions/Manifest +++ b/dev-perl/Sort-Versions/Manifest @@ -1,3 +1,2 @@ DIST Sort-Versions-1.5.tar.gz 4482 SHA256 09c2ffa65d504b3a0238c41a97e0138cc2a61609a3719af2738e413f95ea1efa SHA512 e404037abda1eb84df90a5b41f7eda5a6af262ae83656e2f1b19bcd6a772157b9dfcd00d1a2ec418908267aaaecaf3977d1f71b587ffb468a9db8e6fb2454234 WHIRLPOOL a3d95d71ad58e7b537497a923bdb03a6e8b702e35778e8cf0d0a048e2df8de206a8e8f071fabb4969288cab09f2c737d53100c76377f78bbd047d4fe9e8afc62 -DIST Sort-Versions-1.61.tar.gz 12192 SHA256 3e58b98002e448eda425dcdd5c745b5d4ba9328d0022a60a84d333ef6df5a174 SHA512 e1336ffe180ebd0a15bf77d5f216809def7d297958da5d4f5e6f816c67a55f22cad48e2462b533b8b530d00b5178cda553d6dd164b6c2d9478242974d31afb59 WHIRLPOOL 4fdf27f15294fb667e020298423e2f73b9d65e936673386bfe94f49effb984d4127988c171426f4c5042ae10910a0634c450faa901ec4ef70cb2ce4042e899bb DIST Sort-Versions-1.62.tar.gz 12295 SHA256 bf5f3307406ebe2581237f025982e8c84f6f6625dd774e457c03f8994efd2eaa SHA512 b30dab96a5a31023af3ecee1857ae7bf5abc45b266294b47abb4f03c332b27825c1139d1a56bf0cfbd538487d28b3be167d83f9f5a93f079717b40157abe4d96 WHIRLPOOL 090e09407b3966b0cd6bbd2b5c9070d2a04c3ab95ade7907b81ce3e7f7d7daffbcde818303e6a8de8b5407f939b02571ea8391d7116119fc00764bfad4e6cbb8 diff --git a/dev-perl/Sort-Versions/Sort-Versions-1.610.0.ebuild b/dev-perl/Sort-Versions/Sort-Versions-1.610.0.ebuild deleted file mode 100644 index d11e9374bb50..000000000000 --- a/dev-perl/Sort-Versions/Sort-Versions-1.610.0.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -MODULE_AUTHOR=NEILB -MODULE_VERSION=1.61 -inherit perl-module - -DESCRIPTION="A perl 5 module for sorting of revision-like numbers" - -SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" -IUSE="test" - -RDEPEND=" - virtual/perl-Exporter -" -DEPEND="${RDEPEND} - virtual/perl-ExtUtils-MakeMaker - test? ( virtual/perl-Test-Simple ) -" - -SRC_TEST="do parallel" diff --git a/dev-perl/Sphinx-Config/Manifest b/dev-perl/Sphinx-Config/Manifest index bf5bb93e29d8..861fdf31029a 100644 --- a/dev-perl/Sphinx-Config/Manifest +++ b/dev-perl/Sphinx-Config/Manifest @@ -1,2 +1 @@ -DIST Sphinx-Config-0.09.tar.gz 18069 SHA256 5a615d102cbbc3b86a2ee21761bcaf0088e2f51b9befde3b33c272a81d951d63 SHA512 2338b13b925fb40fefdc4cccaec150d6319bfca09a6b04e00c114b4d4c05c2ebe724df24b0a4d5c5c1eebbd82b83beb4a8f62727c7dcc81968fb9240fc37b2c9 WHIRLPOOL e9b52f6d3a001162c1e55823402c62a4b2c851f6333c5743f79762fef76748680e16d663a3a32ae0f0c13ad59c471987ad669a3e15a0b3e57624bdb24db3bcf1 DIST Sphinx-Config-0.10.tar.gz 18400 SHA256 a3033c13ef313cadc8b0af44a455a84766add67faa590b9bb253494a4a6b9760 SHA512 1dd9454c3dc9098f17b3792f4a8f4f7fc477dedb334afc2c5059e8331521b3fd4f5819493f14bbebe119db2db4f03179f3ba9d423fcdca6c4502453b0b7d2139 WHIRLPOOL 1ebb2595c8cb9140de5b87f855d5900ba1103ff3d07c4c4a6fba4de43bb0a87bc0ae0d2a6241cd58f50a0ab3863ca967e0f515c730bfb92e5062eda19f28d86f diff --git a/dev-perl/Sphinx-Config/Sphinx-Config-0.90.0-r1.ebuild b/dev-perl/Sphinx-Config/Sphinx-Config-0.90.0-r1.ebuild deleted file mode 100644 index 684120e55278..000000000000 --- a/dev-perl/Sphinx-Config/Sphinx-Config-0.90.0-r1.ebuild +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -MODULE_AUTHOR=JJSCHUTZ -MODULE_VERSION=0.09 -inherit perl-module - -DESCRIPTION="Sphinx search engine configuration file read/modify/write" - -SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" -IUSE="" - -SRC_TEST=do diff --git a/dev-perl/Sphinx-Search/Manifest b/dev-perl/Sphinx-Search/Manifest index f4c7883b5924..7b87dac47d8f 100644 --- a/dev-perl/Sphinx-Search/Manifest +++ b/dev-perl/Sphinx-Search/Manifest @@ -1,2 +1 @@ -DIST Sphinx-Search-0.28.tar.gz 27299 SHA256 982676c08f7f2a20aea12eff0aac29d28071085a65a19fdbf72301733e16d628 SHA512 6a97a18d04762bae72afd759d3cb7cf7a825fc098cb4a2f29be768d6abd3bcf20afe86211dbd473c589c2b8265570d49d55f521d9fe12f5250d77099455ac7cb WHIRLPOOL 4fb4aee85466519a571f8ea5263df121db87818df5977316c782dbf5fe5d4bdd6b0c30106346c74d303990dacd3f6dc2dbcfbeef2ca42df216dc84d29a0dfeaa DIST Sphinx-Search-0.29.tar.gz 30731 SHA256 7a9189f866029cc693a364ccf666e5eca22aff500786c6b5f1c889d47b4a0b26 SHA512 8ab9b99de110108046b566ea8fddae354fce64d61ffc2b194ed196259d98fcff66f95a19ff61dd099393cdc18befd83484b5b5526830b87840a17a3468a08182 WHIRLPOOL e95913eb87330ae145ca5e286f731488566ede83c09ec9b61cb702ccedfc2b3471b35f9b5ab405ac773c17e9e0695bcc94666e1db0487ae80d44347fec986251 diff --git a/dev-perl/Sphinx-Search/Sphinx-Search-0.280-r1.ebuild b/dev-perl/Sphinx-Search/Sphinx-Search-0.280-r1.ebuild deleted file mode 100644 index 0d8c2d230dc8..000000000000 --- a/dev-perl/Sphinx-Search/Sphinx-Search-0.280-r1.ebuild +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -MODULE_AUTHOR=JJSCHUTZ -MODULE_VERSION=0.28 -inherit perl-module - -DESCRIPTION="Perl API client for Sphinx search engine" - -SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" -IUSE="test" - -RDEPEND="dev-perl/File-SearchPath - dev-perl/Path-Class - dev-perl/DBI" -DEPEND="test? ( ${RDEPEND} )" -SRC_TEST="do parallel" - -pkg_postinst() { - ewarn "You must connect to a Sphinx searchd of 0.9.8_rc1 or newer" -} diff --git a/dev-python/carbon/carbon-0.9.13-r1.ebuild b/dev-python/carbon/carbon-0.9.13-r1.ebuild new file mode 100644 index 000000000000..a38c39e370db --- /dev/null +++ b/dev-python/carbon/carbon-0.9.13-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 + +DESCRIPTION="Backend data caching and persistence daemon for Graphite" +HOMEPAGE="http://graphite.wikidot.com/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +SLOT="0" +LICENSE="Apache-2.0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND=" + dev-python/twisted-core[${PYTHON_USEDEP}] + dev-python/whisper[${PYTHON_USEDEP}] + dev-python/txAMQP[${PYTHON_USEDEP}]" + +PATCHES=( + # Do not install the configuration and data files. We install them + # somewhere sensible by hand. + "${FILESDIR}"/${PN}-0.9.12-no-data-files.patch + ) + +python_prepare_all() { + # This sets prefix to /opt/graphite. We want FHS-style paths instead. + rm setup.cfg || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /etc/carbon + doins conf/* + + dodir /var/log/carbon /var/lib/carbon/{whisper,lists,rrd} + + newinitd "${FILESDIR}"/carbon.initd2 carbon-cache + newinitd "${FILESDIR}"/carbon.initd2 carbon-relay + newinitd "${FILESDIR}"/carbon.initd2 carbon-aggregator + + newconfd "${FILESDIR}"/carbon.confd carbon-cache + newconfd "${FILESDIR}"/carbon.confd carbon-relay + newconfd "${FILESDIR}"/carbon.confd carbon-aggregator +} + +pkg_postinst() { + einfo 'This ebuild installs carbon into FHS-style paths.' + einfo 'You will probably have to set GRAPHITE_CONF_DIR to /etc/carbon' + einfo 'and GRAPHITE_STORAGE_DIR to /var/lib/carbon to make use of this' + einfo '(see /etc/carbon/carbon.conf.example).' + einfo ' ' + einfo 'OpenRC init script supports multiple instances !' + einfo 'Example to run an instance b of carbon-cache :' + einfo ' ln -s /etc/init.d/carbon-cache /etc/init.d/carbon-cache.b' + einfo ' cp /etc/conf.d/carbon-cache /etc/conf.d/carbon-cache.b' +} diff --git a/dev-python/carbon/carbon-0.9.14-r1.ebuild b/dev-python/carbon/carbon-0.9.14-r1.ebuild new file mode 100644 index 000000000000..cd241d980329 --- /dev/null +++ b/dev-python/carbon/carbon-0.9.14-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 + +DESCRIPTION="Backend data caching and persistence daemon for Graphite" +HOMEPAGE="http://graphite.wikidot.com/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +SLOT="0" +LICENSE="Apache-2.0" +KEYWORDS="~amd64 ~x86 ~x64-solaris" + +# whisper appears to have been missed from listing in install_requires in setup.py +RDEPEND=" + dev-python/twisted-core[${PYTHON_USEDEP}] + dev-python/whisper[${PYTHON_USEDEP}] + dev-python/txAMQP[${PYTHON_USEDEP}]" + +PATCHES=( + # Do not install the configuration and data files. We install them + # somewhere sensible by hand. Patch for this vn. 0.9.14 has been extended + # due to redhat's init scripts set to install unconditionally in setup.py + "${FILESDIR}"/${P}-no-data-files.patch + ) + +python_prepare_all() { + # This sets prefix to /opt/graphite. We want FHS-style paths instead. + rm setup.cfg || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /etc/carbon + doins conf/* + + dodir /var/log/carbon /var/lib/carbon/{whisper,lists,rrd} + + newinitd "${FILESDIR}"/carbon.initd2 carbon-cache + newinitd "${FILESDIR}"/carbon.initd2 carbon-relay + newinitd "${FILESDIR}"/carbon.initd2 carbon-aggregator + + newconfd "${FILESDIR}"/carbon.confd carbon-cache + newconfd "${FILESDIR}"/carbon.confd carbon-relay + newconfd "${FILESDIR}"/carbon.confd carbon-aggregator +} + +pkg_postinst() { + einfo 'This ebuild installs carbon into FHS-style paths.' + einfo 'You will probably have to set GRAPHITE_CONF_DIR to /etc/carbon' + einfo 'and GRAPHITE_STORAGE_DIR to /var/lib/carbon to make use of this' + einfo '(see /etc/carbon/carbon.conf.example).' + einfo ' ' + einfo 'OpenRC init script supports multiple instances !' + einfo 'Example to run an instance b of carbon-cache :' + einfo ' ln -s /etc/init.d/carbon-cache /etc/init.d/carbon-cache.b' + einfo ' cp /etc/conf.d/carbon-cache /etc/conf.d/carbon-cache.b' +} diff --git a/dev-python/carbon/carbon-0.9.15-r1.ebuild b/dev-python/carbon/carbon-0.9.15-r1.ebuild new file mode 100644 index 000000000000..37560df94c48 --- /dev/null +++ b/dev-python/carbon/carbon-0.9.15-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 + +DESCRIPTION="Backend data caching and persistence daemon for Graphite" +HOMEPAGE="http://graphite.wikidot.com/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +SLOT="0" +LICENSE="Apache-2.0" +KEYWORDS="~amd64 ~x86 ~x64-solaris" + +# whisper appears to have been missed from listing in install_requires in setup.py +RDEPEND=" + dev-python/twisted-core[${PYTHON_USEDEP}] + dev-python/whisper[${PYTHON_USEDEP}] + dev-python/txAMQP[${PYTHON_USEDEP}]" + +PATCHES=( + # Do not install the configuration and data files. We install them + # somewhere sensible by hand. Patch for this vn. 0.9.14 has been extended + # due to redhat's init scripts set to install unconditionally in setup.py + "${FILESDIR}"/${PN}-0.9.14-no-data-files.patch + ) + +python_prepare_all() { + # This sets prefix to /opt/graphite. We want FHS-style paths instead. + rm setup.cfg || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + insinto /etc/carbon + doins conf/* + + dodir /var/log/carbon /var/lib/carbon/{whisper,lists,rrd} + + newinitd "${FILESDIR}"/carbon.initd2 carbon-cache + newinitd "${FILESDIR}"/carbon.initd2 carbon-relay + newinitd "${FILESDIR}"/carbon.initd2 carbon-aggregator + + newconfd "${FILESDIR}"/carbon.confd carbon-cache + newconfd "${FILESDIR}"/carbon.confd carbon-relay + newconfd "${FILESDIR}"/carbon.confd carbon-aggregator +} + +pkg_postinst() { + einfo 'This ebuild installs carbon into FHS-style paths.' + einfo 'You will probably have to set GRAPHITE_CONF_DIR to /etc/carbon' + einfo 'and GRAPHITE_STORAGE_DIR to /var/lib/carbon to make use of this' + einfo '(see /etc/carbon/carbon.conf.example).' + einfo ' ' + einfo 'OpenRC init script supports multiple instances !' + einfo 'Example to run an instance b of carbon-cache :' + einfo ' ln -s /etc/init.d/carbon-cache /etc/init.d/carbon-cache.b' + einfo ' cp /etc/conf.d/carbon-cache /etc/conf.d/carbon-cache.b' +} diff --git a/dev-python/carbon/files/carbon.initd2 b/dev-python/carbon/files/carbon.initd2 new file mode 100644 index 000000000000..1dea421c59aa --- /dev/null +++ b/dev-python/carbon/files/carbon.initd2 @@ -0,0 +1,53 @@ +#!/sbin/runscript +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +export GRAPHITE_CONF_DIR=/etc/carbon +export GRAPHITE_STORAGE_DIR=/var/lib/carbon + +INSTANCE=${SVCNAME/#*.} +if [ "${INSTANCE}" == "${SVCNAME}" ]; then + INSTANCE="a" +fi + +PIDFILE="/var/run/${SVCNAME}.pid" +PROGRAMNAME=${SVCNAME/.*} + +CARBON_CONFIG=${CARBON_CONFIG:-/etc/carbon/carbon.conf} + +depend() { + use net +} + + +start_pre() { + if [ ! -f ${CARBON_CONFIG} ] ; then + eend "Missing ${CARBON_CONFIG}" + fi + case "${PROGRAMNAME}" in + "carbon-relay" ) + if `grep -q "^RELAY_METHOD = rules$" ${CARBON_CONFIG}`; then + [ -f /etc/carbon/relay-rules.conf ] || eend "Missing relay-rules.conf" + fi + ;; + "carbon-aggregator" ) + [ -f /etc/carbon/aggregation-rules.conf ] || eend "Missing missing aggregation-rules.conf" + ;; + esac +} + +start() { + ebegin "Starting ${PROGRAMNAME} instance ${INSTANCE}" + start-stop-daemon --start --exec /usr/bin/${PROGRAMNAME}.py \ + --pidfile ${PIDFILE} \ + -- --pidfile ${PIDFILE} --instance ${INSTANCE} \ + --logdir /var/log/carbon/ --config ${CARBON_CONFIG} start >/dev/null + eend $? "Failed to start ${SVCNAME}" +} + +stop() { + ebegin "Stopping ${PROGRAMNAME} instance ${INSTANCE}" + start-stop-daemon --stop \ + --pidfile ${PIDFILE} + eend $? "Failed to stop ${SVCNAME}" +} diff --git a/dev-python/fudge/fudge-1.1.0.ebuild b/dev-python/fudge/fudge-1.1.0.ebuild index cb3a3ea74cee..c92ba518b566 100644 --- a/dev-python/fudge/fudge-1.1.0.ebuild +++ b/dev-python/fudge/fudge-1.1.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=5 -PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy ) +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy ) inherit distutils-r1 diff --git a/dev-python/graph-tool/Manifest b/dev-python/graph-tool/Manifest index 97d3610f5169..a2e253e0e879 100644 --- a/dev-python/graph-tool/Manifest +++ b/dev-python/graph-tool/Manifest @@ -1 +1,2 @@ +DIST graph-tool-2.16.tar.bz2 15116613 SHA256 3784d4a15b6b5d0e6dab5e3941d24c1e3fee509f7abf9008f64fef2760bd610d SHA512 336dddcd7a3faf56eff06a902f4cf5ac462bc4fd807566c473675eed665dba720e0b275b9233f73e657976e7ebdda75804eaa81ebf617dcde1beb299f45138e2 WHIRLPOOL 74b0ebc84c9a16b61182f296f93e366d09708fe0746c35a961173cfda259083ade97da2ecedbef4b9c19494aab621597c1f7863501d6a0e59c026aa197d39cb1 DIST graph-tool-2.2.44.tar.bz2 15044171 SHA256 42b97c24c155ddd95c79a16b4e3cb034cb3139e912c37aed66e6493e4ff20566 SHA512 312f3baf80a3c66d75f1ad458a2eb4b51300925beeac494e724e73589c06e93ce467a64da0cb26809b706cf69b398ab8ad1750d5e2b952f92b3bc00bd2e42467 WHIRLPOOL 79e04d4b4efb28bd99f45b64eb4297c408e35f1bdf78f6d756d52f44895cc9ae35f3c9c4450ca2a6f9232ebc0c4f57bc261495db7ec4ae2b542424a15777284d diff --git a/dev-python/graph-tool/graph-tool-2.16.ebuild b/dev-python/graph-tool/graph-tool-2.16.ebuild new file mode 100644 index 000000000000..cee02ef0ac9e --- /dev/null +++ b/dev-python/graph-tool/graph-tool-2.16.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit check-reqs toolchain-funcs python-r1 + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/count0/graph-tool.git" + inherit autotools git-r3 +else + SRC_URI="http://downloads.skewed.de/${PN}/${P}.tar.bz2" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs" +HOMEPAGE="http://graph-tool.skewed.de/" + +LICENSE="GPL-3" +SLOT="0" +IUSE="+cairo openmp" + +# Bug #536734; configure sets boostlib 1.53.0 but 1.54.0 is required +RDEPEND="${PYTHON_DEPS} + >=dev-libs/boost-1.54.0[python,${PYTHON_USEDEP}] + dev-libs/expat + dev-python/numpy[${PYTHON_USEDEP}] + sci-libs/scipy[${PYTHON_USEDEP}] + >=sci-mathematics/cgal-3.5 + cairo? ( + dev-cpp/cairomm + dev-python/pycairo[${PYTHON_USEDEP}] + ) + dev-python/matplotlib[${PYTHON_USEDEP}]" +DEPEND="${RDEPEND} + dev-cpp/sparsehash + virtual/pkgconfig" + +# most machines don't have enough ram for parallel builds +MAKEOPTS="${MAKEOPTS} -j1" + +# bug 453544 +CHECKREQS_DISK_BUILD="6G" + +pkg_pretend() { + if use openmp ; then + tc-has-openmp || die "Please switch to an openmp compatible compiler" + fi + check-reqs_pkg_pretend +} + +src_prepare() { + default + [[ ${PV} == "9999" ]] && eautoreconf + >py-compile + python_copy_sources +} + +src_configure() { + local threads + has_version dev-libs/boost[threads] && threads="-mt" + + configure() { + econf \ + --disable-static \ + --disable-optimization \ + $(use_enable openmp) \ + $(use_enable cairo) \ + --with-boost-python="${EPYTHON: -3}${threads}" + } + python_foreach_impl run_in_build_dir configure +} + +src_compile() { + python_foreach_impl run_in_build_dir default +} + +src_install() { + python_foreach_impl run_in_build_dir default + prune_libtool_files --modules +} + +run_in_build_dir() { + pushd "${BUILD_DIR}" > /dev/null + "$@" + popd > /dev/null +} diff --git a/dev-python/gst-python/gst-python-1.6.2.ebuild b/dev-python/gst-python/gst-python-1.6.2.ebuild index 9b2db4c3f9db..8f8bc0d91f47 100644 --- a/dev-python/gst-python/gst-python-1.6.2.ebuild +++ b/dev-python/gst-python/gst-python-1.6.2.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz" LICENSE="LGPL-2" SLOT="1.0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris" IUSE="test" RDEPEND=" diff --git a/dev-python/nnpy/Manifest b/dev-python/nnpy/Manifest new file mode 100644 index 000000000000..5ec70c13325a --- /dev/null +++ b/dev-python/nnpy/Manifest @@ -0,0 +1 @@ +DIST nnpy-1.1.tar.gz 3337 SHA256 5501378bf20862d3b552396314bb57756b1e189de1a7671985b51d033e0c8416 SHA512 099c77b0916507a8e49ac0c0cd8a48d5d99c00d1f762a133f3f6f1e8bb6ed556e13260f4414751a4ea8ba4a847670ff180017a2900e12977cd072d98b7b5133c WHIRLPOOL e1a9568d729c101246330a558a5a4dff88c8a6dccaf8f0d62d9f84ffce070f380c8e57259db2e5960e0e3884cce0a117de1cd39f435cae657ea315eaa4f18f60 diff --git a/dev-python/nnpy/metadata.xml b/dev-python/nnpy/metadata.xml new file mode 100644 index 000000000000..6d910c627947 --- /dev/null +++ b/dev-python/nnpy/metadata.xml @@ -0,0 +1,12 @@ + + + + + aballier@gentoo.org + Alexis Ballier + + + djc@gentoo.org + Dirkjan Ochtman + + diff --git a/dev-python/nnpy/nnpy-1.1.ebuild b/dev-python/nnpy/nnpy-1.1.ebuild new file mode 100644 index 000000000000..5b574dc9bf9a --- /dev/null +++ b/dev-python/nnpy/nnpy-1.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +inherit distutils-r1 + +DESCRIPTION="cffi-based Python bindings for nanomsg" +HOMEPAGE="https://github.com/nanomsg/nnpy" +SRC_URI="https://github.com/nanomsg/nnpy/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] + dev-libs/nanomsg +" +RDEPEND="${DEPEND}" + +python_test() { + "${PYTHON}" "${S}/test.py" || die +} diff --git a/dev-python/pyatspi/pyatspi-2.18.0.ebuild b/dev-python/pyatspi/pyatspi-2.18.0.ebuild index 6ac05821d7b1..6b1082b4b0c8 100644 --- a/dev-python/pyatspi/pyatspi-2.18.0.ebuild +++ b/dev-python/pyatspi/pyatspi-2.18.0.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://wiki.gnome.org/Accessibility" # Note: only some of the tests are GPL-licensed, everything else is LGPL LICENSE="LGPL-2 GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86" IUSE="" # test REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/dev-python/pygobject/pygobject-3.18.2.ebuild b/dev-python/pygobject/pygobject-3.18.2.ebuild index a12517b71518..b5392c881b88 100644 --- a/dev-python/pygobject/pygobject-3.18.2.ebuild +++ b/dev-python/pygobject/pygobject-3.18.2.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/PyGObject" LICENSE="LGPL-2.1+" SLOT="3" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" IUSE="+cairo examples test +threads" REQUIRED_USE=" diff --git a/dev-qt/qtwebsockets/qtwebsockets-5.5.1-r2.ebuild b/dev-qt/qtwebsockets/qtwebsockets-5.5.1-r3.ebuild similarity index 77% rename from dev-qt/qtwebsockets/qtwebsockets-5.5.1-r2.ebuild rename to dev-qt/qtwebsockets/qtwebsockets-5.5.1-r3.ebuild index e9a9241ed257..13c3264394fb 100644 --- a/dev-qt/qtwebsockets/qtwebsockets-5.5.1-r2.ebuild +++ b/dev-qt/qtwebsockets/qtwebsockets-5.5.1-r3.ebuild @@ -15,7 +15,7 @@ IUSE="qml +ssl" DEPEND=" ~dev-qt/qtcore-${PV} - ~dev-qt/qtnetwork-${PV}[ssl?] + ~dev-qt/qtnetwork-${PV}[ssl=] qml? ( ~dev-qt/qtdeclarative-${PV} ) " @@ -24,10 +24,5 @@ RDEPEND="${DEPEND}" src_prepare() { qt_use_disable_mod qml quick src/src.pro - if ! use ssl; then - sed -i -e '/contains(QT_CONFIG.*ssl)/ c\false{' \ - src/websockets/websockets.pro || die - fi - qt5-build_src_prepare } diff --git a/dev-qt/qtwebsockets/qtwebsockets-5.6.0-r1.ebuild b/dev-qt/qtwebsockets/qtwebsockets-5.6.0-r2.ebuild similarity index 77% rename from dev-qt/qtwebsockets/qtwebsockets-5.6.0-r1.ebuild rename to dev-qt/qtwebsockets/qtwebsockets-5.6.0-r2.ebuild index 26a4d9278f12..c62170c62c5c 100644 --- a/dev-qt/qtwebsockets/qtwebsockets-5.6.0-r1.ebuild +++ b/dev-qt/qtwebsockets/qtwebsockets-5.6.0-r2.ebuild @@ -15,7 +15,7 @@ IUSE="qml +ssl" DEPEND=" ~dev-qt/qtcore-${PV} - ~dev-qt/qtnetwork-${PV}[ssl?] + ~dev-qt/qtnetwork-${PV}[ssl=] qml? ( ~dev-qt/qtdeclarative-${PV} ) " @@ -24,10 +24,5 @@ RDEPEND="${DEPEND}" src_prepare() { qt_use_disable_mod qml quick src/src.pro - if ! use ssl; then - sed -i -e '/contains(QT_CONFIG.*ssl)/ c\false{' \ - src/websockets/websockets.pro || die - fi - qt5-build_src_prepare } diff --git a/dev-ruby/capybara/Manifest b/dev-ruby/capybara/Manifest index a60f68c533db..6326a53c82cf 100644 --- a/dev-ruby/capybara/Manifest +++ b/dev-ruby/capybara/Manifest @@ -1,3 +1,4 @@ DIST capybara-1.1.4.gem 72192 SHA256 33073d7e4920a3e74c61ec46d1afe655eb0f3361187113c5e146df498e4611ed SHA512 102738031281d0fabd645fa6d941cf0a9ddd56f90d53d7cc1c8a7b03a37b6af8f4cddd178e6fc07d6751a539a5039cf20502eabdd49e8001793601bb312b47a3 WHIRLPOOL 81eff318acfdc0806c9f8d4e212068edd57694d44db1e29bbefaa7a4db162f3a2354374d6ab97ad7c2372ff9e6f6bb864ed483050facad5c298c2223a39c63cc DIST capybara-2.6.2.gem 220160 SHA256 dc03b0065090b6f7a41fc242d15f06ea5bc97337620fa8fbd2a541ce8b3ac752 SHA512 a50de9bf3e09270a8ad4739326ecb938901e098caa7610cb5daa3df7d79753dcbe77beca60237d3a0536e0e6518af517dc6d96e9fea37d19ceb89a6f6905969d WHIRLPOOL 509b8963f5ea7808f4ebf1c24a34bcfa8b27374f900d63a2c07a44367e48e2208e30477f92e058d2b8724ce063c8f03b76046303a98d9325ce03d5405400b40f DIST capybara-2.7.0.gem 227328 SHA256 645f6c2edddd6d90cab56cb471f262a222db566f38c7dc1e08477f2b00f6d8ec SHA512 522970c329d3e48265ce65329d8c0b11133364b69beb141d943f4336eb5b87d0f8327c4a5e976fa71f80c3ff84796ce9750eb05f73a18073672fe3f667344828 WHIRLPOOL 33ce95e2d4e9dbe118916291f7a4cb491f8dfc8178a68d6b7fbbd0c4f688f7af86342ce592d45fd7616ad8eb2e01a97d23f41bdb145ff986ba2bac26471856af +DIST capybara-2.7.1.gem 227328 SHA256 2c010cefb36e701bc576223c877ed173b316d06e5d50512eb242cde487bed513 SHA512 cb9249957bf24ce73c2465d6f1cd01fbc32c211b355ed47ce345e376fca705203da362ee2697e9f1dc72bb807df9c0728441635ee6f4681d1270a475cc606cc8 WHIRLPOOL c9b52c150c722b983b11dd466bbad79f1632a63fbd664f395d23d30636334b09f281d2d89329824ae37f7015699266f577c577b5c280005fc079dab72c649dfa diff --git a/dev-ruby/capybara/capybara-2.7.1.ebuild b/dev-ruby/capybara/capybara-2.7.1.ebuild new file mode 100644 index 000000000000..29d850aca7ec --- /dev/null +++ b/dev-ruby/capybara/capybara-2.7.1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +USE_RUBY="ruby20 ruby21 ruby22" + +RUBY_FAKEGEM_EXTRADOC="History.md README.md" + +# Rake tasks are not distributed in the gem. +RUBY_FAKEGEM_TASK_DOC="" +RUBY_FAKEGEM_TASK_TEST="" + +inherit virtualx ruby-fakegem + +DESCRIPTION="Capybara aims to simplify the process of integration testing Rack applications" +HOMEPAGE="https://github.com/jnicklas/capybara" +LICENSE="MIT" + +KEYWORDS="~amd64 ~x86" +SLOT="2" +IUSE="test" + +DEPEND="${DEPEND} test? ( www-client/firefox )" + +ruby_add_bdepend "test? ( dev-ruby/rspec:3 dev-ruby/launchy >=dev-ruby/selenium-webdriver-2.0 )" + +ruby_add_rdepend " + dev-ruby/addressable + >=dev-ruby/mime-types-1.16:* + >=dev-ruby/nokogiri-1.3.3 + >=dev-ruby/rack-1.0.0:* + >=dev-ruby/rack-test-0.5.4 + >=dev-ruby/xpath-2.0.0:2" + +all_ruby_prepare() { + sed -i -e '/bundler/d' -e '/pry/d' spec/spec_helper.rb || die + + # Avoid window-manager specific tests (sizes are specific for fluxbox) + sed -i -e '/#maximize/,/^ end/ s:^:#:' lib/capybara/spec/session/window/window_spec.rb || die +} + +each_ruby_test() { + VIRTUALX_COMMAND=${RUBY} + virtualmake -Ilib -S rspec-3 spec || die "Tests failed." +} diff --git a/dev-ruby/concurrent-ruby/Manifest b/dev-ruby/concurrent-ruby/Manifest index e2e4eb70505b..70ceac9186c2 100644 --- a/dev-ruby/concurrent-ruby/Manifest +++ b/dev-ruby/concurrent-ruby/Manifest @@ -1,2 +1,3 @@ DIST concurrent-ruby-1.0.0.tar.gz 1269980 SHA256 21a5942bd18d6ca2bdf547f16925f167b0c18592f737091ea5531f07de92fba0 SHA512 5b2a6b5d0e43d1df768d9e18328ecee04796af70edaa72646431e0c4e2ff75387542cce8f78b69d73514166348ed73f906f00bd6e627969159ab1ce4e2a75e6c WHIRLPOOL c7875df7f5c3f91487c1a85a46948225ccfebeb625ae1d4c6fd5b87ba7f224bc50aeb782a58bcfd6f5423d52dea7a54ef57189ae0bc4a23b5996e0b9b41feede DIST concurrent-ruby-1.0.1.tar.gz 1277569 SHA256 696c1f8044f072512d512b48c21e9c66ec4e970706cdbb8fa90e0fab5a4ea254 SHA512 14dfdad55701fcdf6ac97e87ac9ee4113340d8f2a01eb1970b2635b175a34d04c9f208d2ed445dfd8d28f67acb5cd8b6e2e89ace86bccff8c8728ee69eb0f87a WHIRLPOOL 5166bd500deeab934e97ff9c560e6d56d37113201436f528a63a57af91cc9cbb2e4ff5f45397fd77ff01db8b4eb816ec4678cf8f404e09cfd740e79dbffdf929 +DIST concurrent-ruby-1.0.2.tar.gz 1278198 SHA256 a8051789e6b08448ae350031cf13ec563b0a176651b7d81d9f9e845b9b126ff4 SHA512 ad82af8bb5a6aeb6133466580e3e6b51cc37dcc9391b0bbfdc5230ac761453747fcac1b080a09772c90d7a05047ae4ac0ba4113fbd048c4b3c3712064b7a22d9 WHIRLPOOL 55a8d668cad46f357d3b54428f0ab42b349f46b5e9a785cf053944ef96a4f0267b775911b7cec5d6d64bc40fb7efc1f1cc0ef5affdc7307ea5e40db8af6dc87c diff --git a/dev-ruby/concurrent-ruby/concurrent-ruby-1.0.2.ebuild b/dev-ruby/concurrent-ruby/concurrent-ruby-1.0.2.ebuild new file mode 100644 index 000000000000..95d58e94bc8a --- /dev/null +++ b/dev-ruby/concurrent-ruby/concurrent-ruby-1.0.2.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +USE_RUBY="ruby20 ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +RUBY_FAKEGEM_RECIPE_DOC="" + +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="Modern concurrency tools including agents, futures, promises, thread pools, more" +HOMEPAGE="https://github.com/ruby-concurrency/concurrent-ruby" +SRC_URI="https://github.com/ruby-concurrency/concurrent-ruby/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="1" +KEYWORDS="~amd64 ~arm ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="" + +all_ruby_prepare() { + # Remove edge files as defined in support/file_map.rb + rm -rf {lib,spec}/concurrent/{actor,channel,edge}* \ + lib/concurrent/{concurrent-edge,lazy_register.rb} \ + spec/concurrent/lazy_register_spec.rb || die + sed -i -e '/concurrent-edge/ s:^:#:' spec/spec_helper.rb || die + + # Remove specs for the ext gem + rm -rf spec/concurrent/atomic || die + + sed -i -e '/file_map/d' -e '/s.files/d' ${RUBY_FAKEGEM_GEMSPEC} || die +} diff --git a/dev-ruby/multi_json/Manifest b/dev-ruby/multi_json/Manifest index c74d8e7ba7b7..8ecb655117f0 100644 --- a/dev-ruby/multi_json/Manifest +++ b/dev-ruby/multi_json/Manifest @@ -1,3 +1,4 @@ DIST multi_json-1.11.2.tar.gz 24748 SHA256 656e92aa19d5e0fc08c1f30f30e328479631407d1dd893c058cac88dd0777313 SHA512 bb4b1835cd5d4355003dfc1085cbb71913766d6e8210dab93d8aed5e6612a29f60420efd550f566c63da5358e1ce2daf04049c1d635caf07244f117cff0f3794 WHIRLPOOL 8216b793687c0d1ec30eaaefce5320e6124468adb3bbd905455ecf0ae66e962d662f492f91854f00077e15d9ae9b15e43a58f10d79acc6469fc668462bcce59f DIST multi_json-1.11.3.tar.gz 24788 SHA256 3dc780a837b0ad85d0ffbfe876b04246ef7f544b22859262cce76a94a70ccdb3 SHA512 9afbcf30755b189c26e83f8a416115ab7c5b64875ca3508e5b4d4eff6636eba536896b2801e314187ce3ad44414934f6605fcbae4850d979d348952df0fd5e6e WHIRLPOOL ab843c487028ffa42b1b5786f93502b0f910ce8865f02e9ab205c090251a073b0635d1b97909e7589ee314a30b3e3852615027215cc4f407b1b8c2094390f552 +DIST multi_json-1.12.0.tar.gz 25141 SHA256 2fbbc9437720817af96f17445b9caf0221bfe6cb6a7d20456ce9e16910a68a57 SHA512 33fd20a014a9f77953b495bbdf5f14452c44c08ad0da6665d235b0ac0eb2c8afbd7aa787da970bcbb16149a6aef921728728a4c4c5f74eeab7260a0400e9977f WHIRLPOOL 4bc6710d2a0e9c2fd8f90a560b79b9a82996c4993e0223e050b0d6361169c5a04aab628a47a9721e74a20a782cbf15607f5484de9e1009c80c5616a079179a42 DIST multi_json-1.9.3.gem 30720 SHA256 631390d4b6c3d3753a3df0c28339c8e7840704083dfdcefb1323a22ab97b2281 SHA512 7f06747e760a63b6421dfda480522924f12bd00ad63f95414f6624173b9b9b255b139f9dc33d2d2a8d19b232f99a005033e00e3a0b223be992f73d142a55b8b5 WHIRLPOOL a96f1c1e53865e153bc83079fc70b69af6c941c4995f4215317ca53567532d1406adb174683fc8c5229fdc3563f5e8d3c2c662d77cf9d9d55367aab2df5b34f0 diff --git a/dev-ruby/multi_json/multi_json-1.12.0.ebuild b/dev-ruby/multi_json/multi_json-1.12.0.ebuild new file mode 100644 index 000000000000..5b6038b57d7e --- /dev/null +++ b/dev-ruby/multi_json/multi_json-1.12.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +USE_RUBY="ruby20 ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" +RUBY_FAKEGEM_TASK_DOC="yard" + +RUBY_FAKEGEM_DOCDIR="rdoc" +RUBY_FAKEGEM_EXTRADOC="README.md" + +RUBY_FAKEGEM_GEMSPEC="multi_json.gemspec" + +inherit ruby-fakegem + +SRC_URI="https://github.com/intridea/multi_json/archive/v${PV}.tar.gz -> ${P}.tar.gz" +DESCRIPTION="A gem to provide swappable JSON backends" +HOMEPAGE="https://github.com/intridea/multi_json" +LICENSE="MIT" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc64 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +SLOT="0" +IUSE="" + +ruby_add_rdepend "|| ( >=dev-ruby/json-1.4 >=dev-ruby/yajl-ruby-1.0 =dev-ruby/activesupport-3* )" + +ruby_add_bdepend "doc? ( dev-ruby/rspec:3 dev-ruby/yard )" + +ruby_add_bdepend "test? ( dev-ruby/json + dev-ruby/yajl-ruby )" + +all_ruby_prepare() { + sed -i -e '/[Bb]undler/d' Rakefile spec/spec_helper.rb || die "Unable to remove bundler." + + # Remove unimportant rspec options not supported by rspec 2.6. + rm .rspec || die + + # Remove specs specific to oj since we don't package oj yet. + sed -i -e '/defaults to the best available gem/,/^ end/ s:^:#:' \ + -e '/Oj does not create symbols on parse/,/^ end/ s:^:#:' \ + -e '/with Oj.default_settings/,/^ end/ s:^:#:' \ + -e '/using one-shot parser/,/^ end/ s:^:#:' \ + spec/multi_json_spec.rb + + # Avoid simplecov which only works with ruby 1.9 + sed -i -e '/simplecov/d' -e '/SimpleCov.formatter/,/SimpleCov.start/ d' spec/spec_helper.rb || die + + # Remove unpackaged and for our purposes unneeded coveralls + sed -i -e '/coveralls/d' spec/spec_helper.rb || die + + # Avoid testing unpackaged adapters + rm spec/{gson,jr_jackson,oj}_adapter_spec.rb || die +} + +each_ruby_test() { + for t in spec/*_spec.rb; do + ${RUBY} -S rspec-3 ${t} || die + done +} diff --git a/dev-ruby/redcloth/Manifest b/dev-ruby/redcloth/Manifest index d684d714bee5..9f7105bc49dd 100644 --- a/dev-ruby/redcloth/Manifest +++ b/dev-ruby/redcloth/Manifest @@ -1 +1,2 @@ +DIST RedCloth-4.3.0.tar.gz 91815 SHA256 aa73fb9e22cb1e02fa9d5aca4c85185021f4c89d6aed28d058f30040c9792800 SHA512 3c8c8b04697b776f9bf06e0783ac296466319a82ccad374c431f20e9fb06eb97a7fe08ecef1a0a40339aa19873ad5946f674a9392942f5eb4ffe7b7b8aac9f57 WHIRLPOOL d25efa0a53cbaea71ffdb608c4dbce8eb24ea53431d58a6e8602717c5cb059c0279b038240fb708192094011ab4af3c88439ca68802c421359c7e1eacf5ff10c DIST RedCloth-git-4.2.9.tgz 96897 SHA256 e649f46a58b949c6d229714c25b747f331b4a5b887eaa65ac43eab1f39067e6c SHA512 646f7a1a88ab9b3ff078016df706a1c9d991bf21d86ef1dd4c0a0ee6b946f94276b52499218bca222461eb003510e84b81f44b08899c5b36ac115137193e968a WHIRLPOOL 4276714eb34ec2571544ff271698f1e6540ac62d51704c4216d19452be0b59d1da3014b7c290204b9ca42d5edd88094f1de79618d3bbf8d4f8ae5fb214ecca63 diff --git a/dev-ruby/redcloth/redcloth-4.3.0.ebuild b/dev-ruby/redcloth/redcloth-4.3.0.ebuild new file mode 100644 index 000000000000..28dd7b24f2c6 --- /dev/null +++ b/dev-ruby/redcloth/redcloth-4.3.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +USE_RUBY="ruby20 ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_NAME="RedCloth" + +RUBY_FAKEGEM_RECIPE_TEST="rspec" +RUBY_FAKEGEM_TASK_DOC="" + +RUBY_FAKEGEM_DOCDIR="doc" + +RUBY_FAKEGEM_EXTRADOC="README.rdoc CHANGELOG" + +RUBY_FAKEGEM_REQUIRE_PATHS="lib/case_sensitive_require" + +inherit ruby-fakegem versionator + +DESCRIPTION="A module for using Textile in Ruby" +HOMEPAGE="http://redcloth.org/" + +GITHUB_USER=jgarber +SRC_URI="https://github.com/${GITHUB_USER}/redcloth/archive/v${PV}.tar.gz -> ${RUBY_FAKEGEM_NAME}-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="" + +DEPEND+=" dev-util/ragel" + +ruby_add_bdepend " + >=dev-ruby/rake-0.8.7 + >=dev-ruby/rake-compiler-0.7.1 + test? ( >=dev-ruby/diff-lcs-1.1.2 )" + +pkg_setup() { + ruby-ng_pkg_setup + + # Export the VERBOSE variable to avoid remapping of stdout and + # stderr, and that breaks because of bad interactions between + # echoe, Ruby and Gentoo. + export VERBOSE=1 +} + +all_ruby_prepare() { + sed -i -e '/[Bb]undler/d' Rakefile ${PN}.gemspec || die + rm -f tasks/{release,rspec,rvm}.rake || die +} + +each_ruby_compile() { + # We cannot run this manually easily, because Ragel re-generation + # is a mess + ${RUBY} -S rake compile || die "rake compile failed" +} diff --git a/dev-ruby/ruby-termios/ruby-termios-1.0.0-r1.ebuild b/dev-ruby/ruby-termios/ruby-termios-1.0.0-r1.ebuild index 700cf3b230bf..4e02328bd681 100644 --- a/dev-ruby/ruby-termios/ruby-termios-1.0.0-r1.ebuild +++ b/dev-ruby/ruby-termios/ruby-termios-1.0.0-r1.ebuild @@ -3,7 +3,7 @@ # $Id$ EAPI=5 -USE_RUBY="ruby20 ruby21 ruby22" +USE_RUBY="ruby20 ruby21 ruby22 ruby23" inherit multilib ruby-ng @@ -12,7 +12,7 @@ HOMEPAGE="http://arika.org/ruby/termios" SRC_URI="https://github.com/arika/ruby-termios/archive/version_${PV//./_}.tar.gz -> ${P}.tar.gz" LICENSE="Ruby" SLOT="0" -KEYWORDS="~amd64 ~hppa ~mips ~ppc ~x86 ~x86-macos" +KEYWORDS="amd64 ~hppa ~mips ~ppc x86 ~x86-macos" IUSE="" RUBY_S="${PN}-version_${PV//./_}" diff --git a/dev-ruby/ruby-termios/ruby-termios-1.0.0.ebuild b/dev-ruby/ruby-termios/ruby-termios-1.0.0.ebuild deleted file mode 100644 index 09157e298859..000000000000 --- a/dev-ruby/ruby-termios/ruby-termios-1.0.0.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -USE_RUBY="ruby20" - -inherit multilib ruby-ng - -DESCRIPTION="A Ruby interface to termios" -HOMEPAGE="http://arika.org/ruby/termios" -SRC_URI="https://github.com/arika/ruby-termios/archive/version_${PV//./_}.tar.gz -> ${P}.tar.gz" -LICENSE="Ruby" -SLOT="0" -KEYWORDS="amd64 ~hppa ~mips ~ppc x86 ~x86-macos" -IUSE="" - -RUBY_S="${PN}-version_${PV//./_}" - -# Tests require a normal TTY, bug 340575. They should all pass when run -# manually. -RESTRICT=test - -each_ruby_configure() { - ${RUBY} -Cext extconf.rb || die -} - -each_ruby_compile() { - emake -Cext V=1 - cp ext/termios$(get_modname) lib/ || die -} - -each_ruby_test() { - ${RUBY} -Ilib test/test0.rb || die "tests failed" -} - -each_ruby_install() { - emake V=1 -Cext DESTDIR="${D}" install -} - -all_ruby_install() { - dodoc ChangeLog README termios.rd - - insinto /usr/share/doc/${PF}/examples - doins examples/* -} diff --git a/dev-ruby/snmplib/snmplib-1.2.0-r1.ebuild b/dev-ruby/snmplib/snmplib-1.2.0-r1.ebuild index 42b86f721702..d7f6faf5c8c7 100644 --- a/dev-ruby/snmplib/snmplib-1.2.0-r1.ebuild +++ b/dev-ruby/snmplib/snmplib-1.2.0-r1.ebuild @@ -18,7 +18,7 @@ IUSE="" DESCRIPTION="SNMP library implemented in pure Ruby" HOMEPAGE="http://snmplib.rubyforge.org/" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ppc x86" LICENSE="Ruby" SLOT="0" diff --git a/dev-util/electron/Manifest b/dev-util/electron/Manifest new file mode 100644 index 000000000000..9cbff0a63b83 --- /dev/null +++ b/dev-util/electron/Manifest @@ -0,0 +1,7 @@ +DIST asar-0.10.0.tar.gz 975433 SHA256 49e743a952957aa22668b472ba926427f9e051ececeaadb922f8aff2bc8fd1ee SHA512 702fa0e496a1db55a61d7e00d55456f8703f7af00e458f26413771dc71cd03e9418e0334bb1a500aaabe14ab598e19c64612ebf6411c77e30004833c8d5d151e WHIRLPOOL a2e4f8563f779aea19357962f0ac0895005ff93a601d409a7b2c685348cba845106729e1f2a39f95001c186c0c0ba914d73ff1364d488e0853dbbabda0e80bb3 +DIST brightray-9bc1d21b69ac99bed546d42035dc1205ea6b04af.tar.gz 74416 SHA256 9cb944145085384423efdbdbe4dd523b71eaf517fd040e1993666832ffac4fa6 SHA512 c7a16f3634111a43d45959e0406488dc7417848403a6261204b58f67d62688f888f733ca23f3eac3a2dc76955c185ce845d63a6dc1e5a0fba54fb115202414d0 WHIRLPOOL c1ebe0e3adbd74da772778589f59f30a2e288723d62cf8bc686c1b0795daef4c31e9d38363b29dae9b162ccf856707f7a9eb34c8b31ca76042870d7adfa14e99 +DIST chromium-47.0.2526.110.tar.xz 394673276 SHA256 65a86d9532e03f94844a4e9b1996af85baeb00c95effe962baa153352483463e SHA512 d1655e822776567101632696c7817067e9a85c0f74df22ea40b8fcb45b9571471d8bb1291bae4dd879d746ddb57206276db8df92ccb546bb00129bc26bb33bb8 WHIRLPOOL 047d5bd9f3cfc09b85288f8f6c24bc72ee2399992b2f02410d4ed651deb1b1141f390d0eb3e56728ac286a3b24fa0d3db9489399ae116fcd820d482f5a055ae3 +DIST electron-0.36.12.tar.gz 3068567 SHA256 8e4ee7ed37d32ad73f8cbfb132ce0009506a01a68d5a71bafd6858c6bc11f9a6 SHA512 37d016768e57f81b01338cea6d0d5eaa6ea72d83a2122b54c9c73e37b0afc7fb8351b0cb846afda29206379d5625657b815b002c2eb3c31babcd0cffa47ae3de WHIRLPOOL a358e353259d377dd59ae563f38b2fe185ade6d7a00bbad8c61831c92b4e200ac1f2f25b79564eae11d9082a569be342ccd4be6e400955cd65729e9299b48796 +DIST electron-node-a507a3c3816d6ac085ed46250c489a3d76ab8b3c.tar.gz 36578658 SHA256 56489ffa9d58b736008f5c1c2775bc10f3afe02d3c768035e7742893cc8e1d82 SHA512 a5b62c05ec7300a26b3feab3c1e796a87691d41fa7c039541574878491df51e9075685abc5d630fc62bca95bf821eeede041d4ab36caedaf76156844f1095ea6 WHIRLPOOL 8675b05753cf905cfb2fc0ebb19fc256489a7b932c57be291eb2fc7194de599c07f4120541f4a61cccdb43b09b6280c7c02f9565aef98129c584fdca4c154279 +DIST libchromiumcontent-ad63d8ba890bcaad2f1b7e6de148b7992f4d3af7.tar.gz 400648 SHA256 36b46659fff3053ce273d3ed159fca74e18ebc873694f857a521d3c48fc079b1 SHA512 5fcb5e3dd98d5875ff7aa9f9f4d02af45487534d0301ca7a0a7adde934f528fedc3dfaf886b9031027e41309eb8ba658b72a56af4ad8dc44cce458b9c04a0e47 WHIRLPOOL 31d28804f91bbdece8709ddac359e7f5c079b034137734041f274838d138d8e141fe12c0ecf1e66f92b15e8c653526a1779d3bcc342e3ecc9a39a18c689a94a6 +DIST native-mate-e719eab878c264bb03188d0cd6eb9ad6882bc13a.tar.gz 23818 SHA256 82da85193f6924ce395004ce9dfd1198848cf8f14b7904321e67cad26a39f794 SHA512 4272648127fb0bf90b36d2c090bea718d560737c1c7443a5b3c0de12999ffe607429b2112ecee36ece5d26cde54e78964303250ffd350a19c132c9733b72c523 WHIRLPOOL c275163b9f3f424f5909f17c67f5b029f03bf76679296781bd6d74e64d903dd29cf5c28f1c4e399a049331f54f03175fe2c02de9ef6bf65040d9cef05be44a51 diff --git a/dev-util/electron/electron-0.36.12.ebuild b/dev-util/electron/electron-0.36.12.ebuild new file mode 100644 index 000000000000..73d6199a6f78 --- /dev/null +++ b/dev-util/electron/electron-0.36.12.ebuild @@ -0,0 +1,722 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +PYTHON_COMPAT=( python2_7 ) + +CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt_BR pt_PT ro ru sk sl sr + sv sw ta te th tr uk vi zh_CN zh_TW" + +inherit check-reqs chromium eutils flag-o-matic multilib multiprocessing pax-utils \ + portability python-any-r1 readme.gentoo-r1 toolchain-funcs versionator virtualx + +# Keep this in sync with vendor/brightray/vendor/libchromiumcontent/VERSION +CHROMIUM_VERSION="47.0.2526.110" +# Keep this in sync with vendor/brightray +BRIGHTRAY_COMMIT="9bc1d21b69ac99bed546d42035dc1205ea6b04af" +# Keep this in sync with vendor/node +NODE_COMMIT="a507a3c3816d6ac085ed46250c489a3d76ab8b3c" +# Keep this in sync with vendor/native_mate +NATIVE_MATE_COMMIT="e719eab878c264bb03188d0cd6eb9ad6882bc13a" +# Keep this in sync with vendor/brightray/vendor/libchromiumcontent +LIBCHROMIUMCONTENT_COMMIT="ad63d8ba890bcaad2f1b7e6de148b7992f4d3af7" +# Keep this in sync with package.json#devDependencies +ASAR_VERSION="0.10.0" + +CHROMIUM_P="chromium-${CHROMIUM_VERSION}" +BRIGHTRAY_P="brightray-${BRIGHTRAY_COMMIT}" +NODE_P="node-${NODE_COMMIT}" +NATIVE_MATE_P="native-mate-${NATIVE_MATE_COMMIT}" +LIBCHROMIUMCONTENT_P="libchromiumcontent-${LIBCHROMIUMCONTENT_COMMIT}" +ASAR_P="asar-${ASAR_VERSION}" + +DESCRIPTION="Cross platform application development framework based on web technologies" +HOMEPAGE="http://electron.atom.io/" +SRC_URI=" + https://commondatastorage.googleapis.com/chromium-browser-official/${CHROMIUM_P}.tar.xz + https://github.com/electron/electron/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/electron/brightray/archive/${BRIGHTRAY_COMMIT}.tar.gz -> ${BRIGHTRAY_P}.tar.gz + https://github.com/electron/node/archive/${NODE_COMMIT}.tar.gz -> electron-${NODE_P}.tar.gz + https://github.com/zcbenz/native-mate/archive/${NATIVE_MATE_COMMIT}.tar.gz -> ${NATIVE_MATE_P}.tar.gz + https://github.com/electron/libchromiumcontent/archive/${LIBCHROMIUMCONTENT_COMMIT}.tar.gz -> ${LIBCHROMIUMCONTENT_P}.tar.gz + https://github.com/elprans/asar/releases/download/v${ASAR_VERSION}-gentoo/asar-build.tar.gz -> ${ASAR_P}.tar.gz +" + +S="${WORKDIR}/${CHROMIUM_P}" +ELECTRON_S="${WORKDIR}/${P}" +NODE_S="${S}/vendor/node" +BRIGHTRAY_S="${S}/vendor/brightray" +NATIVE_MATE_S="${S}/vendor/native_mate" +LIBCC_S="${BRIGHTRAY_S}/vendor/libchromiumcontent" + +LICENSE="BSD" +SLOT="0/$(get_version_component_range 2)" +KEYWORDS="~amd64" +IUSE="custom-cflags cups gnome gnome-keyring gtk3 hidpi kerberos lto neon pic +proprietary-codecs pulseaudio selinux +system-ffmpeg +tcmalloc" +RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )" + +# Native Client binaries are compiled with different set of flags, bug #452066. +QA_FLAGS_IGNORED=".*\.nexe" + +# Native Client binaries may be stripped by the build system, which uses the +# right tools for it, bug #469144 . +QA_PRESTRIPPED=".*\.nexe" + +RDEPEND=">=app-accessibility/speech-dispatcher-0.8:= + app-arch/bzip2:= + app-arch/snappy:= + cups? ( >=net-print/cups-1.3.11:= ) + >=dev-libs/elfutils-0.149 + dev-libs/expat:= + dev-libs/glib:= + >=dev-libs/icu-55.1:= + >=dev-libs/jsoncpp-0.5.0-r1:= + >=dev-libs/libevent-1.4.13:= + dev-libs/libxml2:=[icu] + dev-libs/libxslt:= + dev-libs/nspr:= + >=dev-libs/nss-3.14.3:= + dev-libs/re2:= + gnome? ( >=gnome-base/gconf-2.24.0:= ) + gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) + >=media-libs/alsa-lib-1.0.19:= + media-libs/flac:= + media-libs/fontconfig:= + media-libs/freetype:= + >=media-libs/harfbuzz-0.9.41:=[icu(+)] + media-libs/libexif:= + >=media-libs/libjpeg-turbo-1.2.0-r1:= + media-libs/libpng:0= + >=media-libs/libwebp-0.4.0:= + media-libs/speex:= + pulseaudio? ( media-sound/pulseaudio:= ) + system-ffmpeg? ( >=media-video/ffmpeg-2.7.2:=[opus,vorbis,vpx] ) + sys-apps/dbus:= + sys-apps/pciutils:= + >=sys-libs/libcap-2.22:= + sys-libs/zlib:=[minizip] + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:= + gtk3? ( x11-libs/gtk+:3= ) + !gtk3? ( x11-libs/gtk+:2= ) + x11-libs/libdrm + x11-libs/libX11:= + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXext:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXinerama:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXScrnSaver:= + x11-libs/libXtst:= + x11-libs/pango:= + kerberos? ( virtual/krb5 ) + >=net-libs/http-parser-2.6.2:= + >=dev-libs/libuv-1.8.0:= + >=dev-libs/openssl-1.0.2g:0=[-bindist]" +DEPEND="${RDEPEND} + !arm? ( + dev-lang/yasm + ) + dev-lang/perl + dev-perl/JSON + >=dev-util/gperf-3.0.3 + dev-util/ninja + net-libs/nodejs[npm] + sys-apps/hwids[usb(+)] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig" + +# For nvidia-drivers blocker, see bug #413637 . +RDEPEND+=" + x11-misc/xdg-utils + virtual/opengl + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + tcmalloc? ( ! "${out}" + done +} + +_get_install_suffix() { + local c=(${SLOT//\// }) + local slot=${c[0]} + local suffix + + if [[ "${slot}" == "0" ]]; then + suffix="" + else + suffix="-${slot}" + fi + + echo -n "${suffix}" +} + +_get_install_dir() { + echo -n "/usr/$(get_libdir)/electron$(_get_install_suffix)" +} + +src_prepare() { + # Merge Electron code and its submodules into the Chromium source tree + # so that everything can be configured and built in a single pass. + # + rsync -a --ignore-existing "${ELECTRON_S}/" "${S}/" || die + rm -r "${NODE_S}" && + mv "${WORKDIR}/${NODE_P}" "${NODE_S}" || die + rm -r "${BRIGHTRAY_S}" && + mv "${WORKDIR}/${BRIGHTRAY_P}" "${BRIGHTRAY_S}" || die + rm -r "${NATIVE_MATE_S}" && + mv "${WORKDIR}/${NATIVE_MATE_P}" "${NATIVE_MATE_S}" || die + rm -r "${LIBCC_S}" && + mv "${WORKDIR}/${LIBCHROMIUMCONTENT_P}" "${LIBCC_S}" || die + rm -r "${S}/vendor/breakpad" && + ln -s "../breakpad" "${S}/vendor/breakpad" || die + ln -s "${WORKDIR}/${ASAR_P}/node_modules" "${S}/node_modules" || die + + # electron patches + epatch "${FILESDIR}/electron-gentoo-build-fixes.patch" + + # node patches + cd "${NODE_S}" || die + epatch "${FILESDIR}/node-gentoo-build-fixes.patch" + # make sure node uses the correct version of v8 + rm -r deps/v8 || die + ln -s ../../../v8 deps/ || die + + # make sure we use python2.* while using gyp + sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die + sed -i -e "s/|| 'python'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die + + # less verbose install output (stating the same as portage, basically) + sed -i -e "/print/d" tools/install.py || die + + # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504 + local LIBDIR=$(get_libdir) + sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die + sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js || die + sed -i -e "s|\"lib\"|\"${LIBDIR}\"|" deps/npm/lib/npm.js || die + + # brightray patches + cd "${BRIGHTRAY_S}" || die + epatch "${FILESDIR}/brightray-gentoo-build-fixes.patch" + + # libcc patches + cd "${LIBCC_S}" || die + epatch "${FILESDIR}/libchromiumcontent-gentoo-build-fixes.patch" + + # chromium patches + cd "${S}" || die + epatch "${FILESDIR}/chromium-system-ffmpeg-r0.patch" + epatch "${FILESDIR}/chromium-system-jinja-r7.patch" + epatch "${FILESDIR}/chromium-disable-widevine.patch" + epatch "${FILESDIR}/chromium-remove-gardiner-mod-font.patch" + epatch "${FILESDIR}/chromium-shared-v8.patch" + epatch "${FILESDIR}/chromium-lto-fixes.patch" + + # libcc chromium patches + _unnest_patches "${LIBCC_S}/patches" + + EPATCH_SOURCE="${LIBCC_S}/patches" \ + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_EXCLUDE="third_party_icu*" \ + EPATCH_MULTI_MSG="Applying libchromiumcontent patches..." \ + epatch + + # build scripts + mkdir -p "${S}/chromiumcontent" || die + cp -a "${LIBCC_S}/chromiumcontent" "${S}/" || die + cp -a "${LIBCC_S}/tools/linux/" "${S}/tools/" || die + + local conditional_bundled_libraries="" + if ! use system-ffmpeg; then + conditional_bundled_libraries+=" third_party/ffmpeg" + fi + + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py \ + ${conditional_bundled_libraries} \ + 'base/third_party/dmg_fp' \ + 'base/third_party/dynamic_annotations' \ + 'base/third_party/icu' \ + 'base/third_party/nspr' \ + 'base/third_party/superfasthash' \ + 'base/third_party/symbolize' \ + 'base/third_party/valgrind' \ + 'base/third_party/xdg_mime' \ + 'base/third_party/xdg_user_dirs' \ + 'breakpad/src/third_party/curl' \ + 'chrome/third_party/mozilla_security_manager' \ + 'courgette/third_party' \ + 'crypto/third_party/nss' \ + 'net/third_party/mozilla_security_manager' \ + 'net/third_party/nss' \ + 'third_party/WebKit' \ + 'third_party/analytics' \ + 'third_party/angle' \ + 'third_party/angle/src/third_party/compiler' \ + 'third_party/boringssl' \ + 'third_party/brotli' \ + 'third_party/cacheinvalidation' \ + 'third_party/catapult' \ + 'third_party/catapult/tracing/third_party/components/polymer' \ + 'third_party/catapult/tracing/third_party/d3' \ + 'third_party/catapult/tracing/third_party/gl-matrix' \ + 'third_party/catapult/tracing/third_party/jszip' \ + 'third_party/catapult/tracing/third_party/tvcm' \ + 'third_party/catapult/tracing/third_party/tvcm/third_party/rcssmin' \ + 'third_party/catapult/tracing/third_party/tvcm/third_party/rjsmin' \ + 'third_party/cld_2' \ + 'third_party/cros_system_api' \ + 'third_party/cython/python_flags.py' \ + 'third_party/devscripts' \ + 'third_party/dom_distiller_js' \ + 'third_party/dom_distiller_js/dist/proto_gen/third_party/dom_distiller_js' \ + 'third_party/fips181' \ + 'third_party/flot' \ + 'third_party/google_input_tools' \ + 'third_party/google_input_tools/third_party/closure_library' \ + 'third_party/google_input_tools/third_party/closure_library/third_party/closure' \ + 'third_party/hunspell' \ + 'third_party/iccjpeg' \ + 'third_party/jstemplate' \ + 'third_party/khronos' \ + 'third_party/leveldatabase' \ + 'third_party/libXNVCtrl' \ + 'third_party/libaddressinput' \ + 'third_party/libjingle' \ + 'third_party/libphonenumber' \ + 'third_party/libsecret' \ + 'third_party/libsrtp' \ + 'third_party/libudev' \ + 'third_party/libusb' \ + 'third_party/libvpx_new' \ + 'third_party/libvpx_new/source/libvpx/third_party/x86inc' \ + 'third_party/libxml/chromium' \ + 'third_party/libwebm' \ + 'third_party/libyuv' \ + 'third_party/lss' \ + 'third_party/lzma_sdk' \ + 'third_party/mesa' \ + 'third_party/modp_b64' \ + 'third_party/mojo' \ + 'third_party/mt19937ar' \ + 'third_party/npapi' \ + 'third_party/openmax_dl' \ + 'third_party/opus' \ + 'third_party/ots' \ + 'third_party/pdfium' \ + 'third_party/pdfium/third_party/agg23' \ + 'third_party/pdfium/third_party/base' \ + 'third_party/pdfium/third_party/bigint' \ + 'third_party/pdfium/third_party/freetype' \ + 'third_party/pdfium/third_party/lcms2-2.6' \ + 'third_party/pdfium/third_party/libjpeg' \ + 'third_party/pdfium/third_party/libopenjpeg20' \ + 'third_party/pdfium/third_party/zlib_v128' \ + 'third_party/polymer' \ + 'third_party/protobuf' \ + 'third_party/qcms' \ + 'third_party/readability' \ + 'third_party/sfntly' \ + 'third_party/skia' \ + 'third_party/smhasher' \ + 'third_party/sqlite' \ + 'third_party/tcmalloc' \ + 'third_party/usrsctp' \ + 'third_party/web-animations-js' \ + 'third_party/webdriver' \ + 'third_party/webrtc' \ + 'third_party/widevine' \ + 'third_party/x86inc' \ + 'third_party/zlib/google' \ + 'url/third_party/mozilla' \ + 'v8/src/third_party/fdlibm' \ + 'v8/src/third_party/valgrind' \ + --do-remove || die + + epatch_user +} + +src_configure() { + local myconf="" + + # Never tell the build system to "enable" SSE2, it has a few unexpected + # additions, bug #336871. + myconf+=" -Ddisable_sse2=1" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf+=" -Ddisable_nacl=1" + + # Disable glibc Native Client toolchain, we don't need it (bug #417019). + # myconf+=" -Ddisable_glibc=1" + + # TODO: also build with pnacl + # myconf+=" -Ddisable_pnacl=1" + + # It would be awkward for us to tar the toolchain and get it untarred again + # during the build. + # myconf+=" -Ddisable_newlib_untar=1" + + # Make it possible to remove third_party/adobe. + echo > "${T}/flapper_version.h" || die + myconf+=" -Dflapper_version_h_file=${T}/flapper_version.h" + + # Use system-provided libraries. + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_libsrtp (bug #459932). + # TODO: use_system_libusb (http://crbug.com/266149). + # TODO: use_system_libvpx (http://crbug.com/494939). + # TODO: use_system_opus (https://code.google.com/p/webrtc/issues/detail?id=3077). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_ssl (http://crbug.com/58087). + # TODO: use_system_sqlite (http://crbug.com/22208). + myconf+=" + -Duse_system_bzip2=1 + -Duse_system_ffmpeg=$(usex system-ffmpeg 1 0) + -Duse_system_flac=1 + -Duse_system_harfbuzz=1 + -Duse_system_icu=1 + -Duse_system_jsoncpp=1 + -Duse_system_libevent=1 + -Duse_system_libjpeg=1 + -Duse_system_libpng=1 + -Duse_system_libwebp=1 + -Duse_system_libxml=1 + -Duse_system_libxslt=1 + -Duse_system_minizip=1 + -Duse_system_nspr=1 + -Duse_system_re2=1 + -Duse_system_snappy=1 + -Duse_system_speex=1 + -Duse_system_xdg_utils=1 + -Duse_system_zlib=1" + + # Needed for system icu - we don't need additional data files. + myconf+=" -Dicu_use_data_file_flag=0" + + # TODO: patch gyp so that this arm conditional is not needed. + if ! use arm; then + myconf+=" + -Duse_system_yasm=1" + fi + + # Optional dependencies. + # TODO: linux_link_kerberos, bug #381289. + myconf+=" + $(gyp_use cups) + $(gyp_use gnome use_gconf) + $(gyp_use gnome-keyring use_gnome_keyring) + $(gyp_use gnome-keyring linux_link_gnome_keyring) + $(gyp_use gtk3) + $(gyp_use hidpi enable_hidpi) + $(gyp_use kerberos) + $(gyp_use lto) + $(gyp_use pulseaudio) + $(gyp_use tcmalloc use_allocator tcmalloc none)" + + # Use explicit library dependencies instead of dlopen. + # This makes breakages easier to detect by revdep-rebuild. + myconf+=" + -Dlinux_link_gsettings=1 + -Dlinux_link_libpci=1 + -Dlinux_link_libspeechd=1 + -Dlibspeechd_h_prefix=speech-dispatcher/" + + # TODO: use the file at run time instead of effectively compiling it in. + myconf+=" + -Dusb_ids_path=/usr/share/misc/usb.ids" + + # Save space by removing DLOG and DCHECK messages (about 6% reduction). + myconf+=" + -Dlogging_like_official_build=1" + + if [[ $(tc-getCC) == *clang* ]]; then + myconf+=" -Dclang=1" + else + myconf+=" -Dclang=0" + fi + + # Never use bundled gold binary. Disable gold linker flags for now. + # Do not use bundled clang. + myconf+=" + -Dclang_use_chrome_plugins=0 + -Dhost_clang=0 + -Dlinux_use_bundled_binutils=0 + -Dlinux_use_bundled_gold=0 + -Dlinux_use_gold_flags=0" + + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf+=" -Dproprietary_codecs=1 -Dffmpeg_branding=${ffmpeg_branding}" + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. + myconf+=" -Dgoogle_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc + -Dgoogle_default_client_id=329227923882.apps.googleusercontent.com + -Dgoogle_default_client_secret=vgKG0NNv7GoDpbtoFNLxCUXu" + + local myarch="$(tc-arch)" + if [[ $myarch = amd64 ]] ; then + target_arch=x64 + ffmpeg_target_arch=x64 + elif [[ $myarch = x86 ]] ; then + target_arch=ia32 + ffmpeg_target_arch=ia32 + elif [[ $myarch = arm ]] ; then + target_arch=arm + ffmpeg_target_arch=$(usex neon arm-neon arm) + # TODO: re-enable NaCl (NativeClient). + local CTARGET=${CTARGET:-${CHOST}} + if [[ $(tc-is-softfloat) == "no" ]]; then + + myconf+=" -Darm_float_abi=hard" + fi + filter-flags "-mfpu=*" + use neon || myconf+=" -Darm_fpu=${ARM_FPU:-vfpv3-d16}" + + if [[ ${CTARGET} == armv[78]* ]]; then + myconf+=" -Darmv7=1" + else + myconf+=" -Darmv7=0" + fi + myconf+=" -Dsysroot= + $(gyp_use neon arm_neon) + -Ddisable_nacl=1" + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf+=" -Dtarget_arch=${target_arch}" + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf+=" -Dwerror=" + + # Disable fatal linker warnings, bug 506268. + myconf+=" -Ddisable_fatal_linker_warnings=1" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Prevent linker from running out of address space, bug #471810 . + if use x86; then + filter-flags "-g*" + fi + + # Prevent libvpx build failures. Bug 530248, 544702, 546984. + if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 + fi + fi + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + # Tools for building programs to be executed on the build system, bug #410883. + if tc-is-cross-compiler; then + export AR_host=$(tc-getBUILD_AR) + export CC_host=$(tc-getBUILD_CC) + export CXX_host=$(tc-getBUILD_CXX) + export NM_host=$(tc-getBUILD_NM) + fi + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + if ! use system-ffmpeg; then + local build_ffmpeg_args="" + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then + build_ffmpeg_args+=" --disable-asm" + fi + + # Re-configure bundled ffmpeg. See bug #491378 for example reasons. + einfo "Configuring bundled ffmpeg..." + pushd third_party/ffmpeg > /dev/null || die + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die + chromium/scripts/copy_config.sh || die + chromium/scripts/generate_gyp.py || die + popd > /dev/null || die + fi + + third_party/libaddressinput/chromium/tools/update-strings.py || die + + einfo "Configuring bundled nodejs..." + pushd vendor/node > /dev/null || die + # Make sure gyp_node does not run + echo '#!/usr/bin/env python' > tools/gyp_node.py || die + ./configure --shared-openssl --shared-libuv --shared-http-parser \ + --shared-zlib --without-npm --with-intl=system-icu \ + --without-dtrace --dest-cpu=${target_arch} \ + --prefix="" || die + popd > /dev/null || die + + # libchromiumcontent configuration + myconf+=" -Dcomponent=static_library" + myconf+=" -Dmac_mas_build=0" + myconf+=' -Dicu_small="false"' + myconf+=" -Dlibchromiumcontent_component=0" + myconf+=" -Dlibrary=static_library" + myconf+=" -Dmas_build=0" + + einfo "Configuring electron..." + build/linux/unbundle/replace_gyp_files.py ${myconf} || die + + myconf+=" -Ivendor/node/config.gypi + -Icommon.gypi + atom.gyp" + + egyp_chromium ${myconf} || die +} + +eninja() { + if [[ -z ${NINJAOPTS+set} ]]; then + local jobs=$(makeopts_jobs) + local loadavg=$(makeopts_loadavg) + + if [[ ${MAKEOPTS} == *-j* && ${jobs} != 999 ]]; then + NINJAOPTS+=" -j ${jobs}" + fi + if [[ ${MAKEOPTS} == *-l* && ${loadavg} != 999 ]]; then + NINJAOPTS+=" -l ${loadavg}" + fi + fi + set -- ninja -v ${NINJAOPTS} "$@" + echo "$@" + "$@" +} + +src_compile() { + local ninja_targets="electron" + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/R ${ninja_targets} || die +} + +src_install() { + local install_dir="$(_get_install_dir)" + local install_suffix="$(_get_install_suffix)" + local LIBDIR="${ED}/usr/$(get_libdir)" + + pushd out/R/locales > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # Install Electron + insinto "${install_dir}" + exeinto "${install_dir}" + doexe out/R/electron + doins out/R/libv8.so + doins out/R/libnode.so + fperms +x "${install_dir}/libv8.so" "${install_dir}/libnode.so" + doins out/R/content_shell.pak + doins out/R/natives_blob.bin + doins out/R/snapshot_blob.bin + rm -r out/R/resources/inspector || die + doins -r out/R/resources + doins -r out/R/locales + dosym "${install_dir}/electron" "/usr/bin/electron${install_suffix}" + + # Install Node headers + HEADERS_ONLY=1 \ + "${S}/vendor/node/tools/install.py" install "${ED}" "/usr" || die + # set up a symlink structure that npm expects.. + dodir /usr/include/node/deps/{v8,uv} + dosym . /usr/include/node/src + for var in deps/{uv,v8}/include; do + dosym ../.. /usr/include/node/${var} + done + + dodir "/usr/include/electron${install_suffix}" + mv "${ED}/usr/include/node" \ + "${ED}/usr/include/electron${install_suffix}/node" || die +} diff --git a/dev-util/electron/files/brightray-gentoo-build-fixes.patch b/dev-util/electron/files/brightray-gentoo-build-fixes.patch new file mode 100644 index 000000000000..a67808457752 --- /dev/null +++ b/dev-util/electron/files/brightray-gentoo-build-fixes.patch @@ -0,0 +1,81 @@ +From c9e2e0237170884bc1069a64f2635bb1ffc1b948 Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus +Date: Mon, 8 Feb 2016 15:14:58 -0500 +Subject: [PATCH] brightray build fixes + +--- + brightray.gyp | 5 +++-- + brightray.gypi | 21 ++++++++------------- + 2 files changed, 11 insertions(+), 15 deletions(-) + +diff --git a/brightray.gyp b/brightray.gyp +index d7120ea..6150318 100644 +--- a/brightray.gyp ++++ b/brightray.gyp +@@ -9,6 +9,9 @@ + 'targets': [ + { + 'target_name': 'brightray', ++ 'dependencies': [ ++ '<(libchromiumcontent_src_dir)/chromiumcontent/chromiumcontent.gyp:chromiumcontent_all' ++ ], + 'type': 'static_library', + 'include_dirs': [ + '.', +@@ -100,8 +103,6 @@ + }, { + 'link_settings': { + 'libraries': [ +- # Link with ffmpeg. +- '<(libchromiumcontent_dir)/libffmpeg.so', + # Following libraries are required by libchromiumcontent: + '-lasound', + '-lcap', +diff --git a/brightray.gypi b/brightray.gypi +index 4513fa9..95bdfa1 100644 +--- a/brightray.gypi ++++ b/brightray.gypi +@@ -1,9 +1,14 @@ + { +- 'includes': [ +- 'vendor/download/libchromiumcontent/filenames.gypi', +- ], + 'variables': { + 'libchromiumcontent_component%': 1, ++ 'libchromiumcontent_src_dir': '<(DEPTH)', ++ 'libchromiumcontent_shared_libraries_dir': '<(SHARED_INTERMEDIATE_DIR)', ++ 'libchromiumcontent_static_libraries_dir': '<(SHARED_INTERMEDIATE_DIR)', ++ 'libchromiumcontent_shared_libraries': [], ++ 'libchromiumcontent_static_libraries': [], ++ 'libchromiumcontent_shared_v8_libraries': [], ++ 'libchromiumcontent_static_v8_libraries': [], ++ 'pkg-config%': 'pkg-config', + 'conditions': [ + # The "libchromiumcontent_component" is defined when calling "gyp". + ['libchromiumcontent_component', { +@@ -258,22 +263,12 @@ + 'conditions': [ + ['OS=="linux"', { + 'cflags': [ +- '-O2', +- # Generate symbols, will be stripped later. +- '-g', +- # Don't emit the GCC version ident directives, they just end up +- # in the .comment section taking up binary size. +- '-fno-ident', + # Put data and code in their own sections, so that unused symbols + # can be removed at link time with --gc-sections. + '-fdata-sections', + '-ffunction-sections', + ], + 'ldflags': [ +- # Specifically tell the linker to perform optimizations. +- # See http://lwn.net/Articles/192624/ . +- '-Wl,-O1', +- '-Wl,--as-needed', + '-Wl,--gc-sections', + ], + }], # OS=="linux" +-- +2.7.3 + diff --git a/dev-util/electron/files/chromium-disable-widevine.patch b/dev-util/electron/files/chromium-disable-widevine.patch new file mode 100644 index 000000000000..5b166463c88c --- /dev/null +++ b/dev-util/electron/files/chromium-disable-widevine.patch @@ -0,0 +1,9 @@ +--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h ++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h +@@ -10,6 +10,5 @@ + + #include "third_party/widevine/cdm/widevine_cdm_common.h" + +-#define WIDEVINE_CDM_AVAILABLE + + #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/dev-util/electron/files/chromium-lto-fixes.patch b/dev-util/electron/files/chromium-lto-fixes.patch new file mode 100644 index 000000000000..7de3df1b26f6 --- /dev/null +++ b/dev-util/electron/files/chromium-lto-fixes.patch @@ -0,0 +1,26 @@ +diff --git a/build/common.gypi.orig b/build/common.gypi +index cce7b3c..3b905c0 100644 +--- a/build/common.gypi.orig ++++ b/build/common.gypi +@@ -6096,7 +6096,7 @@ + 'target_conditions': [ + ['_toolset=="target"', { + 'ldflags': [ +- '-flto=32', ++ '-flto=4' + ], + }], + ], +diff --git a/build/android/disable_gcc_lto.gypi.orig b/build/android/disable_gcc_lto.gypi +index a733c7a..57570f8 100644 +--- a/build/android/disable_gcc_lto.gypi.orig ++++ b/build/android/disable_gcc_lto.gypi +@@ -8,7 +8,7 @@ + 'target_conditions': [ + ['_toolset=="target"', { + 'conditions': [ +- ['OS=="android" and clang==0 and (use_lto==1 or use_lto_o2==1)', { ++ ['(OS=="android" or OS=="linux") and clang==0 and (use_lto==1 or use_lto_o2==1)', { + 'cflags!': [ + '-flto', + '-ffat-lto-objects', diff --git a/dev-util/electron/files/chromium-remove-gardiner-mod-font.patch b/dev-util/electron/files/chromium-remove-gardiner-mod-font.patch new file mode 100644 index 000000000000..cf1955ffbfd2 --- /dev/null +++ b/dev-util/electron/files/chromium-remove-gardiner-mod-font.patch @@ -0,0 +1,13 @@ +diff --git a/test_runner.gyp b/test_runner.gyp +index 30ffa75..8838bdf 100644 +--- a/components/test_runner/test_runner.gyp ++++ b/components/test_runner/test_runner.gyp +@@ -162,8 +162,6 @@ + 'files': [ + 'resources/fonts/AHEM____.TTF', + 'resources/fonts/fonts.conf', +- '../../third_party/gardiner_mod/GardinerModBug.ttf', +- '../../third_party/gardiner_mod/GardinerModCat.ttf', + ] + }], + }], diff --git a/dev-util/electron/files/chromium-shared-v8.patch b/dev-util/electron/files/chromium-shared-v8.patch new file mode 100644 index 000000000000..67d97c8b3974 --- /dev/null +++ b/dev-util/electron/files/chromium-shared-v8.patch @@ -0,0 +1,15 @@ +diff --git a/v8/tools/gyp/v8.gyp.orig b/v8/tools/gyp/v8.gyp +index bcb5801..3162456 100644 +--- a/v8/tools/gyp/v8.gyp.orig ++++ b/v8/tools/gyp/v8.gyp +@@ -48,8 +48,8 @@ + }, { + 'toolsets': ['target'], + }], +- ['component=="shared_library"', { +- 'type': '<(component)', ++ ['v8_target_type=="shared_library"', { ++ 'type': 'shared_library', + 'sources': [ + # Note: on non-Windows we still build this file so that gyp + # has some sources to link into the component. diff --git a/dev-util/electron/files/chromium-system-ffmpeg-r0.patch b/dev-util/electron/files/chromium-system-ffmpeg-r0.patch new file mode 100644 index 000000000000..667e0ecb2a72 --- /dev/null +++ b/dev-util/electron/files/chromium-system-ffmpeg-r0.patch @@ -0,0 +1,54 @@ +diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h +index 677bd76..23a21f8 100644 +--- a/media/ffmpeg/ffmpeg_common.h ++++ b/media/ffmpeg/ffmpeg_common.h +@@ -19,20 +19,12 @@ + + // Include FFmpeg header files. + extern "C" { +-// Disable deprecated features which result in spammy compile warnings. This +-// list of defines must mirror those in the 'defines' section of the ffmpeg.gyp +-// file or the headers below will generate different structures. +-#define FF_API_PIX_FMT_DESC 0 +-#define FF_API_OLD_DECODE_AUDIO 0 +-#define FF_API_DESTRUCT_PACKET 0 +-#define FF_API_GET_BUFFER 0 + + // Temporarily disable possible loss of data warning. + // TODO(scherkus): fix and upstream the compiler warnings. + MSVC_PUSH_DISABLE_WARNING(4244); + #include + #include +-#include + #include + #include + #include +diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc +index 155e980..7ba327a 100644 +--- a/media/filters/ffmpeg_demuxer.cc ++++ b/media/filters/ffmpeg_demuxer.cc +@@ -966,24 +966,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb, + // If no estimate is found, the stream entry will be kInfiniteDuration(). + std::vector start_time_estimates(format_context->nb_streams, + kInfiniteDuration()); +- const AVFormatInternal* internal = format_context->internal; +- if (internal && internal->packet_buffer && +- format_context->start_time != static_cast(AV_NOPTS_VALUE)) { +- struct AVPacketList* packet_buffer = internal->packet_buffer; +- while (packet_buffer != internal->packet_buffer_end) { +- DCHECK_LT(static_cast(packet_buffer->pkt.stream_index), +- start_time_estimates.size()); +- const AVStream* stream = +- format_context->streams[packet_buffer->pkt.stream_index]; +- if (packet_buffer->pkt.pts != static_cast(AV_NOPTS_VALUE)) { +- const base::TimeDelta packet_pts = +- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); +- if (packet_pts < start_time_estimates[stream->index]) +- start_time_estimates[stream->index] = packet_pts; +- } +- packet_buffer = packet_buffer->next; +- } +- } + + AVStream* audio_stream = NULL; + AudioDecoderConfig audio_config; diff --git a/dev-util/electron/files/chromium-system-jinja-r7.patch b/dev-util/electron/files/chromium-system-jinja-r7.patch new file mode 100644 index 000000000000..fe28e12c333c --- /dev/null +++ b/dev-util/electron/files/chromium-system-jinja-r7.patch @@ -0,0 +1,35 @@ +--- third_party/WebKit/Source/bindings/scripts/scripts.gyp.orig 2014-08-19 09:55:10.330972228 +0000 ++++ third_party/WebKit/Source/bindings/scripts/scripts.gyp 2014-08-19 09:55:26.387286232 +0000 +@@ -54,7 +54,6 @@ + 'actions': [{ + 'action_name': 'cache_jinja_templates', + 'inputs': [ +- '<@(jinja_module_files)', + 'code_generator_v8.py', + '<@(code_generator_template_files)', + ], +--- third_party/WebKit/Source/build/scripts/scripts.gypi.orig 2014-08-19 10:00:00.216521733 +0000 ++++ third_party/WebKit/Source/build/scripts/scripts.gypi 2014-08-19 10:00:11.464735099 +0000 +@@ -2,10 +2,6 @@ + { + 'variables': { + 'scripts_for_in_files': [ +- # jinja2/__init__.py contains version string, so sufficient as +- # dependency for whole jinja2 package +- '<(DEPTH)/third_party/jinja2/__init__.py', +- '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep + 'hasher.py', + 'in_file.py', + 'in_generator.py', +--- third_party/WebKit/Source/bindings/scripts/scripts.gypi.orig 2014-08-19 10:53:02.824618979 +0000 ++++ third_party/WebKit/Source/bindings/scripts/scripts.gypi 2014-08-19 10:53:20.784957370 +0000 +@@ -12,9 +12,6 @@ + '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep + ], + 'idl_lexer_parser_files': [ +- # PLY (Python Lex-Yacc) +- '<(DEPTH)/third_party/ply/lex.py', +- '<(DEPTH)/third_party/ply/yacc.py', + # Web IDL lexer/parser (base parser) + '<(DEPTH)/tools/idl_parser/idl_lexer.py', + '<(DEPTH)/tools/idl_parser/idl_node.py', diff --git a/dev-util/electron/files/chromium-system-libvpx-r0.patch b/dev-util/electron/files/chromium-system-libvpx-r0.patch new file mode 100644 index 000000000000..cd7c164d7e6a --- /dev/null +++ b/dev-util/electron/files/chromium-system-libvpx-r0.patch @@ -0,0 +1,20 @@ +--- build/linux/unbundle/libvpx.gyp.orig 2016-02-08 19:16:24.646981037 -0500 ++++ build/linux/unbundle/libvpx.gyp 2016-02-08 19:15:42.449979462 -0500 +@@ -4,7 +4,7 @@ + { + 'targets': [ + { +- 'target_name': 'libvpx', ++ 'target_name': 'libvpx_new', + 'type': 'none', + 'direct_dependent_settings': { + 'cflags': [ +@@ -18,8 +18,6 @@ + 'vpx/vp8cx.h', + 'vpx/vp8dx.h', + 'vpx/vpx_codec.h', +- 'vpx/vpx_codec_impl_bottom.h', +- 'vpx/vpx_codec_impl_top.h', + 'vpx/vpx_decoder.h', + 'vpx/vpx_encoder.h', + 'vpx/vpx_frame_buffer.h', diff --git a/dev-util/electron/files/electron-gentoo-build-fixes.patch b/dev-util/electron/files/electron-gentoo-build-fixes.patch new file mode 100644 index 000000000000..5a91a8f4a3e9 --- /dev/null +++ b/dev-util/electron/files/electron-gentoo-build-fixes.patch @@ -0,0 +1,157 @@ +From 174dd209209d8f67f534ad761d8adeeddc6bf5c0 Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus +Date: Mon, 8 Feb 2016 15:16:40 -0500 +Subject: [PATCH] electron build fixes + +--- + atom.gyp | 19 ++++++++----------- + common.gypi | 32 +++++++++++++++++++++++--------- + filenames.gypi | 1 - + 3 files changed, 31 insertions(+), 21 deletions(-) + +diff --git a/atom.gyp b/atom.gyp +index 68a30cc..06109a9 100644 +--- a/atom.gyp ++++ b/atom.gyp +@@ -177,7 +177,7 @@ + ], + }, { + 'dependencies': [ +- 'vendor/breakpad/breakpad.gyp:dump_syms#host', ++ 'breakpad/breakpad.gyp:dump_syms#host', + ], + }], # OS=="win" + ['OS=="linux"', { +@@ -194,7 +194,7 @@ + }, { + 'copied_libraries': [ + '<(PRODUCT_DIR)/lib/libnode.so', +- '<(libchromiumcontent_dir)/libffmpeg.so', ++ '<(PRODUCT_DIR)/lib/libv8.so', + ], + }], + ], +@@ -202,9 +202,6 @@ + 'destination': '<(PRODUCT_DIR)', + 'files': [ + '<@(copied_libraries)', +- '<(libchromiumcontent_dir)/locales', +- '<(libchromiumcontent_dir)/icudtl.dat', +- '<(libchromiumcontent_dir)/content_shell.pak', + '<(libchromiumcontent_dir)/natives_blob.bin', + '<(libchromiumcontent_dir)/snapshot_blob.bin', + ], +@@ -242,8 +239,8 @@ + '<@(lib_sources)', + ], + 'include_dirs': [ +- '.', + 'chromium_src', ++ '.', + 'vendor/brightray', + 'vendor/native_mate', + # Include atom_natives.h. +@@ -301,8 +298,8 @@ + 'vendor/node/deps/uv/uv.gyp:libuv', + 'vendor/node/deps/zlib/zlib.gyp:zlib', + # Build with breakpad support. +- 'vendor/breakpad/breakpad.gyp:breakpad_handler', +- 'vendor/breakpad/breakpad.gyp:breakpad_sender', ++ 'breakpad/breakpad.gyp:breakpad_handler', ++ 'breakpad/breakpad.gyp:breakpad_sender', + ], + }], # OS=="win" + ['OS=="mac" and mas_build==0', { +@@ -333,7 +330,7 @@ + # Make binary search for libraries under current directory, so we + # don't have to manually set $LD_LIBRARY_PATH: + # http://serverfault.com/questions/279068/cant-find-so-in-the-same-directory-as-the-executable +- '-rpath \$$ORIGIN', ++ '-Wl,-rpath=\$$ORIGIN/', + # Make native module dynamic loading work. + '-rdynamic', + ], +@@ -344,10 +341,10 @@ + '-Wno-reserved-user-defined-literal', + ], + 'include_dirs': [ +- 'vendor/breakpad/src', ++ 'breakpad/src', + ], + 'dependencies': [ +- 'vendor/breakpad/breakpad.gyp:breakpad_client', ++ 'breakpad/breakpad.gyp:breakpad_client', + ], + }], # OS=="linux" + ], +diff --git a/common.gypi b/common.gypi +index 7c41c36..97a3d3a 100644 +--- a/common.gypi ++++ b/common.gypi +@@ -17,28 +17,42 @@ + 'node_target_type': 'shared_library', + 'node_install_npm': 'false', + 'node_prefix': '', +- 'node_shared_cares': 'false', +- 'node_shared_http_parser': 'false', +- 'node_shared_libuv': 'false', +- 'node_shared_openssl': 'false', +- 'node_shared_v8': 'true', +- 'node_shared_zlib': 'false', + 'node_tag': '', + 'node_use_dtrace': 'false', + 'node_use_etw': 'false', + 'node_use_mdb': 'false', + 'node_use_openssl': 'true', + 'node_use_perfctr': 'false', +- 'uv_library': 'static_library', +- 'uv_parent_path': 'vendor/node/deps/uv', +- 'uv_use_dtrace': 'false', + 'V8_BASE': '', + 'v8_postmortem_support': 'false', + 'v8_enable_i18n_support': 'false', ++ 'v8_gyp_path': '<(DEPTH)/v8/tools/gyp/v8.gyp', ++ 'v8_libraries': '["v8", "v8_snapshot", "v8_nosnapshot", "v8_external_snapshot", "v8_base", "v8_libbase", "v8_libplatform"]', ++ 'v8_target_type': 'shared_library', ++ 'v8_use_snapshot': 'true', ++ 'v8_use_external_startup_data': 1, + }, + # Settings to compile node under Windows. + 'target_defaults': { + 'target_conditions': [ ++ ['_target_name in <(v8_libraries) + ["node"]', { ++ 'cflags!': [ ++ '-fvisibility=hidden', ++ '-fdata-sections', ++ '-ffunction-sections', ++ ], ++ 'cflags_cc!': [ ++ '-fvisibility-inlines-hidden' ++ ], ++ }], ++ ++ ['_target_name in <(v8_libraries) + ["mksnapshot"]', { ++ 'defines': [ ++ 'V8_SHARED', ++ 'BUILDING_V8_SHARED', ++ ], ++ }], ++ + ['_target_name in ["libuv", "http_parser", "openssl", "cares", "node", "zlib"]', { + 'msvs_disabled_warnings': [ + 4013, # 'free' undefined; assuming extern returning int +diff --git a/filenames.gypi b/filenames.gypi +index abb1145..2330ccf 100644 +--- a/filenames.gypi ++++ b/filenames.gypi +@@ -498,7 +498,6 @@ + 'chromium_src/extensions/browser/app_window/size_constraints.h', + 'chromium_src/extensions/common/url_pattern.cc', + 'chromium_src/extensions/common/url_pattern.h', +- 'chromium_src/library_loaders/libspeechd_loader.cc', + 'chromium_src/library_loaders/libspeechd.h', + 'chromium_src/net/test/embedded_test_server/stream_listen_socket.cc', + 'chromium_src/net/test/embedded_test_server/stream_listen_socket.h', +-- +2.7.3 + diff --git a/dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch b/dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch new file mode 100644 index 000000000000..168d8db477a9 --- /dev/null +++ b/dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch @@ -0,0 +1,75 @@ +From b7022129450eaf2136746f5332956e76848796ef Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus +Date: Mon, 8 Feb 2016 15:12:12 -0500 +Subject: [PATCH] libchromiumcontent build fixes + +--- + chromiumcontent/chromiumcontent.gyp | 6 +++--- + chromiumcontent/chromiumcontent.gypi | 26 -------------------------- + 2 files changed, 3 insertions(+), 29 deletions(-) + +diff --git a/chromiumcontent/chromiumcontent.gyp b/chromiumcontent/chromiumcontent.gyp +index 52a1d36..db74a52 100644 +--- a/chromiumcontent/chromiumcontent.gyp ++++ b/chromiumcontent/chromiumcontent.gyp +@@ -24,11 +24,11 @@ + }, + { + 'target_name': 'chromiumcontent', +- # Build chromiumcontent as shared_library otherwise some static libraries +- # will not build. +- 'type': 'shared_library', ++ 'type': 'static_library', + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base_prefs', ++ '<(DEPTH)/chrome/chrome_resources.gyp:packed_extra_resources', ++ '<(DEPTH)/chrome/chrome_resources.gyp:packed_resources', + '<(DEPTH)/components/components.gyp:cdm_renderer', + '<(DEPTH)/components/components.gyp:devtools_discovery', + '<(DEPTH)/components/components.gyp:devtools_http_handler', +diff --git a/chromiumcontent/chromiumcontent.gypi b/chromiumcontent/chromiumcontent.gypi +index 37c572b..3f4dcea 100644 +--- a/chromiumcontent/chromiumcontent.gypi ++++ b/chromiumcontent/chromiumcontent.gypi +@@ -1,17 +1,5 @@ + { + 'variables': { +- # Enalbe using proprietary codecs. +- 'proprietary_codecs': 1, +- 'ffmpeg_branding': 'Chrome', +- # Enable support for Widevine CDM. +- 'enable_widevine': 1, +- # Using libc++ requires building for >= 10.7. +- 'mac_deployment_target': '10.8', +- # The 10.8 SDK does not work well with C++11. +- 'mac_sdk_min': '10.9', +- # Use the standard way of linking with msvc runtime. +- 'win_use_allocator_shim': 0, +- 'win_release_RuntimeLibrary': '2', + # The V8 libraries. + 'v8_libraries': '["v8", "v8_snapshot", "v8_nosnapshot", "v8_external_snapshot", "v8_base", "v8_libbase", "v8_libplatform"]', + # The icu libraries. +@@ -22,20 +10,6 @@ + 'v8_use_external_startup_data': 1, + }], + ['OS=="linux"', { +- # Enable high DPI support on Linux. +- 'enable_hidpi': 1, +- # Use Dbus. +- 'use_dbus': 1, +- # Make Linux build contain debug symbols, this flag will add '-g' to +- # cflags. +- 'linux_dump_symbols': 1, +- # The Linux build of libchromiumcontent.so depends on, but doesn't +- # provide, tcmalloc by default. Disabling tcmalloc here also prevents +- # any conflicts when linking to binaries or libraries that don't use +- # tcmalloc. +- 'linux_use_tcmalloc': 0, +- # Force using gold linker. +- 'linux_use_bundled_gold': 1, + 'conditions': [ + ['target_arch=="arm"', { + 'arm_version': 7, +-- +2.4.10 + diff --git a/dev-util/electron/files/node-gentoo-build-fixes.patch b/dev-util/electron/files/node-gentoo-build-fixes.patch new file mode 100644 index 000000000000..b19cc3714b2e --- /dev/null +++ b/dev-util/electron/files/node-gentoo-build-fixes.patch @@ -0,0 +1,50 @@ +From 668a003706d57c3e7a460e2fce5d110fe9737a62 Mon Sep 17 00:00:00 2001 +From: Elvis Pranskevichus +Date: Wed, 10 Feb 2016 14:45:13 -0500 +Subject: [PATCH] Parametrize v8.gyp location + +--- + node.gyp | 5 +++-- + tools/install.py | 3 +++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/node.gyp b/node.gyp +index d431210..fea5e07 100644 +--- a/node.gyp ++++ b/node.gyp +@@ -1,6 +1,7 @@ + { + 'variables': { + 'v8_use_snapshot%': 'false', ++ 'v8_gyp_path%': 'deps/v8/tools/gyp/v8.gyp', + 'node_use_dtrace%': 'false', + 'node_use_lttng%': 'false', + 'node_use_etw%': 'false', +@@ -89,8 +90,8 @@ + 'dependencies': [ + 'node_js2c#host', + 'deps/cares/cares.gyp:cares', +- # 'deps/v8/tools/gyp/v8.gyp:v8', +- # 'deps/v8/tools/gyp/v8.gyp:v8_libplatform' ++ '<(v8_gyp_path):v8', ++ '<(v8_gyp_path):v8_libplatform' + ], + + 'include_dirs': [ +diff --git a/tools/install.py b/tools/install.py +index cb86c65..ee85e33 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -207,6 +207,9 @@ def run(args): + if os.environ.get('HEADERS_ONLY'): + if cmd == 'install': return headers(install) + if cmd == 'uninstall': return headers(uninstall) ++ elif os.environ.get('NPM_ONLY'): ++ if cmd == 'install': return npm_files(install) ++ if cmd == 'uninstall': return npm_files(uninstall) + else: + if cmd == 'install': return files(install) + if cmd == 'uninstall': return files(uninstall) +-- +2.7.3 + diff --git a/dev-util/electron/metadata.xml b/dev-util/electron/metadata.xml new file mode 100644 index 000000000000..d079fad69535 --- /dev/null +++ b/dev-util/electron/metadata.xml @@ -0,0 +1,22 @@ + + + + + elvis@magic.io + Elvis Pranskevichus + + + proxy-maint@gentoo.org + Proxy Maintainers + + Electron is a cross platform application development framework based on web technologies based on Chromium + + Use gtk3 instead of gtk2 + Enable support for high-resolution screens (high dots per inch) + Build with link time optimization enabled + Disable optimized assembly code that is not PIC friendly + Enable proprietary codecs like H.264, MP3 + Use system ffmpeg instead of the bundled one + Use bundled tcmalloc instead of system malloc + + diff --git a/dev-util/gdbus-codegen/gdbus-codegen-2.46.2.ebuild b/dev-util/gdbus-codegen/gdbus-codegen-2.46.2.ebuild index 607667026b65..be554ada40e3 100644 --- a/dev-util/gdbus-codegen/gdbus-codegen-2.46.2.ebuild +++ b/dev-util/gdbus-codegen/gdbus-codegen-2.46.2.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="http://www.gtk.org/" LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos" IUSE="" RDEPEND="${PYTHON_DEPS}" diff --git a/dev-util/gtk-builder-convert/gtk-builder-convert-2.24.29.ebuild b/dev-util/gtk-builder-convert/gtk-builder-convert-2.24.29.ebuild index c61bcef5bd72..fcbbc0f36d87 100644 --- a/dev-util/gtk-builder-convert/gtk-builder-convert-2.24.29.ebuild +++ b/dev-util/gtk-builder-convert/gtk-builder-convert-2.24.29.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="http://www.gtk.org/" LICENSE="LGPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/dev-util/gtk-update-icon-cache/gtk-update-icon-cache-3.18.4.ebuild b/dev-util/gtk-update-icon-cache/gtk-update-icon-cache-3.18.4.ebuild index 24c00bb29fb9..23766d70d868 100644 --- a/dev-util/gtk-update-icon-cache/gtk-update-icon-cache-3.18.4.ebuild +++ b/dev-util/gtk-update-icon-cache/gtk-update-icon-cache-3.18.4.ebuild @@ -15,7 +15,7 @@ LICENSE="LGPL-2+" SLOT="0" IUSE="" -KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" RDEPEND=" >=dev-libs/glib-2.45.8:2 diff --git a/dev-vcs/git/files/git-daemon-r1.initd b/dev-vcs/git/files/git-daemon-r1.initd index b6ecfd9c508c..df0316228dab 100644 --- a/dev-vcs/git/files/git-daemon-r1.initd +++ b/dev-vcs/git/files/git-daemon-r1.initd @@ -1,5 +1,5 @@ -#!/sbin/runscript -# Copyright 1999-2014 Gentoo Foundation +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ diff --git a/games-arcade/savagewheels/Manifest b/games-arcade/savagewheels/Manifest new file mode 100644 index 000000000000..f6d47497b809 --- /dev/null +++ b/games-arcade/savagewheels/Manifest @@ -0,0 +1,2 @@ +DIST savagewheels-1.6.0.tar.gz 593352 SHA256 c127eb37fd6b591ff579fa70b989afada1f20c6c63924583ff653d4efe7712fe SHA512 20622b1472d0c9dbf35250ab2334e4f84cabcb72c328a2a728fdbd113bc4b156a7fc2028ef51cd994dabbd27777d5eb07574295b393e9e81db31770a2f5e901f WHIRLPOOL 699c4ca19fd29c6e66bd3ef806b3e4bc19e787bba8c85428ad6e2701cac489b908fc74b6b3ce91e1ff1bc0306b3fd5ffccb52b743bbc1fb16da9ebef5a4d1b83 +DIST savagewheels-gamedata-1.4.0.tar.gz 13183072 SHA256 01fd7b9e122ff7d62363cbe3fd73d63de27bd48e40572e65ac9bb0d60bbad6ad SHA512 102214e18edb911b168e41999d239e3070255720f250e8ea640d365b3f7fc4c772cbf322f4558ba6c05fd56d904613c758918e25712e89eb2aca3e948c26fc65 WHIRLPOOL baafc5fe81a450ead511f4059cfe54a1e570cf8038af647c585678d2f15af0ac8f1cb8973767c8f646796748fbb1d4246d224ca2c916ee4ff5d1f516b4b4064f diff --git a/games-arcade/savagewheels/files/savagewheels-1.6.0-cmakelists.txt.patch b/games-arcade/savagewheels/files/savagewheels-1.6.0-cmakelists.txt.patch new file mode 100644 index 000000000000..eef00f9b7bfc --- /dev/null +++ b/games-arcade/savagewheels/files/savagewheels-1.6.0-cmakelists.txt.patch @@ -0,0 +1,128 @@ +--- savagewheels-1.6.0/CMakeLists.txt.old 2016-04-02 16:45:40.416146450 -0700 ++++ savagewheels-1.6.0/CMakeLists.txt 2016-04-02 16:57:14.930931857 -0700 +@@ -9,22 +9,33 @@ set(APP_VER_PATCH "0") + + ### check for required libs + find_package(SDL REQUIRED) + + ### Install targets (see: http://www.cmake.org/Wiki/CMake_RPATH_handling) +-if (NOT INSTALL_DIR) +- set(INSTALL_DIR "./") ++if (UNIX) ++ include (GNUInstallDirs) ++else() ++ if (NOT INSTALL_DIR) ++ set(INSTALL_DIR "./") ++ endif() ++ set(CMAKE_INSTALL_BINDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_SBINDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_LIBEXECDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_SYSCONFDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_SHAREDSTATEDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_LOCALSTATEDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_LIBDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_INCLUDEDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_OLDINCLUDEDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_DATAROOTDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_DATADIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_INFODIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_LOCALEDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_MANDIR "${INSTALL_DIR}") ++ set(CMAKE_INSTALL_DOCDIR "${INSTALL_DIR}") + endif() + +-# when building, don't use the install RPATH already +-# (but later on when installing) +-SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +- +-# add the automatically determined parts of the RPATH +-SET(CMAKE_INSTALL_RPATH "${INSTALL_DIR}/") +-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +- + ### sources + include_directories(src/) + include_directories(tinyxml/) + + set( +@@ -113,11 +124,11 @@ if (SOUND STREQUAL "NO") + message(STATUS "Found SOUND=NO option. Compiling without sound support!") + elseif(SOUND STREQUAL "FMOD") + # FModEx API + + # check if path to FMod is defined +- if(NOT DEFINED ${FMOD_PATH}) ++ if(NOT DEFINED FMOD_PATH) + set(FMOD_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libs/fmod/api") + endif() + + add_definitions(-I${FMOD_PATH}/inc) + link_directories(${FMOD_PATH}/lib) +@@ -164,17 +175,19 @@ elseif(SOUND STREQUAL "FMOD") + else() + message(STATUS "Found FModEx lib at ${FMOD_LIBRARY}. Found FModEx DLL at ${FMOD_LIBRARY_SO_PATH}.") + + add_definitions(-DWITH_FMOD) + +- add_custom_command(TARGET savagewheels POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy_if_different +- ${FMOD_LIBRARY_SO_PATH} +- $) +- +- INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${FMOD_SO_NAME}" +- DESTINATION ${INSTALL_DIR}) ++ if (WIN32) ++ add_custom_command(TARGET savagewheels POST_BUILD ++ COMMAND "${CMAKE_COMMAND}" -E copy_if_different ++ "${FMOD_LIBRARY_SO_PATH}" ++ "$") ++ ++ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${FMOD_SO_NAME}" ++ DESTINATION "${INSTALL_DIR}") ++ endif() + endif() + + else() + # SDL_mixer API + find_package(SDL_mixer REQUIRED) +@@ -234,19 +247,36 @@ endif() + ### Configure compile time header file + configure_file ( + "${PROJECT_SOURCE_DIR}/Config.h.in" + "${PROJECT_SOURCE_DIR}/src/Config.h") + +-INSTALL(TARGETS savagewheels RUNTIME DESTINATION ${INSTALL_DIR}) +-INSTALL(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/run.sh" DESTINATION ${INSTALL_DIR}) ++ ++INSTALL(TARGETS savagewheels RUNTIME DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}") ++if (WIN32 AND NOT UNIX) ++ INSTALL(PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/run.sh" DESTINATION "${INSTALL_DIR}") ++else() ++ configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/savagewheels.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/savagewheels.sh" ++ @ONLY) ++ INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/savagewheels.sh" ++ DESTINATION "${CMAKE_INSTALL_BINDIR}" RENAME savagewheels) ++endif() ++ + INSTALL(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/README.md" + "${CMAKE_CURRENT_SOURCE_DIR}/HISTORY" + "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" ++ "${CMAKE_CURRENT_SOURCE_DIR}/bin/LICENSE.mikmod.txt" ++ "${CMAKE_CURRENT_SOURCE_DIR}/bin/Readme.html" ++ "${CMAKE_CURRENT_SOURCE_DIR}/bin/README-SDL_mixer.txt" ++ "${CMAKE_CURRENT_SOURCE_DIR}/bin/README-SDL.txt" +- DESTINATION ${INSTALL_DIR}) ++ DESTINATION "${CMAKE_INSTALL_DOCDIR}") +-INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin/" +- DESTINATION ${INSTALL_DIR} ++INSTALL(FILES ++ "${CMAKE_CURRENT_SOURCE_DIR}/bin/bindings.xml" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}") ++INSTALL(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin/help" ++ DESTINATION "${CMAKE_INSTALL_DOCDIR}/help" + PATTERN "debug.html" EXCLUDE + PATTERN "pref" EXCLUDE) + + ### build a CPack driven installer package + include (InstallRequiredSystemLibraries) diff --git a/games-arcade/savagewheels/files/savagewheels-1.6.0-linux_dirs.patch b/games-arcade/savagewheels/files/savagewheels-1.6.0-linux_dirs.patch new file mode 100644 index 000000000000..b4076579f9a6 --- /dev/null +++ b/games-arcade/savagewheels/files/savagewheels-1.6.0-linux_dirs.patch @@ -0,0 +1,359 @@ +--- savagewheels-1.6.0/src/Main.cpp.old 2016-04-14 21:18:38.115071742 -0700 ++++ savagewheels-1.6.0/src/Main.cpp 2016-04-14 22:01:42.375422000 -0700 +@@ -43,10 +43,17 @@ + * Alpha Release: 29.06.2003 + */ + + #include "Main.h" + ++const char *sys_datadir; ++const char *usr_cfgdir; ++const char *usr_datadir; ++ ++char *ART_FILE; ++char *BINDINGS_FILE; ++ + int main( int argc, char *argv[] ) + { + bool hardware_support = true; + /* + * Start the game in a window by default. +@@ -57,16 +64,92 @@ int main( int argc, char *argv[] ) + * Linux Note: Running the game in fullscreen would sometimes crash the gfx manager. + * This is probably due to some video drivers. I was so far able to reproduce it on + * ATI Mobility type of video cards. + */ + bool fullscreen = false; ++ String tmp; + + #ifdef LINUX_BUILD ++ sys_datadir = getenv("SAVAGEWHEELS_SYS_DATADIR"); ++ if (sys_datadir == NULL) ++ { ++ fprintf(stderr, "SAVAGEWHEELS_SYS_DATADIR not set.\n"); ++ return 1; ++ } ++ sys_datadir = strdup(sys_datadir); ++ ++ usr_cfgdir = getenv("SAVAGEWHEELS_USR_CONFDIR"); ++ if (usr_cfgdir == NULL) ++ { ++ fprintf(stderr, "SAVAGEWHEELS_USR_CONFDIR not set.\n"); ++ return 1; ++ } ++ usr_cfgdir = strdup(usr_cfgdir); ++ ++ usr_datadir = getenv("SAVAGEWHEELS_USR_DATADIR"); ++ if (usr_datadir == NULL) ++ { ++ fprintf(stderr, "SAVAGEWHEELS_USR_DATADIR not set.\n"); ++ return 1; ++ } ++ usr_datadir = strdup(usr_datadir); ++ ++ if (sys_datadir == NULL || usr_cfgdir == NULL || usr_datadir == NULL) ++ { ++ fprintf(stderr, "Insufficient memory. Execution aborted.\n"); ++ return 1; ++ } ++ + setenv("SDL_VIDEO_CENTERED", "1", 1); + #else ++ sys_datadir = usr_cfgdir = usr_datadir = "./"; + _putenv("SDL_VIDEO_CENTERED=1"); + #endif ++ int len; ++ len = snprintf(NULL, 0, "%s/graphics/gfxdata.kdf", sys_datadir); ++ if (len < 0) ++ { ++ fprintf(stderr, ++ "Unable to store '%s/graphics/gfxdata.kdf': %s\n", ++ sys_datadir, strerror(errno)); ++ return 1; ++ } ++ if (len == INT_MAX) ++ { ++ fprintf(stderr, "Unable to store '%s/graphics/gfxdata.kdf': " ++ "Path too log\n", sys_datadir); ++ return 1; ++ } ++ ART_FILE = new (std::nothrow) char[len + 1]; ++ if (ART_FILE == NULL) ++ { ++ fprintf(stderr, "Insufficent memory. Execution aborted.\n"); ++ return 1; ++ } ++ sprintf(ART_FILE, "%s/graphics/gfxdata.kdf", sys_datadir); ++ ++ len = snprintf(NULL, 0, "%s/bindings.xml", usr_cfgdir); ++ if (len < 0) ++ { ++ fprintf(stderr, ++ "Unable to store '%s/bindings.xml': %s\n", usr_cfgdir, ++ strerror(errno)); ++ return 1; ++ } ++ if (len == INT_MAX) ++ { ++ fprintf(stderr, "Unable to store '%s/bindings.xml': " ++ "Path too log\n", usr_cfgdir); ++ return 1; ++ } ++ BINDINGS_FILE = new (std::nothrow) char[len + 1]; ++ if (BINDINGS_FILE == NULL) ++ { ++ fprintf(stderr, "Insufficent memory. Execution aborted.\n"); ++ return 1; ++ } ++ sprintf(BINDINGS_FILE, "%s/bindings.xml", usr_cfgdir); + + if (argc > 1) { + for (int i = 1; i < argc; i++) { + if (!strncmp(argv[i], "-wnd", 4)) { + fullscreen = false; +@@ -104,11 +187,12 @@ + + /* + * Load & Start Game + */ + +- OpenLog("debug.html"); ++ tmp = String(usr_datadir).append("/debug.html"); ++ OpenLog(tmp.c_str()); + + CGame game; + game.Execute(fullscreen, hardware_support); + game.Close(); + +--- savagewheels-1.6.0/src/Main.h.old 2016-04-14 21:20:27.443522441 -0700 ++++ savagewheels-1.6.0/src/Main.h 2016-04-14 21:56:22.449964486 -0700 +@@ -35,10 +35,11 @@ + #include + #include + #include + #include + #include ++#include + + #include + #include + #include + #include +@@ -84,12 +85,10 @@ + + // --- version + #include "Config.h" + + // --- global game defines +-#define ART_FILE "graphics/gfxdata.kdf" +-#define BINDINGS_FILE "bindings.xml" + #define LOAD_OK (-1) + #define LOAD_FAILED (0) + #define HRESULT(x) ( (x) == NULL : LOAD_OK ? LOAD_FAILED ) + #define NLPTR_SURF 0 //((SDL_Surface *)NULL) + +@@ -100,10 +99,16 @@ + #endif + + typedef std::string String; + typedef std::ostringstream OutputSStream; + ++extern const char *sys_datadir; ++extern const char *usr_cfgdir; ++extern const char *usr_datadir; ++ ++extern char *ART_FILE; ++extern char *BINDINGS_FILE; + //#include "pstdint.h" // portable types + #include "Utils.h" + #include "CKdf.h" + #include "CSdl.h" + #include "CSwv_module.h" +--- savagewheels-1.6.0/src/Utils.cpp.old 2016-04-15 19:28:21.757879157 -0700 ++++ savagewheels-1.6.0/src/Utils.cpp 2016-04-15 19:28:28.478786779 -0700 +@@ -261,11 +261,11 @@ inline String GetFormattedTime() + bool OpenLog ( const char* filename ) + { + String time( GetFormattedTime() ); + + // open debug file +- debug_file.open ( "debug.html", std::ios::out ); //ios::ate ); ++ debug_file.open ( filename, std::ios::out ); //ios::ate ); + if ( ! debug_file.good() ) + return false; + + debug_file << "Savage Wheels Log File

Savage Wheels V" << VER_MAJ << "." << VER_MIN << " - Log File

"; + debug_file << "
";
+--- savagewheels-1.6.0/src/CGame.cpp.old	2016-04-15 20:43:37.479330001 -0700
++++ savagewheels-1.6.0/src/CGame.cpp	2016-04-15 21:04:48.044721904 -0700
+@@ -116,10 +116,11 @@ void CGame::Close()
+ ///////////////////////////////////////////////////////////////////////
+ bool CGame::LoadGame()
+ {
+ 	char buf[255];
+ 	int  i = 0;
++	String tmp (sys_datadir);
+ 
+ 	AppendToLog( LOG_DASH );
+ 	AppendToLog("Loading Game...");
+ 
+ 	// global screen rect
+@@ -161,11 +162,14 @@ bool CGame::LoadGame()
+ 	srand( (unsigned)SDL_GetTicks() );
+ 
+ 	UpdateSplash();  // UPDATESPLASH... 
+ 
+ 	// search for vehicles
+-	if ( Swv.SearchAndLoad( "autos" ) != SWV_SUCCESS ) return false;
++	tmp.resize(strlen(sys_datadir));
++	tmp.append("/autos");
++	if ( Swv.SearchAndLoad( tmp.c_str() ) != SWV_SUCCESS )
++		return false;
+ 
+ 	// check for vehicle number
+ 	if ( Swv.GetVehicles() < 4 ) 
+ 	{
+ 		AppendToLog( "Not enough vehicles in the /auto dir!" );
+--- savagewheels-1.6.0/src/CSdl.cpp.old	2016-04-16 16:00:56.600502348 -0700
++++ savagewheels-1.6.0/src/CSdl.cpp	2016-04-16 16:01:16.152226435 -0700
+@@ -1298,13 +1298,10 @@
+ 	return NULL;
+ #else
+ 	
+ 	SDL_Surface *sdl_surf = NULL;
+ 
+-	char filename_buf[255];
+-	sprintf( filename_buf, "../%s", filename );
+-
+ 	if ( ( sdl_surf = SDL_LoadBMP( filename_buf )) == NULL )
+ 	{
+ 		LOG("...failed to load graphics from : " << filename_buf );
+ 		return NULL;
+ 	}
+--- savagewheels-1.6.0/src/CSounds.cpp.old	2016-04-16 16:06:43.887600441 -0700
++++ savagewheels-1.6.0/src/CSounds.cpp	2016-04-16 16:17:44.729332218 -0700
+@@ -46,22 +46,39 @@
+ // Name: Initialize()
+ // Desc: Load all ingame sounds
+ //////////////////////////////////////////////////////////////////////
+ bool CSounds::Initialize( CSdl *pSdl )
+ {
+-	ASSERT( _sdl != NULL );
++	ASSERT( pSdl != NULL );
+ 	this->_sdl = pSdl;
+ 
+ #if defined(WITH_FMOD) || defined(WITH_SDLMIXER)
++	String tmp (sys_datadir);
+ 
+-#define LOAD_SOUND( container, name, buffered ) if ( (sounds[container] = _sdl->LoadSound( name, buffered )) == -1 ) { \
+-	LOG( "Failed to load " << name << " ! "); \
+-	return false; }
++#define LOAD_SOUND( container, name, buffered)					\
++	do {									\
++		tmp.append("/").append(name);					\
++		sounds[container] =						\
++			_sdl->LoadSound( tmp.c_str(), buffered );		\
++		if ( sounds[container] == -1 ) {				\
++			LOG( "Failed to load " << name << " ! " );		\
++			return false;						\
++		}								\
++		tmp.resize(strlen(sys_datadir));				\
++	} while(0)
+ 
+-#define LOAD_MUSIC( container, name ) if ( (music[container] = _sdl->LoadSound( name, false, true )) == -1 ) { \
+-	LOG( "Failed to load music " << name << " ! "); \
+-	return false; }
++#define LOAD_MUSIC( container, name)						\
++	do {									\
++		tmp.append("/").append(name);					\
++		music[container] =						\
++			_sdl->LoadSound( tmp.c_str(), false, true );		\
++		if ( music[container] == -1 ) {					\
++			LOG( "Failed to load music " << name << " ! " );	\
++			return false;						\
++		}								\
++		tmp.resize(strlen(sys_datadir));				\
++	} while(0)
+ 
+ 	LOAD_SOUND( SND_CRASHLIGHT1, "sound/crash3.wav", true );
+ 	LOAD_SOUND( SND_CRASHLIGHT2, "sound/crash2.wav", true );
+ 	LOAD_SOUND( SND_CRASHLIGHT3, "sound/crash1.wav", true );
+ 	LOAD_SOUND( SND_EXPLOSION1, "sound/exp.wav", true );
+--- savagewheels-1.6.0/src/CSwv_module.cpp.old	2016-04-16 20:58:04.366973388 -0700
++++ savagewheels-1.6.0/src/CSwv_module.cpp	2016-04-16 20:58:13.026851358 -0700
+@@ -204,12 +204,10 @@ int CSwv_module::Load( char *filename, S
+ // 		DBG("pos: " << swv_file->pfiles[i].pos
+ // 				<< " size (KB): " << swv_file->pfiles[i].length
+ // 				<< " name: " << swv_file->pfiles[i].filename);
+ //	}
+ 	
+-	// set module filename
+-	sprintf( swv_file->filename, "%s", filename );
+ 
+ 	if ( fp != NULL )
+ 	  fclose( fp );
+ 
+ 	return SWV_SUCCESS;
+--- savagewheels-1.6.0/src/CSdl.cpp.old	2016-04-16 21:02:07.680544534 -0700
++++ savagewheels-1.6.0/src/CSdl.cpp	2016-04-16 21:06:59.400432874 -0700
+@@ -1336,12 +1336,25 @@ SDL_Surface* CSdl::LoadBitmap( const cha
+ SDL_Surface* CSdl::LoadBitmap( const char *filename, int32_t file_offset, Uint32 file_size, Uint32 color_key, Uint16 alpha_value )
+ {
+ 	SDL_Surface  *sdl_surf	= NULL;						// temp surface
+ 	FILE		 *fp		= NULL;						// file pointer
+ 	SDL_RWops	 *sdl_rw	= NULL;						// sdl_read_write_operations
++	String tmp;
+ 
+-	if ( ( fp = fopen( filename, "rb")) == NULL ) 
++#ifdef LINUX_BUILD
++	if ( filename[0] != '/' )
++	{
++	    tmp = String(sys_datadir).append("/autos/").append(filename);
++	}
++	else
++	{
++		tmp = String(filename);
++	}
++#else
++	tmp = String(filename);
++#endif
++	if ( ( fp = fopen( tmp.c_str(), "rb")) == NULL ) 
+ 	{
+ 		LOG("...failed to open file : " << filename );
+ 		return NULL;
+ 	}
+ 
+--- savagewheels-1.6.0/src/CMainMenu.cpp.old	2016-04-16 22:13:23.442523534 -0700
++++ savagewheels-1.6.0/src/CMainMenu.cpp	2016-04-16 22:13:17.701605381 -0700
+@@ -1121,12 +1121,13 @@ void CMainMenu::SaveSettings()
+ 	if ( _game == NULL )
+ 	  return;
+ 
+ 	FILE *fp = NULL;
+ 	char  header[3] = { 'S', 'W', 'P' };
++	String strPref(String(usr_cfgdir) + "/pref");
+ 
+-	if ( ( fp = fopen( "pref", "wb" ) ) == NULL )
++	if ( ( fp = fopen( strPref.c_str(), "wb" ) ) == NULL )
+ 	{
+ 		AppendToLog( "Error writing to /pref file !" );
+ 		return;
+ 	}
+ 
+--- savagewheels-1.6.0/src/CMainMenu.cpp.old	2016-04-17 07:38:09.417653268 -0700
++++ savagewheels-1.6.0/src/CMainMenu.cpp	2016-04-17 07:38:24.277437113 -0700
+@@ -1167,12 +1168,13 @@ void CMainMenu::SaveSettings()
+ void CMainMenu::LoadSettings()
+ {
+ 	FILE  *fp = NULL;
+ 	char  header[3];
+ 	bool  success = true;
++	String strPref(String(usr_cfgdir) + "/pref");
+ 
+-	if ( ( fp = fopen( "pref", "rb" ) ) == NULL )
++	if ( ( fp = fopen( strPref.c_str(), "wb" ) ) == NULL )
+ 	{
+ 		AppendToLog( "Error opening /pref file !" );
+ 		success = false;
+ 	}
+ 
diff --git a/games-arcade/savagewheels/files/savagewheels.in b/games-arcade/savagewheels/files/savagewheels.in
new file mode 100644
index 000000000000..c1b4c689f71c
--- /dev/null
+++ b/games-arcade/savagewheels/files/savagewheels.in
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+export SAVAGEWHEELS_SYS_DATADIR="${SAVAGEWHEELS_SYS_DATADIR-@CMAKE_INSTALL_DATADIR@}"
+export SAVAGEWHEELS_LIBEXECDIR="${SAVAGEWHEELS_LIBEXECDIR-@CMAKE_INSTALL_LIBEXECDIR@}"
+export SAVAGEWHEELS_USR_CONFDIR="${SAVAGEWHEELS_USR_CONFDIR-${HOME}/.config/savagewheels}"
+export SAVAGEWHEELS_USR_DATADIR="${SAVAGEWHEELS_USR_DATADIR-${HOME}/.local/share/savagewheels}"
+
+if [ ! -d ${SAVAGEWHEELS_USR_CONFDIR} ]; then
+    if [ -e ${SAVAGEWHEELS_USR_CONFDIR} ]; then
+        printf "${SAVAGEWHEELS_USR_CONFDIR} exists but is not a directory.\n" >&2
+        printf "  Please remove.\n" >&2
+        exit 1
+    fi
+    mkdir -p ${SAVAGEWHEELS_USR_CONFDIR}
+    if [ $? -ne 0 ]; then
+        printf "Failed to create ${SAVAGEWHEELS_USR_CONFDIR}\n" >&2
+        exit 1
+    fi
+fi
+
+if [ ! -d ${SAVAGEWHEELS_USR_DATADIR} ]; then
+    if [ -e ${SAVAGEWHEELS_USR_DATADIR} ]; then
+        printf "${SAVAGEWHEELS_USR_DATADIR} exists but is not a directory.\n" >&2
+        printf "  Please remove.\n" >&2
+        exit 1
+    fi
+    mkdir -p ${SAVAGEWHEELS_USR_DATADIR}
+    if [ $? -ne 0 ]; then
+        printf "Failed to create ${SAVAGEWHEELS_USR_DATADIR}\n" >&2
+        exit 1
+    fi
+fi
+
+if [ ! -e ${SAVAGEWHEELS_USR_CONFDIR}/bindings.xml ]; then
+    cp ${SAVAGEWHEELS_SYS_DATADIR}/bindings.xml ${SAVAGEWHEELS_USR_CONFDIR}
+    if [ $? -ne 0 ]; then
+        printf "Failed to create ${SAVAGEWHEELS_USR_CONFDIR}/bindings.xml\n" >&2
+        exit 1
+    fi
+fi
+
+exec ${SAVAGEWHEELS_LIBEXECDIR}/savagewheels "$@"
diff --git a/games-arcade/savagewheels/metadata.xml b/games-arcade/savagewheels/metadata.xml
new file mode 100644
index 000000000000..5279e81cbf25
--- /dev/null
+++ b/games-arcade/savagewheels/metadata.xml
@@ -0,0 +1,18 @@
+
+
+
+	
+		nvinson234@gmail.com
+		Nicholas Vinson
+	
+	
+		proxy-maint@gentoo.org
+		Proxy Maintainers
+	
+	
+		Enable the fmod music and sound effects library
+	
+	
+		petarov/savagewheels
+	
+
diff --git a/games-arcade/savagewheels/savagewheels-1.6.0.ebuild b/games-arcade/savagewheels/savagewheels-1.6.0.ebuild
new file mode 100644
index 000000000000..0edf9825d9f3
--- /dev/null
+++ b/games-arcade/savagewheels/savagewheels-1.6.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="2D car crashing game similar to the old classic Destruction Derby."
+HOMEPAGE="https://github.com/petarov/savagewheels"
+
+GAMEDATA="${PN}-gamedata-1.4.0"
+
+SRC_URI="
+	https://github.com/petarov/savagewheels/archive/v1.6.0.tar.gz -> ${P}.tar.gz
+	https://github.com/petarov/savagewheels/releases/download/v1.4/${PN}-gamedata.tar.gz -> ${GAMEDATA}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="debug fmod sound"
+
+RDEPEND="
+	media-libs/libsdl
+	sound? (
+		!fmod? ( media-libs/sdl-mixer[mod,modplug] )
+		fmod? ( >=media-libs/fmod-4.38.00 )
+	)"
+
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="fmod? ( sound )"
+
+PATCHES=(
+	"${FILESDIR}/${P}-cmakelists.txt.patch"
+	"${FILESDIR}/${P}-linux_dirs.patch"
+)
+
+src_unpack() {
+	unpack ${P}.tar.gz
+
+	cp "${FILESDIR}/${PN}.in" "${S}"
+	mkdir "${WORKDIR}/${GAMEDATA}" ||
+		die "Failed to make directory: ${WORKDIR}/${GAMEDATA}"
+	cd "${WORKDIR}/${GAMEDATA}" ||
+		die "Unable to change into directory: ${WORKDIR}/${GAMEDATA}"
+	unpack "${GAMEDATA}.tar.gz"
+}
+
+src_configure() {
+	local mycmakeargs=()
+
+	if use debug; then
+		CMAKE_BUILD_TYPE=Debug
+	fi
+
+	if use sound; then
+		if use fmod; then
+			mycmakeargs+=( -DSOUND=FMOD -DFMOD_PATH=/opt/fmodex/api )
+		else
+			mycmakeargs+=( -DSOUND=YES )
+		fi
+	else
+		mycmakeargs+=( -DSOUND=NO )
+	fi
+
+	mycmakeargs+=(
+		-DCMAKE_INSTALL_DATADIR=/usr/share/games/${PN}
+		-DCMAKE_INSTALL_DATAROOTDIR=/usr/share
+		-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${P}
+		-DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec/${PN}
+		-DCMAKE_INSTALL_PREFIX=/usr/games
+	)
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	insinto "/usr/share/games/${PN}"
+	for d in "${WORKDIR}/${GAMEDATA}/*"; do
+		doins -r ${d}
+	done
+}
diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest
index 27c42ad74732..95551bb4600d 100644
--- a/games-emulation/sdlmame/Manifest
+++ b/games-emulation/sdlmame/Manifest
@@ -1 +1,2 @@
 DIST mame-0.168.zip 82770536 SHA256 f91e014c3d3bf3da790284a25437f231a84228a6adbf42db35ca34a57f8a3092 SHA512 14b0519682f8aeb2379cd29b9e0ad8f3c54866296ac158876435425b79c3bf19a2dc520df7a44fe301a8e8cbbc335185602f4998edf6e95324f527c50c72411e WHIRLPOOL 41ddbe191423e3653a52f7734cc85088f1c663fd9aefdbd00ceefbe86f27bde190d14505be7fa69f76c7a39c6bbb5ab196685c2e001c8517cb90f4f7f27e8a51
+DIST mame-0.173.zip 92387665 SHA256 45a31815838abfab10d4b0c13be013c24385f1ff07aaeafa8e86014b996376a5 SHA512 e4ca67cf313b23c49a30914299878270caddd24b5f26aefb6a5dc3ae0720847aff63e999237997edb01492afd60e3afd4be54ff885595e2f043ac4c0b647488b WHIRLPOOL d7065575ea842e63efd0494b1ba477524b4185b7ebd651bb7a60240b38b692245c53bf3a6044c251805bb80b7cd053f0f903259da36e9d109039579372255956
diff --git a/games-emulation/sdlmame/files/sdlmame-0.173-qt.patch b/games-emulation/sdlmame/files/sdlmame-0.173-qt.patch
new file mode 100644
index 000000000000..f9c384d91cf8
--- /dev/null
+++ b/games-emulation/sdlmame/files/sdlmame-0.173-qt.patch
@@ -0,0 +1,29 @@
+No point in adding qt-related things to the compile line unless the qt debugger is wanted
+
+--- scripts/src/osd/sdl_cfg.lua.orig
++++ scripts/src/osd/sdl_cfg.lua
+@@ -115,14 +115,16 @@
+ 	configuration { }
+ 
+ elseif _OPTIONS["targetos"]=="linux" then
+-	if _OPTIONS["QT_HOME"]~=nil then
+-		buildoptions {
+-			"-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
+-		}
+-	else
+-		buildoptions {
+-			backtick("pkg-config --cflags Qt5Widgets"),
+-		}
++	if _OPTIONS["USE_QTDEBUG"]=="1" then
++		if _OPTIONS["QT_HOME"]~=nil then
++			buildoptions {
++				"-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
++			}
++		else
++			buildoptions {
++				backtick("pkg-config --cflags Qt5Widgets"),
++			}
++		end
+ 	end
+ elseif _OPTIONS["targetos"]=="macosx" then
+ 	defines {
diff --git a/games-emulation/sdlmame/sdlmame-0.173.ebuild b/games-emulation/sdlmame/sdlmame-0.173.ebuild
new file mode 100644
index 000000000000..7fa0a7cd5af8
--- /dev/null
+++ b/games-emulation/sdlmame/sdlmame-0.173.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils python-any-r1 toolchain-funcs qmake-utils games
+
+MY_PV="${PV/.}"
+
+DESCRIPTION="Multiple Arcade Machine Emulator + Multi Emulator Super System (MESS)"
+HOMEPAGE="http://mamedev.org/"
+SRC_URI="https://github.com/mamedev/mame/releases/download/mame${MY_PV}/mame${MY_PV}s.zip -> mame-${PV}.zip"
+
+LICENSE="GPL-2+ BSD-2 MIT CC0-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa +arcade debug +mess opengl openmp tools"
+REQUIRED_USE="|| ( arcade mess )"
+
+# MESS (games-emulation/sdlmess) has been merged into MAME upstream since mame-0.162 (see below)
+#  MAME/MESS build combined (default)	+arcade +mess	(mame)
+#  MAME build only			+arcade -mess	(mamearcade)
+#  MESS build only			-arcade +mess	(mess)
+# games-emulation/sdlmametools is dropped and enabled instead by the 'tools' useflag
+RDEPEND="!games-emulation/sdlmametools
+	!games-emulation/sdlmess
+	dev-db/sqlite:3
+	dev-libs/expat
+	media-libs/fontconfig
+	media-libs/flac
+	media-libs/libsdl2[joystick,opengl?,sound,video]
+	media-libs/portaudio
+	media-libs/sdl2-ttf
+	sys-libs/zlib
+	virtual/jpeg:0
+	virtual/opengl
+	alsa? ( media-libs/alsa-lib
+		media-libs/portmidi )
+	debug? ( dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtwidgets:5 )
+	x11-libs/libX11
+	x11-libs/libXinerama
+	${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	app-arch/unzip
+	virtual/pkgconfig
+	x11-proto/xineramaproto"
+
+S=${WORKDIR}
+
+# Function to disable a makefile option
+disable_feature() {
+	sed -i -e "/$1.*=/s:^:# :" makefile || die
+}
+
+# Function to enable a makefile option
+enable_feature() {
+	sed -i -e "/^#.*$1.*=/s:^#::"  makefile || die
+}
+
+pkg_setup() {
+	games_pkg_setup
+	python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	default
+	unpack ./mame.zip
+	rm -f mame.zip || die
+}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-qt.patch
+	# Disable using bundled libraries
+	enable_feature USE_SYSTEM_LIB_EXPAT
+	enable_feature USE_SYSTEM_LIB_FLAC
+	enable_feature USE_SYSTEM_LIB_JPEG
+# Use bundled lua for now to ensure correct compilation (ref. b.g.o #407091)
+#	enable_feature USE_SYSTEM_LIB_LUA
+	enable_feature USE_SYSTEM_LIB_PORTAUDIO
+	enable_feature USE_SYSTEM_LIB_SQLITE3
+	enable_feature USE_SYSTEM_LIB_ZLIB
+
+	# Disable warnings being treated as errors and enable verbose build output
+	enable_feature NOWERROR
+	enable_feature VERBOSE
+
+	use amd64 && enable_feature PTR64
+	use debug && enable_feature DEBUG
+	use tools && enable_feature TOOLS
+	disable_feature NO_X11 # bgfx needs X
+	use openmp && enable_feature OPENMP
+
+	if use alsa ; then
+		enable_feature USE_SYSTEM_LIB_PORTMIDI
+	else
+		enable_feature NO_USE_MIDI
+	fi
+
+	sed -i \
+		-e 's/-Os//' \
+		-e '/^\(CC\|CXX\|AR\) /s/=/?=/' \
+		3rdparty/genie/build/gmake.linux/genie.make || die
+}
+
+src_compile() {
+	local targetargs
+	local qtdebug=$(usex debug 1 0)
+
+	use arcade && ! use mess && targetargs="SUBTARGET=arcade"
+	! use arcade && use mess && targetargs="SUBTARGET=mess"
+
+	function my_emake() {
+		# Workaround conflicting $ARCH variable used by both Gentoo's
+		# portage and by Mame's build scripts
+		PYTHON_EXECUTABLE=${PYTHON} \
+		OVERRIDE_CC=$(tc-getCC) \
+		OVERRIDE_CXX=$(tc-getCXX) \
+		OVERRIDE_LD=$(tc-getCXX) \
+		QT_HOME="$(qt5_get_libdir)/qt5" \
+		ARCH= \
+			emake "$@" \
+				AR=$(tc-getAR)
+	}
+	my_emake -j1 generate
+
+	my_emake ${targetargs} \
+		SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;${GAMES_SYSCONFDIR}/${PN}" \
+		USE_QTDEBUG=${qtdebug}
+
+	if use tools ; then
+		my_emake -j1 TARGET=ldplayer USE_QTDEBUG=${qtdebug}
+	fi
+}
+
+src_install() {
+	local MAMEBIN
+	local suffix="$(use amd64 && echo 64)$(use debug && echo d)"
+	local f
+
+	function mess_install() {
+		dosym ${MAMEBIN} "${GAMES_BINDIR}"/mess${suffix}
+		dosym ${MAMEBIN} "${GAMES_BINDIR}"/sdlmess
+		newman docs/man/mess.6 sdlmess.6
+		doman docs/man/mess.6
+	}
+	if use arcade ; then
+		if use mess ; then
+			MAMEBIN="mame${suffix}"
+			mess_install
+		else
+			MAMEBIN="mamearcade${suffix}"
+		fi
+		doman docs/man/mame.6
+		newman docs/man/mame.6 ${PN}.6
+	elif use mess ; then
+		MAMEBIN="mess${suffix}"
+		mess_install
+	fi
+	dogamesbin ${MAMEBIN}
+	dosym ${MAMEBIN} "${GAMES_BINDIR}/${PN}"
+
+	insinto "${GAMES_DATADIR}/${PN}"
+	doins -r keymaps $(use mess && echo hash)
+
+	# Create default mame.ini and inject Gentoo settings into it
+	#  Note that '~' does not work and '$HOME' must be used
+	./${MAMEBIN} -noreadconfig -showconfig > "${T}/mame.ini" || die
+	# -- Paths --
+	for f in {rom,hash,sample,art,font,crosshair} ; do
+		sed -i \
+			-e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+			"${T}/mame.ini" || die
+	done
+	for f in {ctrlr,cheat} ; do
+		sed -i \
+			-e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;${GAMES_SYSCONFDIR}/${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+			"${T}/mame.ini" || die
+	done
+	# -- Directories
+	for f in {cfg,nvram,memcard,input,state,snapshot,diff,comment} ; do
+		sed -i \
+			-e "s:\(${f}_directory\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+			"${T}/mame.ini" || die
+	done
+	# -- Keymaps --
+	sed -i \
+		-e "s:\(keymap_file\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+		"${T}/mame.ini" || die
+	for f in keymaps/km*.map ; do
+		sed -i \
+			-e "/^keymap_file/a \#keymap_file \t\t${GAMES_DATADIR}/${PN}/keymaps/${f##*/}" \
+			"${T}/mame.ini" || die
+	done
+	insinto "${GAMES_SYSCONFDIR}/${PN}"
+	doins "${T}/mame.ini"
+
+	insinto "${GAMES_SYSCONFDIR}/${PN}"
+	doins "${FILESDIR}/vector.ini"
+
+	dodoc docs/{config,mame,newvideo}.txt
+	keepdir \
+		"${GAMES_DATADIR}/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \
+		"${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheat}
+
+	if use tools ; then
+		for f in castool chdman floptool imgtool jedutil ldresample ldverify romcmp testkeys ; do
+			newgamesbin ${f} ${PN}-${f}
+			newman docs/man/${f}.1 ${PN}-${f}.1
+		done
+		newgamesbin ldplayer${suffix} ${PN}-ldplayer
+		newman docs/man/ldplayer.1 ${PN}-ldplayer.1
+	fi
+
+	prepgamesdirs
+}
+
+pkg_postinst() {
+	games_pkg_postinst
+
+	elog "It is strongly recommended to change either the system-wide"
+	elog "  ${GAMES_SYSCONFDIR}/${PN}/mame.ini or use a per-user setup at ~/.${PN}/mame.ini"
+	elog
+	if use opengl ; then
+		elog "You built ${PN} with opengl support and should set"
+		elog "\"video\" to \"opengl\" in mame.ini to take advantage of that"
+		elog
+		elog "For more info see http://wiki.mamedev.org"
+	fi
+}
diff --git a/games-simulation/planets/Manifest b/games-simulation/planets/Manifest
deleted file mode 100644
index 2bbf4fef6cc3..000000000000
--- a/games-simulation/planets/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST planets-0.1.13.tgz 49732 SHA256 cd4be19dc1e16cc3d5bb20fdfa2af025b50cd21dbce5d1e8b3041c4e786c3624 SHA512 fdfc2cde52baaac71683fbf31b6fe09f6bec81650842eb6b88dbc34d643142f73a89a935db028ab000d3fa33e1646b28558e398bb0eddba273f94e429e61a67d WHIRLPOOL 3980b333761185525d4f91caee6f850d086954c5f119b66827f3a1b4a91e85d35a302fad941139732d1e813d539172652beda5fe7776f78925a6d8fc33c4cf0b
diff --git a/games-simulation/planets/metadata.xml b/games-simulation/planets/metadata.xml
deleted file mode 100644
index 78274e0fa550..000000000000
--- a/games-simulation/planets/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-	games@gentoo.org
-	Gentoo Games Project
-
-
diff --git a/games-simulation/planets/planets-0.1.13.ebuild b/games-simulation/planets/planets-0.1.13.ebuild
deleted file mode 100644
index 19f0eb25337b..000000000000
--- a/games-simulation/planets/planets-0.1.13.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils games
-
-DESCRIPTION="a simple interactive planetary system simulator"
-HOMEPAGE="http://planets.homedns.org/"
-SRC_URI="http://planets.homedns.org/dist/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc sparc x86"
-IUSE=""
-
-RDEPEND="
-	dev-lang/tcl:0=
-	dev-lang/tk:0="
-DEPEND="${RDEPEND}
-	dev-lang/ocaml[tk]"
-
-src_install() {
-	dogamesbin planets
-	doicon ${PN}.png
-	domenu ${PN}.desktop
-	doman ${PN}.1
-	dohtml getting_started.html
-	dodoc CHANGES CREDITS KEYBINDINGS.txt README TODO
-	prepgamesdirs
-}
diff --git a/games-strategy/s25rttr/s25rttr-0.8.1-r2.ebuild b/games-strategy/s25rttr/s25rttr-0.8.1-r2.ebuild
new file mode 100644
index 000000000000..b53858bc19b7
--- /dev/null
+++ b/games-strategy/s25rttr/s25rttr-0.8.1-r2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils gnome2-utils games
+
+DESCRIPTION="Open Source remake of The Settlers II game (needs original game files)"
+HOMEPAGE="http://www.siedler25.org/"
+# no upstream source tarball yet
+# https://bugs.launchpad.net/s25rttr/+bug/1069546
+SRC_URI="https://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND="app-arch/bzip2
+	media-libs/libsamplerate
+	media-libs/libsdl[X,sound,opengl,video]
+	media-libs/libsndfile
+	media-libs/sdl-mixer[vorbis]
+	net-libs/miniupnpc
+	virtual/libiconv
+	virtual/opengl"
+DEPEND="${RDEPEND}
+	sys-devel/gettext"
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-cmake.patch \
+		"${FILESDIR}"/${P}-soundconverter.patch \
+		"${FILESDIR}"/${P}-fpic.patch \
+		"${FILESDIR}"/${P}-format.patch \
+		"${FILESDIR}"/${P}-miniupnpc-api-14.patch \
+		"${FILESDIR}"/${P}-cmake-3.patch
+}
+
+src_configure() {
+	local arch
+	case ${ARCH} in
+		amd64)
+			arch="x86_64" ;;
+		x86)
+			arch="i386" ;;
+		*) die "Architecture ${ARCH} not yet supported" ;;
+	esac
+
+	local mycmakeargs=(
+		-DCOMPILEFOR="linux"
+		-DCOMPILEARCH="${arch}"
+		-DCMAKE_SKIP_RPATH=YES
+		-DPREFIX="${GAMES_PREFIX}"
+		-DBINDIR="${GAMES_BINDIR}"
+		-DDATADIR="${GAMES_DATADIR}"
+		-DLIBDIR="$(games_get_libdir)/${PN}"
+		-DDRIVERDIR="$(games_get_libdir)/${PN}"
+		-DGAMEDIR="~/.${PN}/S2"
+		-DBUILD_GLFW_DRIVER=OFF
+	)
+
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	# work around some relative paths (CMAKE_IN_SOURCE_BUILD not supported)
+	ln -s "${CMAKE_USE_DIR}"/RTTR "${CMAKE_BUILD_DIR}"/RTTR || die
+
+	cmake-utils_src_compile
+
+	mv "${CMAKE_USE_DIR}"/RTTR/{sound-convert,s-c_resample} "${T}"/ || die
+}
+
+src_install() {
+	cd "${CMAKE_BUILD_DIR}" || die
+
+	exeinto "$(games_get_libdir)"/${PN}
+	doexe "${T}"/{sound-convert,s-c_resample}
+	exeinto "$(games_get_libdir)"/${PN}/video
+	doexe driver/video/SDL/src/libvideoSDL.so
+	exeinto "$(games_get_libdir)"/${PN}/audio
+	doexe driver/audio/SDL/src/libaudioSDL.so
+
+	insinto "${GAMES_DATADIR}"
+	doins -r "${CMAKE_USE_DIR}"/RTTR
+	dosym ./LSTS/splash.bmp "${GAMES_DATADIR}"/RTTR/splash.bmp
+
+	doicon -s 64 "${CMAKE_USE_DIR}"/debian/${PN}.png
+	dogamesbin src/s25client
+	make_desktop_entry "s25client" "Settlers RTTR" "${PN}"
+	dodoc RTTR/texte/{keyboardlayout.txt,readme.txt}
+
+	prepgamesdirs
+}
+
+pkg_preinst() {
+	games_pkg_preinst
+	gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	games_pkg_postinst
+	elog "Copy your Settlers2 game files into ~/.${PN}/S2"
+
+	gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+}
diff --git a/gnome-base/dconf-editor/dconf-editor-3.18.2.ebuild b/gnome-base/dconf-editor/dconf-editor-3.18.2.ebuild
index 0b7409350992..ff6e35028014 100644
--- a/gnome-base/dconf-editor/dconf-editor-3.18.2.ebuild
+++ b/gnome-base/dconf-editor/dconf-editor-3.18.2.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://git.gnome.org/browse/dconf-editor"
 LICENSE="LGPL-2.1+"
 SLOT="0"
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~arm-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~arm-linux ~x86-linux"
 
 COMMON_DEPEND="
 	>=dev-libs/glib-2.39.3:2
diff --git a/gnome-base/gconf/gconf-3.2.6-r4.ebuild b/gnome-base/gconf/gconf-3.2.6-r4.ebuild
index 0b099da44e36..dfda67bc06e3 100644
--- a/gnome-base/gconf/gconf-3.2.6-r4.ebuild
+++ b/gnome-base/gconf/gconf-3.2.6-r4.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://projects.gnome.org/gconf/"
 
 LICENSE="LGPL-2+"
 SLOT="2"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
 IUSE="debug +introspection ldap policykit"
 
 RDEPEND="
diff --git a/gnome-base/gnome-common/gnome-common-3.18.0.ebuild b/gnome-base/gnome-common/gnome-common-3.18.0.ebuild
index 8448d4be5780..63f26e8303cf 100644
--- a/gnome-base/gnome-common/gnome-common-3.18.0.ebuild
+++ b/gnome-base/gnome-common/gnome-common-3.18.0.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://git.gnome.org/browse/gnome-common"
 
 LICENSE="GPL-3"
 SLOT="3"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 IUSE="+autoconf-archive"
 
 RDEPEND="autoconf-archive? ( >=sys-devel/autoconf-archive-2015.02.04 )
diff --git a/gnome-base/gnome-keyring/gnome-keyring-3.18.3.ebuild b/gnome-base/gnome-keyring/gnome-keyring-3.18.3.ebuild
index 5ff5735e2f68..4d11f2dab8c7 100644
--- a/gnome-base/gnome-keyring/gnome-keyring-3.18.3.ebuild
+++ b/gnome-base/gnome-keyring/gnome-keyring-3.18.3.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/GnomeKeyring"
 LICENSE="GPL-2+ LGPL-2+"
 SLOT="0"
 IUSE="+caps pam selinux +ssh-agent test"
-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"
 
 # Replace gkd gpg-agent with pinentry[gnome-keyring] one, bug #547456
 COMMON_DEPEND="
diff --git a/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-3.18.1.ebuild b/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-3.18.1.ebuild
index e558d98dc8ed..27e1101c62e9 100644
--- a/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-3.18.1.ebuild
+++ b/gnome-base/gsettings-desktop-schemas/gsettings-desktop-schemas-3.18.1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://git.gnome.org/browse/gsettings-desktop-schemas"
 LICENSE="LGPL-2.1+"
 SLOT="0"
 IUSE="+introspection"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~sparc-solaris ~x86-solaris"
 
 RDEPEND="
 	>=dev-libs/glib-2.31:2
diff --git a/gnome-base/gvfs/gvfs-1.26.3.ebuild b/gnome-base/gvfs/gvfs-1.26.3.ebuild
index d2434372af88..6f424c50d6a2 100644
--- a/gnome-base/gvfs/gvfs-1.26.3.ebuild
+++ b/gnome-base/gvfs/gvfs-1.26.3.ebuild
@@ -22,7 +22,7 @@ REQUIRED_USE="
 	udisks? ( udev )
 	systemd? ( udisks )
 "
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~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 ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
 
 # Can use libgphoto-2.5.0 as well. Automagic detection.
 RDEPEND="
diff --git a/gnome-base/libgtop/libgtop-2.32.0.ebuild b/gnome-base/libgtop/libgtop-2.32.0.ebuild
index 6dc3a715b598..969113824353 100644
--- a/gnome-base/libgtop/libgtop-2.32.0.ebuild
+++ b/gnome-base/libgtop/libgtop-2.32.0.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://git.gnome.org/browse/libgtop"
 
 LICENSE="GPL-2"
 SLOT="2/10" # libgtop soname version
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd"
 IUSE="+introspection"
 
 RDEPEND=">=dev-libs/glib-2.26:2"
diff --git a/gnome-base/librsvg/librsvg-2.40.13.ebuild b/gnome-base/librsvg/librsvg-2.40.13.ebuild
index aeb79c776bc8..54d2a19f1fe8 100644
--- a/gnome-base/librsvg/librsvg-2.40.13.ebuild
+++ b/gnome-base/librsvg/librsvg-2.40.13.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/LibRsvg"
 
 LICENSE="LGPL-2"
 SLOT="2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 
 IUSE="+introspection vala tools"
 REQUIRED_USE="vala? ( introspection )"
diff --git a/gnome-extra/gucharmap/gucharmap-3.18.2.ebuild b/gnome-extra/gucharmap/gucharmap-3.18.2.ebuild
index 4d23700fe9eb..bc9bc3fc2d17 100644
--- a/gnome-extra/gucharmap/gucharmap-3.18.2.ebuild
+++ b/gnome-extra/gucharmap/gucharmap-3.18.2.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Gucharmap"
 
 LICENSE="GPL-3"
 SLOT="2.90"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd"
 
 IUSE="cjk +introspection test vala"
 REQUIRED_USE="vala? ( introspection )"
diff --git a/gnome-extra/libgsf/libgsf-1.14.36.ebuild b/gnome-extra/libgsf/libgsf-1.14.36.ebuild
index 8a8a10de4cca..bd8b7cbd7566 100644
--- a/gnome-extra/libgsf/libgsf-1.14.36.ebuild
+++ b/gnome-extra/libgsf/libgsf-1.14.36.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://developer.gnome.org/gsf/"
 
 LICENSE="GPL-2 LGPL-2.1"
 SLOT="0/114" # libgsf-1.so version
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 IUSE="bzip2 gtk +introspection"
 
 RDEPEND="
diff --git a/gnome-extra/yelp-xsl/yelp-xsl-3.18.1.ebuild b/gnome-extra/yelp-xsl/yelp-xsl-3.18.1.ebuild
index 5b188040e3cb..38ff730c2331 100644
--- a/gnome-extra/yelp-xsl/yelp-xsl-3.18.1.ebuild
+++ b/gnome-extra/yelp-xsl/yelp-xsl-3.18.1.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://git.gnome.org/browse/yelp-xsl"
 LICENSE="GPL-2+ LGPL-2.1+ MIT FDL-1.1+"
 SLOT="0"
 IUSE=""
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux"
 
 RDEPEND="
 	>=dev-libs/libxml2-2.6.12:=
diff --git a/media-fonts/cantarell/cantarell-0.0.24.ebuild b/media-fonts/cantarell/cantarell-0.0.24.ebuild
index fa372e3b6b56..48c974f5416e 100644
--- a/media-fonts/cantarell/cantarell-0.0.24.ebuild
+++ b/media-fonts/cantarell/cantarell-0.0.24.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/CantarellFonts"
 
 LICENSE="OFL-1.1"
 SLOT="0"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd"
 IUSE=""
 
 RDEPEND="media-libs/fontconfig"
diff --git a/media-gfx/qiviewer/metadata.xml b/media-gfx/qiviewer/metadata.xml
index b59ac94162bc..a712eb06f83c 100644
--- a/media-gfx/qiviewer/metadata.xml
+++ b/media-gfx/qiviewer/metadata.xml
@@ -5,10 +5,6 @@
 		pinkbyte@gentoo.org
 		Sergey Popov
 	
-	
-		qt@gentoo.org
-		Gentoo Qt Project
-	
 	
 		Build support for WEBP image format
 	
diff --git a/media-gfx/slic3r/slic3r-1.2.9-r1.ebuild b/media-gfx/slic3r/slic3r-1.2.9-r2.ebuild
similarity index 93%
rename from media-gfx/slic3r/slic3r-1.2.9-r1.ebuild
rename to media-gfx/slic3r/slic3r-1.2.9-r2.ebuild
index 244eb2e707ab..f0ce2dd93944 100644
--- a/media-gfx/slic3r/slic3r-1.2.9-r1.ebuild
+++ b/media-gfx/slic3r/slic3r-1.2.9-r2.ebuild
@@ -15,13 +15,10 @@ SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="+gui test"
 
-# Slic3r is a fragile application.
-# In order to produce reasonably good results we require
-# latest dependencies.
-RDEPEND=">=dev-lang/perl-5.22
+RDEPEND="!=dev-lang/perl-5.16*
 	>=dev-libs/boost-1.55[threads]
 	dev-perl/Class-XSAccessor
-	>=dev-perl/Encode-Locale-0.50.0
+	>=dev-perl/Encode-Locale-1.50.0
 	dev-perl/IO-stringy
 	>=dev-perl/Math-PlanePath-53.0.0
 	>=dev-perl/Moo-1.3.1
diff --git a/media-libs/cimg/metadata.xml b/media-libs/cimg/metadata.xml
index 754c841a790d..705ffd292794 100644
--- a/media-libs/cimg/metadata.xml
+++ b/media-libs/cimg/metadata.xml
@@ -1,10 +1,7 @@
 
 
 
-	
-		qt@gentoo.org
-		Gentoo Qt Project
-	
+	
 	
 		cimg
 		http://sourceforge.net/tracker/?group_id=96492
diff --git a/media-libs/gst-plugins-bad/gst-plugins-bad-1.6.3.ebuild b/media-libs/gst-plugins-bad/gst-plugins-bad-1.6.3.ebuild
index 628d60604506..a0836a4cd7e4 100644
--- a/media-libs/gst-plugins-bad/gst-plugins-bad-1.6.3.ebuild
+++ b/media-libs/gst-plugins-bad/gst-plugins-bad-1.6.3.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Less plugins for GStreamer"
 HOMEPAGE="https://gstreamer.freedesktop.org/"
 
 LICENSE="LGPL-2"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 
 IUSE="X egl gles2 gtk +introspection opengl +orc vcd vnc wayland"
 REQUIRED_USE="
diff --git a/media-libs/gst-plugins-base/gst-plugins-base-1.6.3.ebuild b/media-libs/gst-plugins-base/gst-plugins-base-1.6.3.ebuild
index 18b43539e2e8..3eeb50097238 100644
--- a/media-libs/gst-plugins-base/gst-plugins-base-1.6.3.ebuild
+++ b/media-libs/gst-plugins-base/gst-plugins-base-1.6.3.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Basepack of plugins for gstreamer"
 HOMEPAGE="https://gstreamer.freedesktop.org/"
 
 LICENSE="GPL-2+ LGPL-2+"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 IUSE="alsa +introspection ivorbis +ogg +orc +pango theora +vorbis X"
 REQUIRED_USE="
 	ivorbis? ( ogg )
diff --git a/media-libs/gst-plugins-good/gst-plugins-good-1.6.3.ebuild b/media-libs/gst-plugins-good/gst-plugins-good-1.6.3.ebuild
index c04e407b1a17..7687a985aa28 100644
--- a/media-libs/gst-plugins-good/gst-plugins-good-1.6.3.ebuild
+++ b/media-libs/gst-plugins-good/gst-plugins-good-1.6.3.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Basepack of plugins for GStreamer"
 HOMEPAGE="https://gstreamer.freedesktop.org/"
 
 LICENSE="LGPL-2.1+"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE="+orc"
 
 # dtmf plugin moved from bad to good in 1.2
diff --git a/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.6.3.ebuild b/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.6.3.ebuild
index c42dc6d207ba..0fb3b7539387 100644
--- a/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.6.3.ebuild
+++ b/media-libs/gst-plugins-ugly/gst-plugins-ugly-1.6.3.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="Basepack of plugins for gstreamer"
 HOMEPAGE="https://gstreamer.freedesktop.org/"
 
 LICENSE="GPL-2"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE="+orc"
 
 RDEPEND="
diff --git a/media-libs/gstreamer/gstreamer-1.6.3.ebuild b/media-libs/gstreamer/gstreamer-1.6.3.ebuild
index 56ac8be1de2e..3b778476c233 100644
--- a/media-libs/gstreamer/gstreamer-1.6.3.ebuild
+++ b/media-libs/gstreamer/gstreamer-1.6.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz"
 
 LICENSE="LGPL-2+"
 SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 IUSE="+caps +introspection nls +orc test"
 
 RDEPEND="
diff --git a/media-libs/harfbuzz/harfbuzz-1.1.3.ebuild b/media-libs/harfbuzz/harfbuzz-1.1.3.ebuild
index c6074bb1f61b..a4713f261833 100644
--- a/media-libs/harfbuzz/harfbuzz-1.1.3.ebuild
+++ b/media-libs/harfbuzz/harfbuzz-1.1.3.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz"
 LICENSE="Old-MIT ISC icu"
 SLOT="0/0.9.18" # 0.9.18 introduced the harfbuzz-icu split; bug #472416
 [[ ${PV} == 9999 ]] || \
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris"
 
 IUSE="+cairo fontconfig +glib +graphite icu +introspection static-libs test +truetype"
 REQUIRED_USE="introspection? ( glib )"
diff --git a/media-libs/liblastfm/liblastfm-1.0.9.ebuild b/media-libs/liblastfm/liblastfm-1.0.9.ebuild
index ee7c9cd118ce..5a775f5a811d 100644
--- a/media-libs/liblastfm/liblastfm-1.0.9.ebuild
+++ b/media-libs/liblastfm/liblastfm-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -64,7 +64,7 @@ src_configure() {
 			mycmakeargs+=(-DBUILD_WITH_QT4=ON)
 		fi
 		if [[ ${MULTIBUILD_VARIANT} = qt5 ]]; then
-			mycmakeargs+=(-DBUILD_WITH_OT4=OFF)
+			mycmakeargs+=(-DBUILD_WITH_QT4=OFF)
 		fi
 		cmake-utils_src_configure
 	}
diff --git a/media-libs/mutagen/Manifest b/media-libs/mutagen/Manifest
index fb1dbe04d68f..c7929ab08289 100644
--- a/media-libs/mutagen/Manifest
+++ b/media-libs/mutagen/Manifest
@@ -1,5 +1,3 @@
-DIST mutagen-1.22.tar.gz 813763 SHA256 ddf2907bcaf4827b044a3d70b2fb3c1b58954497d86133f16715fc6c407d494e SHA512 875d61fdb89de6e620dc397a23a83da2d8bdbf111cceb469a6089225c9d7aa91fe03c98258c522ae781e6bbc3d7b72aa66de571c7d99d72419a72697c9b389cc WHIRLPOOL ea3b771c11143194ac395ffe896d2be5410896e614293c14e2a8a9515c5316a8872da5d600a7fa72a710c2263f845dda6e7cd85a7478eeeaa25ec8179ba23c5f
 DIST mutagen-1.27.tar.gz 875720 SHA256 cc884fe1e20fe220be7ce7c3b269f4cadc69a8310150a3a41162fba1ca9c88bd SHA512 ae15fb3f5d77025a60e25a2ed25e23f7d21160d4e63c49fe7d01508440ff1f6b673cf34d8f4facc834824825ad6f4d3ed9830133db5aba339ac1eae46f7f50d5 WHIRLPOOL ecd44cc7fde15f87a2a31be84b428a49e97d67ce26c700382b4e2ba7cdb995223ea6dfda101dd7039d4c7ce23a2314d7e523b9849f19189a6ed7bcdb18bbd52e
-DIST mutagen-1.29.tar.gz 879767 SHA256 dbad61c8db882f849f25183448f21e440f5eceaf614dd8c2c5ae9392f33f599f SHA512 cd04bc79f1de1ad5ce0cd52e08d21918815d9d797370891431781fa99cb854eb98d20ed11a562afde71d4ea78c0468e831a3ed0eae67bbb30e629300753ff44e WHIRLPOOL bc9b539be281753c46bd363e3d88c429f5c254c3f8d276fa124db00098fd51831f64b585bf7f20a3a349cd27c532fa3ad3024f04f0f54ed40b23ab1eb64c2fa1
-DIST mutagen-1.30.tar.gz 890493 SHA256 cdbf40642a4423fed0a2408b32e589d79b5e40e4a7f6caf5023cc8f5ad7c624f SHA512 be04890e6121a3525f6574ec9c54d00f5388415dabfaee8c62330592e623b83e6de4910daf9efd6a75115ea323c3d72b70da8e2d5dc670ef4c19879ec5ceb026 WHIRLPOOL ab5fa9af475b2181ededa2c91c244fb8ef2eecc7d635537492a9f6cdd16a98746deef05a8354273b1c5e67aecb47cad232c0e7a2781f09f04491aeb176913906
 DIST mutagen-1.31.tar.gz 897785 SHA256 0aa011707785fe30935d8655380052a20ba8b972aa738d4f144c457b35b4d699 SHA512 d603afa049e2223dc1050ee26101add4150f8ca57fcee1bbbfd1233276b15fda5972d58e8472135396e54f2778219462619fbec8dddb97c35a7fb7638fec0c23 WHIRLPOOL afe4977ba2da8d8adbcf1b333105eab9f2c79b6a31eeed6199a33c4ac8c4f23b62e2b45a6322c4058d77c3c8ea5ac8581c18dc9ff29b0368aa07713c5694b8ef
+DIST mutagen-1.32.tar.gz 901717 SHA256 7721ded04caf36fc30661165ae311fed342f7503b048e9db3d52764108ed3ab5 SHA512 183c2b810645ed0749399e6863fac663ce61fbc766d9f08d9837f054d4ddb3cdafc94114dc8790739bb274fa252e76c5577f50bf13cf2e7e07677f76d740aa32 WHIRLPOOL d4ce064eec2fb4546b126a7b9ca6e003a06abd7d28ec9150387dc18455fcf36a98817e3dd6df152292a1839c4d0f2d327c7f5fab8b7df69948390aa20fc936d1
diff --git a/media-libs/mutagen/mutagen-1.22.ebuild b/media-libs/mutagen/mutagen-1.22.ebuild
deleted file mode 100644
index 61f12804c49b..000000000000
--- a/media-libs/mutagen/mutagen-1.22.ebuild
+++ /dev/null
@@ -1,43 +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
-
-DESCRIPTION="Audio metadata tag reader and writer implemented in pure Python"
-HOMEPAGE="https://code.google.com/p/mutagen https://pypi.python.org/pypi/mutagen"
-SRC_URI="https://bitbucket.org/lazka/${PN}/downloads/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 hppa ~ia64 ppc ppc64 sparc x86 ~x86-interix ~amd64-linux ~x86-linux"
-IUSE="doc test"
-
-DEPEND="
-	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
-"
-
-RESTRICT="test" # Missing support for >=dev-python/eyeD3-0.7 API
-
-python_compile_all() {
-	use doc && emake -C docs
-}
-
-src_test() {
-	# tests/test_flac.py uses temp files with a constant path.
-	# If we had multiple python implementations, we would hit a race.
-	distutils-r1_src_test
-}
-
-python_test() {
-	esetup.py test
-}
-
-python_install_all() {
-	local DOCS=( NEWS README TODO )
-	use doc && local HTML_DOCS=( docs/_build/. )
-	distutils-r1_python_install_all
-}
diff --git a/media-libs/mutagen/mutagen-1.29.ebuild b/media-libs/mutagen/mutagen-1.29.ebuild
deleted file mode 100644
index 2da63aff7120..000000000000
--- a/media-libs/mutagen/mutagen-1.29.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-PYTHON_COMPAT=( python{2_7,3_3,3_4} )
-
-inherit distutils-r1
-
-DESCRIPTION="Audio metadata tag reader and writer implemented in pure Python"
-HOMEPAGE="https://code.google.com/p/mutagen https://pypi.python.org/pypi/mutagen"
-SRC_URI="https://bitbucket.org/lazka/${PN}/downloads/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux"
-IUSE="doc test"
-
-# TODO: Missing support for >=dev-python/eyeD3-0.7 API
-# test? ( >=dev-python/eyeD3-0.7 )
-DEPEND="
-	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
-"
-
-python_compile_all() {
-	use doc && emake -C docs
-}
-
-src_test() {
-	# tests/test_flac.py uses temp files with a constant path.
-	# If we had multiple python implementations, we would hit a race.
-	distutils-r1_src_test
-}
-
-python_test() {
-	esetup.py test
-}
-
-python_install_all() {
-	local DOCS=( NEWS README.rst )
-	use doc && local HTML_DOCS=( docs/_build/. )
-	distutils-r1_python_install_all
-}
diff --git a/media-libs/mutagen/mutagen-1.30.ebuild b/media-libs/mutagen/mutagen-1.32.ebuild
similarity index 91%
rename from media-libs/mutagen/mutagen-1.30.ebuild
rename to media-libs/mutagen/mutagen-1.32.ebuild
index 621947a93e66..f3309a6cd851 100644
--- a/media-libs/mutagen/mutagen-1.30.ebuild
+++ b/media-libs/mutagen/mutagen-1.32.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} )
 
 inherit distutils-r1
 
diff --git a/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.6.3.ebuild b/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.6.3.ebuild
index bb6be19908b5..12f8b42f3e90 100644
--- a/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-a52dec/gst-plugins-a52dec-1.6.3.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
 
 inherit gstreamer
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE="+orc"
 
 RDEPEND="
diff --git a/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.6.3.ebuild b/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.6.3.ebuild
index b59e941f71bc..e3eda41113c6 100644
--- a/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-assrender/gst-plugins-assrender-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-bad
 inherit gstreamer
 
 DESCRIPTION="GStreamer plugin for ASS/SSA rendering with effects support"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
 IUSE=""
 
 RDEPEND=">=media-libs/libass-0.10.2[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.6.3.ebuild b/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.6.3.ebuild
index f5319761095c..0cc2a7b3e017 100644
--- a/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-cdparanoia/gst-plugins-cdparanoia-1.6.3.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-base
 
 inherit gstreamer
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86"
 IUSE=""
 
 RDEPEND=">=media-sound/cdparanoia-3.10.2-r6[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.6.3.ebuild b/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.6.3.ebuild
index 3e8dc0ef29c7..feb4b1828073 100644
--- a/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-dvb/gst-plugins-dvb-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-bad
 inherit gstreamer
 
 DESCRIPION="GStreamer plugin to allow capture from dvb devices"
-KEYWORDS="~alpha amd64 ~arm ~ppc ppc64 x86"
+KEYWORDS="~alpha amd64 arm ~ppc ppc64 x86"
 IUSE=""
 
 RDEPEND=""
diff --git a/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.6.3.ebuild b/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.6.3.ebuild
index 3af4dffd36c8..547f7a5eb248 100644
--- a/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-dvdread/gst-plugins-dvdread-1.6.3.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
 
 inherit gstreamer
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE=""
 
 RDEPEND=">=media-libs/libdvdread-4.2.0-r1[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-flac/gst-plugins-flac-1.6.3.ebuild b/media-plugins/gst-plugins-flac/gst-plugins-flac-1.6.3.ebuild
index 2170b36ffc4d..821d4c40c33a 100644
--- a/media-plugins/gst-plugins-flac/gst-plugins-flac-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-flac/gst-plugins-flac-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE="gst-plugins-good"
 inherit gstreamer
 
 DESCRIPTION="GStreamer encoder/decoder/tagger for FLAC"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE=""
 
 RDEPEND=">=media-libs/flac-1.2.1-r5[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.6.3.ebuild b/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.6.3.ebuild
index 9b2d914ace4e..a774176bac53 100644
--- a/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-gdkpixbuf/gst-plugins-gdkpixbuf-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPION="GdkPixbuf-based image decoder, overlay and sink"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE=""
 
 RDEPEND=">=x11-libs/gdk-pixbuf-2.30.7:2[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-jack/gst-plugins-jack-1.6.3.ebuild b/media-plugins/gst-plugins-jack/gst-plugins-jack-1.6.3.ebuild
index 488599686da4..d230336bcac4 100644
--- a/media-plugins/gst-plugins-jack/gst-plugins-jack-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-jack/gst-plugins-jack-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPION="GStreamer source/sink to transfer audio data with JACK ports"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
 IUSE=""
 
 RDEPEND=">=media-sound/jack-audio-connection-kit-0.121.3-r1[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.6.3.ebuild b/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.6.3.ebuild
index 3a83ace767f1..11594d6e4911 100644
--- a/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-jpeg/gst-plugins-jpeg-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer encoder/decoder for JPEG format"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86"
 IUSE=""
 
 RDEPEND=">=virtual/jpeg-0-r2:0[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.6.3.ebuild b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.6.3.ebuild
index 41ca34a130a7..048bf9c308e5 100644
--- a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.6.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${MY_PN}/${MY_PN}-${PV}.tar.xz"
 
 LICENSE="GPL-2"
 SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE="libav +orc"
 
 # XXX: bzip2/lzma are automagic
diff --git a/media-plugins/gst-plugins-mad/gst-plugins-mad-1.6.3.ebuild b/media-plugins/gst-plugins-mad/gst-plugins-mad-1.6.3.ebuild
index 6464bb1047b1..eed55a27d31d 100644
--- a/media-plugins/gst-plugins-mad/gst-plugins-mad-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-mad/gst-plugins-mad-1.6.3.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-ugly
 
 inherit gstreamer
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux"
 IUSE=""
 
 RDEPEND=">=media-libs/libmad-0.15.1b-r8[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-meta/gst-plugins-meta-1.6.3.ebuild b/media-plugins/gst-plugins-meta/gst-plugins-meta-1.6.3.ebuild
index ce5cb28cc499..c27173412445 100644
--- a/media-plugins/gst-plugins-meta/gst-plugins-meta-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-meta/gst-plugins-meta-1.6.3.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://www.gentoo.org"
 
 LICENSE="metapackage"
 SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
 IUSE="aac a52 alsa cdda dts dv dvb dvd ffmpeg flac http jack lame libass libvisual mms mp3 modplug mpeg ogg opus oss pulseaudio taglib theora v4l vaapi vcd vorbis vpx wavpack X x264"
 REQUIRED_USE="opus? ( ogg ) theora? ( ogg ) vorbis? ( ogg )"
 
diff --git a/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.6.3.ebuild b/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.6.3.ebuild
index f798ad1ac910..b8340b1eefc2 100644
--- a/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-mpeg2dec/gst-plugins-mpeg2dec-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-ugly
 inherit gstreamer
 
 DESCRIPTION="Libmpeg2 based decoder plug-in for gstreamer"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
 IUSE=""
 
 RDEPEND=">=media-libs/libmpeg2-0.5.1-r2[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-opus/gst-plugins-opus-1.6.3.ebuild b/media-plugins/gst-plugins-opus/gst-plugins-opus-1.6.3.ebuild
index 047a278f27f0..131168431670 100644
--- a/media-plugins/gst-plugins-opus/gst-plugins-opus-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-opus/gst-plugins-opus-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-bad
 inherit gstreamer
 
 DESCRIPTION="GStreamer plugin for Opus audio codec support"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
 IUSE=""
 
 COMMON_DEPEND=">=media-libs/opus-1.0.2-r2:=[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-oss/gst-plugins-oss-1.6.3.ebuild b/media-plugins/gst-plugins-oss/gst-plugins-oss-1.6.3.ebuild
index 163f2438d7a0..e7ac8e03e080 100644
--- a/media-plugins/gst-plugins-oss/gst-plugins-oss-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-oss/gst-plugins-oss-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer plugin for OSS (Open Sound System) support"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd"
 IUSE=""
 
 RDEPEND=""
diff --git a/media-plugins/gst-plugins-pulse/gst-plugins-pulse-0.10.31-r2.ebuild b/media-plugins/gst-plugins-pulse/gst-plugins-pulse-0.10.31-r2.ebuild
index 5619753e50ba..12a283341db1 100644
--- a/media-plugins/gst-plugins-pulse/gst-plugins-pulse-0.10.31-r2.ebuild
+++ b/media-plugins/gst-plugins-pulse/gst-plugins-pulse-0.10.31-r2.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer plugin for the PulseAudio sound server"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86"
 IUSE=""
 
 RDEPEND="
diff --git a/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.6.3.ebuild b/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.6.3.ebuild
index 3050573d3754..6fb15f945411 100644
--- a/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-pulse/gst-plugins-pulse-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer plugin for the PulseAudio sound server"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86"
 IUSE=""
 
 RDEPEND=">=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.6.3.ebuild b/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.6.3.ebuild
index b45bb33d0a75..26484bc3954e 100644
--- a/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-resindvd/gst-plugins-resindvd-1.6.3.ebuild
@@ -7,7 +7,7 @@ GST_ORG_MODULE=gst-plugins-bad
 
 inherit gstreamer
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
 IUSE=""
 
 RDEPEND="
diff --git a/media-plugins/gst-plugins-soup/gst-plugins-soup-0.10.31-r2.ebuild b/media-plugins/gst-plugins-soup/gst-plugins-soup-0.10.31-r2.ebuild
index 454dab357c43..c77bc1b8a910 100644
--- a/media-plugins/gst-plugins-soup/gst-plugins-soup-0.10.31-r2.ebuild
+++ b/media-plugins/gst-plugins-soup/gst-plugins-soup-0.10.31-r2.ebuild
@@ -9,7 +9,7 @@ inherit autotools eutils gstreamer
 
 DESCRIPTION="GStreamer plugin for HTTP client sources"
 
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
 IUSE=""
 
 RDEPEND=">=net-libs/libsoup-2.44.2[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-soup/gst-plugins-soup-1.6.3.ebuild b/media-plugins/gst-plugins-soup/gst-plugins-soup-1.6.3.ebuild
index d94e27c4ca62..c72ac2c427b4 100644
--- a/media-plugins/gst-plugins-soup/gst-plugins-soup-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-soup/gst-plugins-soup-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer plugin for HTTP client source/sink"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
 IUSE=""
 
 # Depend on >=net-libs/libsoup-2.47.0 once it is stable (see LIBSOUP_DOES_NOT_STEAL_OUR_CONTEXT in ext/soup)
diff --git a/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.6.3.ebuild b/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.6.3.ebuild
index b608707c5722..4e9998960ced 100644
--- a/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-taglib/gst-plugins-taglib-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer taglib based tag handler"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE=""
 
 RDEPEND=">=media-libs/taglib-1.9.1[${MULTILIB_USEDEP}]"
diff --git a/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.6.3.ebuild b/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.6.3.ebuild
index 2730a888c6ee..2c1c78e793f9 100644
--- a/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-v4l2/gst-plugins-v4l2-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPION="plugin to allow capture from video4linux2 devices"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86"
 IUSE="udev"
 
 RDEPEND="
diff --git a/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.6.3.ebuild b/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.6.3.ebuild
index c217062b2c2e..ba5e0ea4a490 100644
--- a/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.6.3.ebuild
+++ b/media-plugins/gst-plugins-vpx/gst-plugins-vpx-1.6.3.ebuild
@@ -8,7 +8,7 @@ GST_ORG_MODULE=gst-plugins-good
 inherit gstreamer
 
 DESCRIPTION="GStreamer decoder for vpx video format"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd"
 IUSE=""
 
 # VP9 is under experimental, do not enable it now
diff --git a/media-sound/clementine/Manifest b/media-sound/clementine/Manifest
index 3839234ce928..c30a99ae890a 100644
--- a/media-sound/clementine/Manifest
+++ b/media-sound/clementine/Manifest
@@ -1,3 +1,2 @@
 DIST clementine-1.2.3.tar.gz 9076977 SHA256 7df5650445a005c09f5f0e1a1b0d077037c37ecbe4ee77baf9d45f121308a1bf SHA512 fd43a7dcfec360d4478a56d0600300b6913b294f127afb0249971b45b54b48475d128861e06885c482bbdd37b09aa56b1c238675763fdb8c50329005b066bec3 WHIRLPOOL 23d0fb971118b0d73ec4a52cfa3f8829118ab65c12fb01ce30433541f5da081b52c5dd485aa0efdda2b4b57b286f59702aa686f9b7ce17a0a2595b208b95d524
 DIST clementine-1.3.1.tar.gz 8501827 SHA256 f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c SHA512 1942a046be24a583b5e2095dd39dc736c1b14a47dc4aad61d6252c1fccf745c26d7b35da907a220d5dc8c0736f5b589d050ed9582de343aa3cb5abc607001790 WHIRLPOOL 20a57177dc740865f35c407b981e146d9ddec6aff39e662a27dfe0e238f3baa87b331cc6dc50eebf848279c8860fb74454b4997924e2d4d93357a870364af1a7
-DIST clementine-1.3.tar.gz 8500723 SHA256 55e8d283ed02e3f2376a88b012cd2003e00fef95a98b6a919d67cb57e96b8617 SHA512 eccebb8a4d7e4abf39af7b75f40d38d184650932d2c40859cdfb3cfda24d2a35fea8518b03d9fb24f21c4dae6f11baffe2b00fe6989ec14fed99a4ccbb85ca54 WHIRLPOOL cbd6922fa586cce6be29ef0fd6151d6d89ce95aa6e237cf2716e7493ba6be2026d11a44012dc84be2e033c606c79c3e9e0338cbbd5927d7f16f358718c016895
diff --git a/media-sound/clementine/clementine-1.3.1.ebuild b/media-sound/clementine/clementine-1.3.1.ebuild
index 2e126575406b..d3af6df61d02 100644
--- a/media-sound/clementine/clementine-1.3.1.ebuild
+++ b/media-sound/clementine/clementine-1.3.1.ebuild
@@ -9,7 +9,7 @@ EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
 LANGS=" af ar be bg bn br bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl he he_IL hi hr hu hy ia id is it ja ka kk ko lt lv mr ms my nb nl oc pa pl pt pt_BR ro ru si_LK sk sl sr sr@latin sv te tr tr_TR uk uz vi zh_CN zh_TW"
 
 inherit cmake-utils flag-o-matic fdo-mime gnome2-utils virtualx
-[[ ${PV} == *9999* ]] && inherit git-2
+[[ ${PV} == *9999* ]] && inherit git-r3
 
 DESCRIPTION="A modern music player and library organizer based on Amarok 1.4 and Qt4"
 HOMEPAGE="http://www.clementine-player.org https://github.com/clementine-player/Clementine"
@@ -20,7 +20,7 @@ LICENSE="GPL-3"
 SLOT="0"
 [[ ${PV} == *9999* ]] || \
 KEYWORDS="~amd64 ~x86"
-IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote"
+IUSE="amazoncloud box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio skydrive test +udisks vkontakte wiimote"
 IUSE+="${LANGS// / linguas_}"
 
 REQUIRED_USE="
@@ -28,7 +28,6 @@ REQUIRED_USE="
 	wiimote? ( dbus )
 "
 
-# qca dep is temporary for bug #489850
 COMMON_DEPEND="
 	dev-db/sqlite:=
 	>=dev-libs/glib-2.24.1-r1
@@ -38,7 +37,7 @@ COMMON_DEPEND="
 	>=dev-qt/qtcore-4.5:4
 	>=dev-qt/qtgui-4.5:4
 	>=dev-qt/qtopengl-4.5:4
-	>=dev-qt/qtsql-4.5:4[sqlite]
+	>=dev-qt/qtsql-4.5:4
 	>=media-libs/chromaprint-0.6
 	media-libs/gstreamer:1.0
 	media-libs/gst-plugins-base:1.0
@@ -46,6 +45,7 @@ COMMON_DEPEND="
 	>=media-libs/libmygpo-qt-1.0.8
 	>=media-libs/taglib-1.8[mp4]
 	sys-libs/zlib
+	dev-libs/crypto++
 	virtual/glu
 	virtual/opengl
 	x11-libs/libX11
@@ -55,16 +55,19 @@ COMMON_DEPEND="
 	lastfm? ( >=media-libs/liblastfm-1[qt4(+)] )
 	mtp? ( >=media-libs/libmtp-1.0.0 )
 	moodbar? ( sci-libs/fftw:3.0 )
-	projectm? ( media-libs/glew:= )
+	projectm? ( media-libs/glew:=
+			>=media-libs/libprojectm-1.2.0 )
 "
-# now only presets are used, libprojectm is internal
+# Note: sqlite driver of dev-qt/qtsql is bundled, so no sqlite use is required; check if this can be overcome someway;
+# Libprojectm-1.2 seams to work fine, so no reasons to use bundled version; check the clementine's patches:
 # https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
-# r1966 "Compile with a static sqlite by default, since Qt 4.7 doesn't seem to expose the symbols we need to use FTS"
+# Still possibly essential but not applied yet patches are:
+# 06-fix-numeric-locale.patch
+# 08-stdlib.h-for-rand.patch
 RDEPEND="${COMMON_DEPEND}
 	dbus? ( udisks? ( sys-fs/udisks:2 ) )
 	mms? ( media-plugins/gst-plugins-libmms:1.0 )
 	mtp? ( gnome-base/gvfs )
-	projectm? ( >=media-libs/libprojectm-1.2.0 )
 	media-plugins/gst-plugins-meta:1.0
 	media-plugins/gst-plugins-soup:1.0
 	media-plugins/gst-plugins-taglib:1.0
@@ -75,26 +78,22 @@ DEPEND="${COMMON_DEPEND}
 	sys-devel/gettext
 	dev-qt/qttest:4
 	dev-cpp/gmock
+	amazoncloud? ( dev-cpp/sparsehash )
 	box? ( dev-cpp/sparsehash )
 	dropbox? ( dev-cpp/sparsehash )
 	googledrive? ( dev-cpp/sparsehash )
+	pulseaudio? ( media-sound/pulseaudio )
 	skydrive? ( dev-cpp/sparsehash )
-	ubuntu-one? ( dev-cpp/sparsehash )
 	test? ( gnome-base/gsettings-desktop-schemas )
 "
-DOCS="Changelog"
-
-# https://github.com/clementine-player/Clementine/issues/3935
-RESTRICT="test"
+DOCS=( Changelog README.md )
 
 MY_P="${P/_}"
-# Switch to ^ when we switch to EAPI=6.
 [[ ${PV} == *9999* ]] || \
-S="${WORKDIR}/C${MY_P:1}"
+S="${WORKDIR}/${MY_P^}"
 
 PATCHES=(
-	"${FILESDIR}/${PN}-1.3_rc1-cmake.patch"
-	"${FILESDIR}/${PN}-1.3-fix-tokenizer.patch"
+	"${FILESDIR}"/${PN}-1.3-fix-tokenizer.patch
 )
 
 src_prepare() {
@@ -116,8 +115,7 @@ src_configure() {
 	local mycmakeargs=(
 		-DBUILD_WERROR=OFF
 		-DLINGUAS="${langs}"
-		-DBUNDLE_PROJECTM_PRESETS=OFF
-		-DUSE_SYSTEM_PROJECTM=ON
+		-DENABLE_AMAZON_CLOUD_DRIVE="$(usex amazoncloud)"
 		-DENABLE_AUDIOCD="$(usex cdda)"
 		-DENABLE_DBUS="$(usex dbus)"
 		-DENABLE_DEVICEKIT="$(usex udisks)"
@@ -128,16 +126,21 @@ src_configure() {
 		-DENABLE_GIO=ON
 		-DENABLE_WIIMOTEDEV="$(usex wiimote)"
 		-DENABLE_VISUALISATIONS="$(usex projectm)"
-		$(usex projectm '-DUSE_SYSTEM_PROJECTM=ON' '')
 		-DENABLE_BOX="$(usex box)"
 		-DENABLE_DROPBOX="$(usex dropbox)"
 		-DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
+		-DENABLE_LIBPULSE="$(usex pulseaudio)"
 		-DENABLE_SKYDRIVE="$(usex skydrive)"
-		-DENABLE_UBUNTU_ONE="$(usex ubuntu-one)"
+		-DENABLE_VK="$(usex vkontakte)"
 		-DENABLE_SPOTIFY_BLOB=OFF
-		-DENABLE_BREAKPAD=OFF
+		-DENABLE_BREAKPAD=OFF  #< disable crash reporting
 		-DUSE_BUILTIN_TAGLIB=OFF
 		-DUSE_SYSTEM_GMOCK=ON
+		-DUSE_SYSTEM_PROJECTM=ON
+		-DBUNDLE_PROJECTM_PRESETS=OFF
+		# force to find crypto++ see bug #548544
+		-DCRYPTOPP_LIBRARIES="crypto++"
+		-DCRYPTOPP_FOUND=ON
 		)
 
 	use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
diff --git a/media-sound/clementine/clementine-1.3.ebuild b/media-sound/clementine/clementine-1.3.ebuild
deleted file mode 100644
index 2e126575406b..000000000000
--- a/media-sound/clementine/clementine-1.3.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
-
-LANGS=" af ar be bg bn br bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl he he_IL hi hr hu hy ia id is it ja ka kk ko lt lv mr ms my nb nl oc pa pl pt pt_BR ro ru si_LK sk sl sr sr@latin sv te tr tr_TR uk uz vi zh_CN zh_TW"
-
-inherit cmake-utils flag-o-matic fdo-mime gnome2-utils virtualx
-[[ ${PV} == *9999* ]] && inherit git-2
-
-DESCRIPTION="A modern music player and library organizer based on Amarok 1.4 and Qt4"
-HOMEPAGE="http://www.clementine-player.org https://github.com/clementine-player/Clementine"
-[[ ${PV} == *9999* ]] || \
-SRC_URI="https://github.com/clementine-player/Clementine/archive/${PV/_}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-[[ ${PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~x86"
-IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote"
-IUSE+="${LANGS// / linguas_}"
-
-REQUIRED_USE="
-	udisks? ( dbus )
-	wiimote? ( dbus )
-"
-
-# qca dep is temporary for bug #489850
-COMMON_DEPEND="
-	dev-db/sqlite:=
-	>=dev-libs/glib-2.24.1-r1
-	dev-libs/libxml2
-	dev-libs/protobuf:=
-	dev-libs/qjson
-	>=dev-qt/qtcore-4.5:4
-	>=dev-qt/qtgui-4.5:4
-	>=dev-qt/qtopengl-4.5:4
-	>=dev-qt/qtsql-4.5:4[sqlite]
-	>=media-libs/chromaprint-0.6
-	media-libs/gstreamer:1.0
-	media-libs/gst-plugins-base:1.0
-	media-libs/libechonest:=[qt4]
-	>=media-libs/libmygpo-qt-1.0.8
-	>=media-libs/taglib-1.8[mp4]
-	sys-libs/zlib
-	virtual/glu
-	virtual/opengl
-	x11-libs/libX11
-	cdda? ( dev-libs/libcdio )
-	dbus? ( >=dev-qt/qtdbus-4.5:4 )
-	ipod? ( >=media-libs/libgpod-0.8.0 )
-	lastfm? ( >=media-libs/liblastfm-1[qt4(+)] )
-	mtp? ( >=media-libs/libmtp-1.0.0 )
-	moodbar? ( sci-libs/fftw:3.0 )
-	projectm? ( media-libs/glew:= )
-"
-# now only presets are used, libprojectm is internal
-# https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
-# r1966 "Compile with a static sqlite by default, since Qt 4.7 doesn't seem to expose the symbols we need to use FTS"
-RDEPEND="${COMMON_DEPEND}
-	dbus? ( udisks? ( sys-fs/udisks:2 ) )
-	mms? ( media-plugins/gst-plugins-libmms:1.0 )
-	mtp? ( gnome-base/gvfs )
-	projectm? ( >=media-libs/libprojectm-1.2.0 )
-	media-plugins/gst-plugins-meta:1.0
-	media-plugins/gst-plugins-soup:1.0
-	media-plugins/gst-plugins-taglib:1.0
-"
-DEPEND="${COMMON_DEPEND}
-	>=dev-libs/boost-1.39
-	virtual/pkgconfig
-	sys-devel/gettext
-	dev-qt/qttest:4
-	dev-cpp/gmock
-	box? ( dev-cpp/sparsehash )
-	dropbox? ( dev-cpp/sparsehash )
-	googledrive? ( dev-cpp/sparsehash )
-	skydrive? ( dev-cpp/sparsehash )
-	ubuntu-one? ( dev-cpp/sparsehash )
-	test? ( gnome-base/gsettings-desktop-schemas )
-"
-DOCS="Changelog"
-
-# https://github.com/clementine-player/Clementine/issues/3935
-RESTRICT="test"
-
-MY_P="${P/_}"
-# Switch to ^ when we switch to EAPI=6.
-[[ ${PV} == *9999* ]] || \
-S="${WORKDIR}/C${MY_P:1}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-1.3_rc1-cmake.patch"
-	"${FILESDIR}/${PN}-1.3-fix-tokenizer.patch"
-)
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	# some tests fail or hang
-	sed -i \
-		-e '/add_test_file(translations_test.cpp/d' \
-		tests/CMakeLists.txt || die
-}
-
-src_configure() {
-	local langs x
-	for x in ${LANGS}; do
-		use linguas_${x} && langs+=" ${x}"
-	done
-
-	# spotify is not in portage
-	local mycmakeargs=(
-		-DBUILD_WERROR=OFF
-		-DLINGUAS="${langs}"
-		-DBUNDLE_PROJECTM_PRESETS=OFF
-		-DUSE_SYSTEM_PROJECTM=ON
-		-DENABLE_AUDIOCD="$(usex cdda)"
-		-DENABLE_DBUS="$(usex dbus)"
-		-DENABLE_DEVICEKIT="$(usex udisks)"
-		-DENABLE_LIBGPOD="$(usex ipod)"
-		-DENABLE_LIBLASTFM="$(usex lastfm)"
-		-DENABLE_LIBMTP="$(usex mtp)"
-		-DENABLE_MOODBAR="$(usex moodbar)"
-		-DENABLE_GIO=ON
-		-DENABLE_WIIMOTEDEV="$(usex wiimote)"
-		-DENABLE_VISUALISATIONS="$(usex projectm)"
-		$(usex projectm '-DUSE_SYSTEM_PROJECTM=ON' '')
-		-DENABLE_BOX="$(usex box)"
-		-DENABLE_DROPBOX="$(usex dropbox)"
-		-DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
-		-DENABLE_SKYDRIVE="$(usex skydrive)"
-		-DENABLE_UBUNTU_ONE="$(usex ubuntu-one)"
-		-DENABLE_SPOTIFY_BLOB=OFF
-		-DENABLE_BREAKPAD=OFF
-		-DUSE_BUILTIN_TAGLIB=OFF
-		-DUSE_SYSTEM_GMOCK=ON
-		)
-
-	use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
-
-	cmake-utils_src_configure
-}
-
-src_test() {
-	cd "${CMAKE_BUILD_DIR}" || die
-	virtx emake test
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
diff --git a/media-sound/clementine/clementine-9999.ebuild b/media-sound/clementine/clementine-9999.ebuild
index bfac234d663d..d3af6df61d02 100644
--- a/media-sound/clementine/clementine-9999.ebuild
+++ b/media-sound/clementine/clementine-9999.ebuild
@@ -2,14 +2,14 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
 EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
 
 LANGS=" af ar be bg bn br bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl he he_IL hi hr hu hy ia id is it ja ka kk ko lt lv mr ms my nb nl oc pa pl pt pt_BR ro ru si_LK sk sl sr sr@latin sv te tr tr_TR uk uz vi zh_CN zh_TW"
 
 inherit cmake-utils flag-o-matic fdo-mime gnome2-utils virtualx
-[[ ${PV} == *9999* ]] && inherit git-2
+[[ ${PV} == *9999* ]] && inherit git-r3
 
 DESCRIPTION="A modern music player and library organizer based on Amarok 1.4 and Qt4"
 HOMEPAGE="http://www.clementine-player.org https://github.com/clementine-player/Clementine"
@@ -20,7 +20,7 @@ LICENSE="GPL-3"
 SLOT="0"
 [[ ${PV} == *9999* ]] || \
 KEYWORDS="~amd64 ~x86"
-IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote"
+IUSE="amazoncloud box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio skydrive test +udisks vkontakte wiimote"
 IUSE+="${LANGS// / linguas_}"
 
 REQUIRED_USE="
@@ -28,7 +28,6 @@ REQUIRED_USE="
 	wiimote? ( dbus )
 "
 
-# qca dep is temporary for bug #489850
 COMMON_DEPEND="
 	dev-db/sqlite:=
 	>=dev-libs/glib-2.24.1-r1
@@ -38,7 +37,7 @@ COMMON_DEPEND="
 	>=dev-qt/qtcore-4.5:4
 	>=dev-qt/qtgui-4.5:4
 	>=dev-qt/qtopengl-4.5:4
-	>=dev-qt/qtsql-4.5:4[sqlite]
+	>=dev-qt/qtsql-4.5:4
 	>=media-libs/chromaprint-0.6
 	media-libs/gstreamer:1.0
 	media-libs/gst-plugins-base:1.0
@@ -46,6 +45,7 @@ COMMON_DEPEND="
 	>=media-libs/libmygpo-qt-1.0.8
 	>=media-libs/taglib-1.8[mp4]
 	sys-libs/zlib
+	dev-libs/crypto++
 	virtual/glu
 	virtual/opengl
 	x11-libs/libX11
@@ -55,17 +55,19 @@ COMMON_DEPEND="
 	lastfm? ( >=media-libs/liblastfm-1[qt4(+)] )
 	mtp? ( >=media-libs/libmtp-1.0.0 )
 	moodbar? ( sci-libs/fftw:3.0 )
-	projectm? ( media-libs/glew:= )
-	>=dev-libs/crypto++-5.6.2-r4
+	projectm? ( media-libs/glew:=
+			>=media-libs/libprojectm-1.2.0 )
 "
-# now only presets are used, libprojectm is internal
+# Note: sqlite driver of dev-qt/qtsql is bundled, so no sqlite use is required; check if this can be overcome someway;
+# Libprojectm-1.2 seams to work fine, so no reasons to use bundled version; check the clementine's patches:
 # https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
-# r1966 "Compile with a static sqlite by default, since Qt 4.7 doesn't seem to expose the symbols we need to use FTS"
+# Still possibly essential but not applied yet patches are:
+# 06-fix-numeric-locale.patch
+# 08-stdlib.h-for-rand.patch
 RDEPEND="${COMMON_DEPEND}
 	dbus? ( udisks? ( sys-fs/udisks:2 ) )
 	mms? ( media-plugins/gst-plugins-libmms:1.0 )
 	mtp? ( gnome-base/gvfs )
-	projectm? ( >=media-libs/libprojectm-1.2.0 )
 	media-plugins/gst-plugins-meta:1.0
 	media-plugins/gst-plugins-soup:1.0
 	media-plugins/gst-plugins-taglib:1.0
@@ -76,24 +78,23 @@ DEPEND="${COMMON_DEPEND}
 	sys-devel/gettext
 	dev-qt/qttest:4
 	dev-cpp/gmock
+	amazoncloud? ( dev-cpp/sparsehash )
 	box? ( dev-cpp/sparsehash )
 	dropbox? ( dev-cpp/sparsehash )
 	googledrive? ( dev-cpp/sparsehash )
+	pulseaudio? ( media-sound/pulseaudio )
 	skydrive? ( dev-cpp/sparsehash )
-	ubuntu-one? ( dev-cpp/sparsehash )
 	test? ( gnome-base/gsettings-desktop-schemas )
 "
-DOCS="Changelog"
-
-# https://github.com/clementine-player/Clementine/issues/3935
-RESTRICT="test"
+DOCS=( Changelog README.md )
 
 MY_P="${P/_}"
-# Switch to ^ when we switch to EAPI=6.
 [[ ${PV} == *9999* ]] || \
-S="${WORKDIR}/C${MY_P:1}"
+S="${WORKDIR}/${MY_P^}"
 
-PATCHES=( "${FILESDIR}"/${PN}-1.3-fix-tokenizer.patch )
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.3-fix-tokenizer.patch
+)
 
 src_prepare() {
 	cmake-utils_src_prepare
@@ -114,31 +115,32 @@ src_configure() {
 	local mycmakeargs=(
 		-DBUILD_WERROR=OFF
 		-DLINGUAS="${langs}"
-		-DBUNDLE_PROJECTM_PRESETS=OFF
-		-DUSE_SYSTEM_PROJECTM=ON
-		$(cmake-utils_use cdda ENABLE_AUDIOCD)
-		$(cmake-utils_use dbus ENABLE_DBUS)
-		$(cmake-utils_use udisks ENABLE_DEVICEKIT)
-		$(cmake-utils_use ipod ENABLE_LIBGPOD)
-		$(cmake-utils_use lastfm ENABLE_LIBLASTFM)
-		$(cmake-utils_use mtp ENABLE_LIBMTP)
-		$(cmake-utils_use moodbar ENABLE_MOODBAR)
+		-DENABLE_AMAZON_CLOUD_DRIVE="$(usex amazoncloud)"
+		-DENABLE_AUDIOCD="$(usex cdda)"
+		-DENABLE_DBUS="$(usex dbus)"
+		-DENABLE_DEVICEKIT="$(usex udisks)"
+		-DENABLE_LIBGPOD="$(usex ipod)"
+		-DENABLE_LIBLASTFM="$(usex lastfm)"
+		-DENABLE_LIBMTP="$(usex mtp)"
+		-DENABLE_MOODBAR="$(usex moodbar)"
 		-DENABLE_GIO=ON
-		$(cmake-utils_use wiimote ENABLE_WIIMOTEDEV)
-		$(cmake-utils_use projectm ENABLE_VISUALISATIONS)
-		$(usex projectm '-DUSE_SYSTEM_PROJECTM=ON' '')
-		$(cmake-utils_use box ENABLE_BOX)
-		$(cmake-utils_use dropbox ENABLE_DROPBOX)
-		$(cmake-utils_use googledrive ENABLE_GOOGLE_DRIVE)
-		$(cmake-utils_use skydrive ENABLE_SKYDRIVE)
-		$(cmake-utils_use ubuntu-one ENABLE_UBUNTU_ONE)
+		-DENABLE_WIIMOTEDEV="$(usex wiimote)"
+		-DENABLE_VISUALISATIONS="$(usex projectm)"
+		-DENABLE_BOX="$(usex box)"
+		-DENABLE_DROPBOX="$(usex dropbox)"
+		-DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
+		-DENABLE_LIBPULSE="$(usex pulseaudio)"
+		-DENABLE_SKYDRIVE="$(usex skydrive)"
+		-DENABLE_VK="$(usex vkontakte)"
 		-DENABLE_SPOTIFY_BLOB=OFF
-		-DENABLE_BREAKPAD=OFF
-		#$(cmake-utils_use !system-sqlite STATIC_SQLITE)
-		#$(cmake-utils_use system-sqlite I_HATE_MY_USERS)
-		#$(cmake-utils_use system-sqlite MY_USERS_WILL_SUFFER_BECAUSE_OF_ME)
+		-DENABLE_BREAKPAD=OFF  #< disable crash reporting
 		-DUSE_BUILTIN_TAGLIB=OFF
 		-DUSE_SYSTEM_GMOCK=ON
+		-DUSE_SYSTEM_PROJECTM=ON
+		-DBUNDLE_PROJECTM_PRESETS=OFF
+		# force to find crypto++ see bug #548544
+		-DCRYPTOPP_LIBRARIES="crypto++"
+		-DCRYPTOPP_FOUND=ON
 		)
 
 	use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
@@ -148,7 +150,7 @@ src_configure() {
 
 src_test() {
 	cd "${CMAKE_BUILD_DIR}" || die
-	Xemake test
+	virtx emake test
 }
 
 pkg_preinst() {
diff --git a/media-sound/clementine/files/clementine-1.3_rc1-cmake.patch b/media-sound/clementine/files/clementine-1.3_rc1-cmake.patch
deleted file mode 100644
index 22a922b86136..000000000000
--- a/media-sound/clementine/files/clementine-1.3_rc1-cmake.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- Clementine-1.3rc1/CMakeLists.txt
-+++ Clementine-1.3rc1/CMakeLists.txt
-@@ -60,7 +60,7 @@
- 
- pkg_check_modules(CDIO libcdio)
- pkg_check_modules(CHROMAPRINT REQUIRED libchromaprint)
--pkg_search_module(CRYPTOPP cryptopp libcrypto++)
-+#pkg_search_module(CRYPTOPP cryptopp libcrypto++)
- pkg_check_modules(GIO gio-2.0)
- pkg_check_modules(GLIB REQUIRED glib-2.0)
- pkg_check_modules(GOBJECT REQUIRED gobject-2.0)
-@@ -275,13 +275,14 @@
- 
- optional_component(VISUALISATIONS ON "Visualisations")
- 
--if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND)
--  message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify "
--          "code must be compiled in")
--elseif(CRYPTOPP_FOUND)
-+#if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND)
-+#  message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify "
-+#          "code must be compiled in")
-+#elseif(CRYPTOPP_FOUND)
-   set(HAVE_CRYPTOPP ON)
--  set(HAVE_SPOTIFY_DOWNLOADER ON)
--endif()
-+  set(HAVE_SPOTIFY_DOWNLOADER OFF)
-+  set(HAVE_SPOTIFY_BLOB OFF)
-+#endif()
- 
- # Find DBus if it's enabled
- if (HAVE_DBUS)
diff --git a/media-sound/clementine/metadata.xml b/media-sound/clementine/metadata.xml
index eda2d2760385..64bd4a153f6a 100644
--- a/media-sound/clementine/metadata.xml
+++ b/media-sound/clementine/metadata.xml
@@ -14,7 +14,8 @@
 		Gentoo Sound project
 	
 	
-		Enable Box support
+		Enable Amazon cloud drive support
+		Enable filesharing via Box.com
 		Enable Dropbox support
 		Enable Google Drive support
 		Use liblastfm for fetching song info, scrobbling and radio streams
@@ -23,6 +24,7 @@
 		Enable Skydrive support
 		Use the system-wide dev-db/sqlite installation
 		Enable Ubuntu One support
+		Enable vk.com support
 		Enable support for Wii remote
 	
 	
diff --git a/media-sound/coquillo/metadata.xml b/media-sound/coquillo/metadata.xml
index 27ed34b21c11..39626a990be5 100644
--- a/media-sound/coquillo/metadata.xml
+++ b/media-sound/coquillo/metadata.xml
@@ -5,8 +5,4 @@
     sound@gentoo.org
     Gentoo Sound project
   
-
-    qt@gentoo.org
-    Gentoo Qt Project
-  
 
diff --git a/media-sound/pulseaudio/pulseaudio-8.0.ebuild b/media-sound/pulseaudio/pulseaudio-8.0.ebuild
index 74d2bc97078c..b9410233d489 100644
--- a/media-sound/pulseaudio/pulseaudio-8.0.ebuild
+++ b/media-sound/pulseaudio/pulseaudio-8.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz"
 LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )"
 
 SLOT="0"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
 
 # +alsa-plugin as discussed in bug #519530
 IUSE="+alsa +alsa-plugin +asyncns bluetooth +caps dbus doc equalizer +gdbm +glib
diff --git a/media-sound/qpitch/metadata.xml b/media-sound/qpitch/metadata.xml
index 483aa2a5a70b..ee7258ac28eb 100644
--- a/media-sound/qpitch/metadata.xml
+++ b/media-sound/qpitch/metadata.xml
@@ -2,10 +2,6 @@
 
 
 	
-		qt@gentoo.org
-		Gentoo Qt Project
-	
-
 		sound@gentoo.org
 		Gentoo Sound project
 	
diff --git a/media-sound/umurmur/files/umurmurd.initd b/media-sound/umurmur/files/umurmurd.initd
index 3d4183190abb..5fd3e172b712 100644
--- a/media-sound/umurmur/files/umurmurd.initd
+++ b/media-sound/umurmur/files/umurmurd.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/media-tv/gentoo-vdr-scripts/Manifest b/media-tv/gentoo-vdr-scripts/Manifest
index b057b8ec9fdf..c8658d720856 100644
--- a/media-tv/gentoo-vdr-scripts/Manifest
+++ b/media-tv/gentoo-vdr-scripts/Manifest
@@ -2,4 +2,5 @@ DIST gentoo-vdr-scripts-2.0.0.tar.bz2 37438 SHA256 6c2025714546a25632c5b8103b3fa
 DIST gentoo-vdr-scripts-2.5.tar.bz2 39893 SHA256 39a3c5d1cf30f1b07a6218b2154835994bbf9d65358e916260bad970a6ca6432 SHA512 bed3db4e3c4f8195d5715d274a32485d067fa2e539ace417c2d73bac1294d46736754be589d5e18b77e0baa1b4d9cd7df5ff8a13db2850d92d2eb992f9b131a6 WHIRLPOOL 5a7626484784ad49624df92daab0997368f885d4d5f6ad732082c2a77c840f6e23f345cf35816890d43493c57fa70c90eb9a4ab785a8d4ead81f6779714138b9
 DIST gentoo-vdr-scripts-2.7.2.tar.bz2 48584 SHA256 65de19d3738442a08cdb603ab0e0116e96bbcd8d58b9c9b3f2942e0bcb5365cb SHA512 cb0297c7e78e4c110097d1c08a5f6642d8194d01dd47308f7a41c6d76f7b1675cc612d47a7725eb4f47a393086b034ca09703af0867ae02a36af4be12701f861 WHIRLPOOL 7fe4e106512cca4e26a778320cadf93976897622dac2fd2cf7e21e20e44da27caa69da71f7a779747bc05872e6b90ee7440a7c8fbd2165e6c6a2544804c71da1
 DIST gentoo-vdr-scripts-2.7.3.tar.bz2 49156 SHA256 a8fb04ca737080dd4fa4d300243d833f835885c0b4c9ca3f1808997713a626ec SHA512 9d00acaf77bbbf52f4a4d4b8284d94b9d191c354de52ea6f7bba0751be661feec4915cca20be3d24a0471efe4b3f24c5dcc025e3e8b0cc6b2c37f8843b91a520 WHIRLPOOL bd30b36284754d4e5c135c381e4114354b1292f4203d0367622c650252d8ecbcaabe58bc40b4d0ad26b54553f5ee0ff5e2e32e13abdd088bd26b0b41a97ee10c
+DIST gentoo-vdr-scripts-2.7.5.tar.bz2 49457 SHA256 650220b1061672e5e021f3b2abaad01af0319833c3142aed7d27fe6cfc16469c SHA512 b79460ae73c1914b0057d44469c0ac3e30feab3fc9fa91af618a0753f5061184110af6f2426d0638861e899fe7ef8ddc749bee631e95dbf52da9d32ae3ae7afe WHIRLPOOL b94f40b82ddcce4e85469590136cf874450871abbb07359eb57ecda959e2ae1e66b662bc32e07e65af13a5c1d9f5fb023a62cf78ac64c31e2540e84b2a23beca
 DIST gentoo-vdr-scripts-2.7.tar.bz2 46618 SHA256 40f6e50e684b4dde9c026887119e80c9680212bfe41854c6526cc1346c0ae2a2 SHA512 95db4d2632d07cc86394fbc2898050d47175f01cc60b61230ba5363c770ba6ad5c5935987ac6a1131bc575887633ed6c8f6242f7de225fc875d0871123665bc5 WHIRLPOOL 889e2379fa9df6ae9992f6569779d4f485488e84c9c1065c43717ae07d15c601ce9a731e612e6bfaaf7df55d5eb4c7901f16bbf0eff680bc5b4ea25662885790
diff --git a/media-tv/gentoo-vdr-scripts/gentoo-vdr-scripts-2.7.5.ebuild b/media-tv/gentoo-vdr-scripts/gentoo-vdr-scripts-2.7.5.ebuild
new file mode 100644
index 000000000000..4e8431bdc8b5
--- /dev/null
+++ b/media-tv/gentoo-vdr-scripts/gentoo-vdr-scripts-2.7.5.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit eutils user
+
+DESCRIPTION="Scripts necessary for use of vdr as a set-top-box"
+HOMEPAGE="https://www.gentoo.org/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+	https://dev.gentoo.org/~hd_brummy/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="nvram"
+
+RDEPEND="nvram? ( sys-power/nvram-wakeup )
+	app-admin/sudo
+	sys-process/wait_on_pid"
+
+VDR_HOME=/var/vdr
+
+DOCS=( README* TODO ChangeLog )
+
+pkg_setup() {
+	enewgroup vdr
+
+	# Add user vdr to these groups:
+	#   video - accessing dvb-devices
+	#   audio - playing sound when using software-devices
+	#   cdrom - playing dvds/audio-cds ...
+	enewuser vdr -1 /bin/bash "${VDR_HOME}" vdr,video,audio,cdrom
+}
+
+src_prepare() {
+	# moved into own package
+	sed -e '/SUBDIRS =/s# bin # #' -i usr/Makefile
+	sed -e '/all:/s#compile##' -i Makefile
+
+	eapply_user
+}
+
+src_install() {
+	default
+
+	# create necessary directories
+	diropts -ovdr -gvdr
+	keepdir "${VDR_HOME}"
+
+	local kd
+	for kd in shutdown-data merged-config-files dvd-images; do
+		keepdir "${VDR_HOME}/${kd}"
+	done
+}
+
+pkg_preinst() {
+	local PLUGINS_NEW=0
+	if [[ -f "${ROOT}"/etc/conf.d/vdr.plugins ]]; then
+		PLUGINS_NEW=$(grep -v '^#' "${ROOT}"/etc/conf.d/vdr.plugins |grep -v '^$'|wc -l)
+	fi
+	if [[ ${PLUGINS_NEW} > 0 ]]; then
+		cp "${ROOT}"/etc/conf.d/vdr.plugins "${D}"/etc/conf.d/vdr.plugins
+	else
+		einfo "Migrating PLUGINS setting from /etc/conf.d/vdr to /etc/conf.d/vdr.plugins"
+		local PLUGIN
+		for PLUGIN in $(source "${ROOT}"/etc/conf.d/vdr;echo $PLUGINS); do
+			echo ${PLUGIN} >> "${D}"/etc/conf.d/vdr.plugins
+		done
+	fi
+
+	has_version "<${CATEGORY}/${PN}-0.5.4"
+	previous_less_than_0_5_4=$?
+
+	has_version "<${CATEGORY}/${PN}-2.6"
+	previous_less_than_2_6=$?
+}
+
+VDRSUDOENTRY="vdr ALL=NOPASSWD:/usr/share/vdr/bin/vdrshutdown-really.sh"
+
+pkg_postinst() {
+	if [[ $previous_less_than_0_5_4 = 0 ]] ; then
+		elog "\nVDR use now default the --cachedir parameter to store the epg.file"
+		elog "Please do not override this with the EPGFILE variable\n"
+
+		elog "svdrp port 2001 support removed\n"
+
+		elog "--rcu support removed, use media-plugin/vdr-rcu\n"
+	fi
+
+	if [[ $previous_less_than_2_6 = 0 ]]; then
+		elog "${CATEGORY}/${PN} supports now a init script"
+		elog "to start a X server"
+		elog "Please refer for detailed info to"
+		elog "${CATGORY}/${PN} README.x11-setup\n"
+	fi
+
+	if use nvram; then
+		elog "nvram wakeup is optional."
+		elog "To make use of it emerge sys-power/nvram-wakeup.\n"
+	fi
+
+	elog "Plugins which should be used are now set via its"
+	elog "own config-file called /etc/conf.d/vdr.plugins"
+	elog "or enabled via the frontend eselect vdr-plugin.\n"
+
+	if [[ -f "${ROOT}"/etc/conf.d/vdr.dvdswitch ]] &&
+		grep -q ^DVDSWITCH_BURNSPEED= "${ROOT}"/etc/conf.d/vdr.dvdswitch
+	then
+		ewarn "You are setting DVDSWITCH_BURNSPEED in /etc/conf.d/vdr.dvdswitch"
+		ewarn "This no longer has any effect, please use"
+		ewarn "VDR_DVDBURNSPEED in /etc/conf.d/vdr.cd-dvd"
+	fi
+
+	elog "systemd is supported by ${CATEGORY}/${PN}"
+	elog "Please read for detailed info on this"
+	elog "${CATEGORY}/${PN} README.systemd"
+}
+
+pkg_config() {
+	if grep -q /usr/share/vdr/bin/vdrshutdown-really.sh "${ROOT}"/etc/sudoers; then
+
+		einfo "Removing depricated entry from /etc/sudoers:"
+		einfo "-  ${VDRSUDOENTRY}"
+
+		cd "${T}"
+		cat >sudoedit-vdr.sh <<-SUDOEDITOR
+			#!/bin/bash
+			sed -i \${1} -e '/\/usr\/share\/vdr\/bin\/vdrshutdown-really.sh *$/d'
+
+		SUDOEDITOR
+		chmod a+x sudoedit-vdr.sh
+
+		VISUAL="${T}"/sudoedit-vdr.sh visudo -f "${ROOT}"/etc/sudoers || die "visudo failed"
+
+		einfo "Edited /etc/sudoers"
+	fi
+}
diff --git a/media-video/videocut/metadata.xml b/media-video/videocut/metadata.xml
index 02d70fb833a1..4f5dd18f15c1 100644
--- a/media-video/videocut/metadata.xml
+++ b/media-video/videocut/metadata.xml
@@ -4,10 +4,6 @@
 	
 		media-video@gentoo.org
 	
-	
-		qt@gentoo.org
-		Gentoo Qt Project
-	
 	
 		videocut
 	
diff --git a/media-video/xvideoservicethief/metadata.xml b/media-video/xvideoservicethief/metadata.xml
index 5e16b93d6006..d5044b7a4cef 100644
--- a/media-video/xvideoservicethief/metadata.xml
+++ b/media-video/xvideoservicethief/metadata.xml
@@ -9,10 +9,6 @@
     media-video@gentoo.org
     Gentoo Video project
   
-  
-    qt@gentoo.org
-    Gentoo Qt Project
-  
   
     xviservicethief
   
diff --git a/metadata/dtd/timestamp.chk b/metadata/dtd/timestamp.chk
index 1b2a4c908599..ce69a620be92 100644
--- a/metadata/dtd/timestamp.chk
+++ b/metadata/dtd/timestamp.chk
@@ -1 +1 @@
-Tue, 03 May 2016 05:38:44 +0000
+Wed, 04 May 2016 05:38:39 +0000
diff --git a/metadata/glsa/timestamp.chk b/metadata/glsa/timestamp.chk
index 963e413227c4..a38bfad15cda 100644
--- a/metadata/glsa/timestamp.chk
+++ b/metadata/glsa/timestamp.chk
@@ -1 +1 @@
-Tue, 03 May 2016 05:38:45 +0000
+Wed, 04 May 2016 05:38:40 +0000
diff --git a/metadata/md5-cache/app-accessibility/at-spi2-atk-2.18.1 b/metadata/md5-cache/app-accessibility/at-spi2-atk-2.18.1
index 8ba044f092d1..fb3c4a1d572c 100644
--- a/metadata/md5-cache/app-accessibility/at-spi2-atk-2.18.1
+++ b/metadata/md5-cache/app-accessibility/at-spi2-atk-2.18.1
@@ -4,10 +4,10 @@ DESCRIPTION=Gtk module for bridging AT-SPI to Atk
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Accessibility
 IUSE=test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-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
 LICENSE=LGPL-2+
 RDEPEND=>=app-accessibility/at-spi2-core-2.17.90[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/atk-2.15.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.32:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] !=dev-libs/glib-2.36:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libSM[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXi[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXtst[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.6:= ) X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 SLOT=2
 SRC_URI=mirror://gnome/sources/at-spi2-core/2.18/at-spi2-core-2.18.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=1682c26021f307dcafccd4400a308246
+_md5_=ec1864dcae945e1f5543a30253d40fe4
diff --git a/metadata/md5-cache/app-admin/rsyslog-8.18.0 b/metadata/md5-cache/app-admin/rsyslog-8.18.0
index 965f9d4dbff2..cf8aa2ac630c 100644
--- a/metadata/md5-cache/app-admin/rsyslog-8.18.0
+++ b/metadata/md5-cache/app-admin/rsyslog-8.18.0
@@ -10,4 +10,4 @@ RDEPEND=>=dev-libs/libfastjson-0.99.2:= >=dev-libs/libestr-0.1.9 >=dev-libs/libl
 SLOT=0
 SRC_URI=http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz -> rsyslog-8.18.0.tar.gz doc? ( http://www.rsyslog.com/files/download/rsyslog/rsyslog-doc-8.18.0.tar.gz -> rsyslog-docs-8.18.0.tar.gz )
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=fc2e8df3b46060098275faaca604ed53
+_md5_=03ae247039ccf63204ba4b3bfe12f027
diff --git a/metadata/md5-cache/app-admin/tripwire-2.4.3.1 b/metadata/md5-cache/app-admin/tripwire-2.4.3.1
new file mode 100644
index 000000000000..1c8e918dec1a
--- /dev/null
+++ b/metadata/md5-cache/app-admin/tripwire-2.4.3.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=configure install postinst prepare
+DEPEND=sys-devel/automake sys-devel/autoconf ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) ) !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=Open Source File Integrity Checker and IDS
+EAPI=5
+HOMEPAGE=http://www.tripwire.org/
+IUSE=libressl ssl static +tools
+KEYWORDS=~amd64 ~ppc ~x86 ~x86-fbsd
+LICENSE=GPL-2
+PDEPEND=tools? ( app-admin/mktwpol )
+RDEPEND=virtual/cron virtual/mta ssl? ( dev-libs/openssl )
+SLOT=0
+SRC_URI=https://github.com/Tripwire/tripwire-open-source/archive/2.4.3.1.tar.gz -> tripwire-2.4.3.1.tar.gz
+_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=d5130f3586f42845acdf485a464c8543
diff --git a/metadata/md5-cache/app-cdr/cdrdao-1.2.3-r2 b/metadata/md5-cache/app-cdr/cdrdao-1.2.3-r2
index 802667eadae8..55a736f2776d 100644
--- a/metadata/md5-cache/app-cdr/cdrdao-1.2.3-r2
+++ b/metadata/md5-cache/app-cdr/cdrdao-1.2.3-r2
@@ -4,10 +4,10 @@ DESCRIPTION=Burn CDs in disk-at-once mode -- with optional GUI frontend
 EAPI=5
 HOMEPAGE=http://cdrdao.sourceforge.net/
 IUSE=gcdmaster encode mad vorbis
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=virtual/cdrtools encode? ( >=media-sound/lame-3.99 ) gcdmaster? ( >=dev-libs/libsigc++-2.6:2 >=dev-cpp/gtkmm-2.4:2.4 >=dev-cpp/libgnomeuimm-2.6:2.6 media-libs/libao ) mad? ( media-libs/libmad media-libs/libao ) vorbis? ( media-libs/libvorbis media-libs/libao ) !app-cdr/cue2toc !dev-util/pccts
 SLOT=0
 SRC_URI=mirror://sourceforge/cdrdao/cdrdao-1.2.3.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=d037191ae4e061f38393a048b5f7c1e6
+_md5_=c6cd316ec8379eb98485bf3eb24133f0
diff --git a/metadata/md5-cache/app-crypt/gcr-3.18.0 b/metadata/md5-cache/app-crypt/gcr-3.18.0
index 0f53428c3bcd..b71aeee7d763 100644
--- a/metadata/md5-cache/app-crypt/gcr-3.18.0
+++ b/metadata/md5-cache/app-crypt/gcr-3.18.0
@@ -4,11 +4,11 @@ DESCRIPTION=Libraries for cryptographic UIs and accessing PKCS#11 modules
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/gcr
 IUSE=debug gtk +introspection vala test
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~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 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris
 LICENSE=GPL-2+ LGPL-2+
 RDEPEND=>=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:= ) !=gnome-base/gnome-keyring-3
 RDEPEND=>=dev-libs/glib-2.38:2 crypt? ( >=dev-libs/libgcrypt-1.2.2:0= ) introspection? ( >=dev-libs/gobject-introspection-1.29:= )
@@ -12,4 +12,4 @@ REQUIRED_USE=vala? ( introspection )
 SLOT=0
 SRC_URI=mirror://gnome/sources/libsecret/0.18/libsecret-0.18.4.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	vala	f946609697ad4b4b1d85b997f0c70204	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=4ba2f3f8df7b24248699f73109735e6c
+_md5_=94e577ecdf4b7d231bbf804b9b3976c9
diff --git a/metadata/md5-cache/app-editors/scite-3.6.5 b/metadata/md5-cache/app-editors/scite-3.6.5
new file mode 100644
index 000000000000..0013f88c548d
--- /dev/null
+++ b/metadata/md5-cache/app-editors/scite-3.6.5
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install prepare
+DEPEND=dev-libs/glib:= x11-libs/cairo:* x11-libs/gtk+:2 x11-libs/gdk-pixbuf:* x11-libs/pango:* lua? ( >=dev-lang/lua-5:= ) virtual/pkgconfig >=sys-apps/sed-4
+DESCRIPTION=A very powerful editor for programmers
+EAPI=6
+HOMEPAGE=http://www.scintilla.org/SciTE.html
+IUSE=lua
+KEYWORDS=~amd64 ~ppc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux
+LICENSE=HPND lua? ( MIT )
+RDEPEND=dev-libs/glib:= x11-libs/cairo:* x11-libs/gtk+:2 x11-libs/gdk-pixbuf:* x11-libs/pango:* lua? ( >=dev-lang/lua-5:= )
+SLOT=0
+SRC_URI=mirror://sourceforge/scintilla/scite365.tgz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=2f5a676d3806a77fb591ddc5416d7028
diff --git a/metadata/md5-cache/app-portage/layman-2.4.0 b/metadata/md5-cache/app-portage/layman-2.4.0-r1
similarity index 100%
rename from metadata/md5-cache/app-portage/layman-2.4.0
rename to metadata/md5-cache/app-portage/layman-2.4.0-r1
diff --git a/metadata/md5-cache/app-text/iso-codes-3.65 b/metadata/md5-cache/app-text/iso-codes-3.65
index 1102db658fa9..00fda9c17979 100644
--- a/metadata/md5-cache/app-text/iso-codes-3.65
+++ b/metadata/md5-cache/app-text/iso-codes-3.65
@@ -4,10 +4,10 @@ DESCRIPTION=ISO language, territory, currency, script codes and their translatio
 EAPI=5
 HOMEPAGE=http://pkg-isocodes.alioth.debian.org/
 IUSE=linguas_af linguas_am linguas_ar linguas_as linguas_ast linguas_az linguas_be linguas_bg linguas_bn linguas_bn_IN linguas_br linguas_bs linguas_byn linguas_ca linguas_crh linguas_cs linguas_cy linguas_da linguas_de linguas_dz linguas_el linguas_en linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fo linguas_fr linguas_ga linguas_gez linguas_gl linguas_gu linguas_haw linguas_he linguas_hi linguas_hr linguas_hu linguas_hy linguas_ia linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_km linguas_kn linguas_ko linguas_kok linguas_ku linguas_lt linguas_lv linguas_mi linguas_mk linguas_ml linguas_mn linguas_mr linguas_ms linguas_mt linguas_nb linguas_ne linguas_nl linguas_nn linguas_nso linguas_oc linguas_or linguas_pa linguas_pl linguas_ps linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_rw linguas_si linguas_sk linguas_sl linguas_so linguas_sq linguas_sr linguas_sr@latin linguas_sv linguas_sw linguas_ta linguas_te linguas_th linguas_ti linguas_tig linguas_tk linguas_tl linguas_tr linguas_tt linguas_tt@iqtelif linguas_ug linguas_uk linguas_ve linguas_vi linguas_wa linguas_wal linguas_wo linguas_xh linguas_zh_CN linguas_zh_HK linguas_zh_TW linguas_zu
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris
 LICENSE=LGPL-2.1+
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=http://pkg-isocodes.alioth.debian.org/downloads/iso-codes-3.65.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	l10n	714aaf78929eade946da5eaff7d2001a	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=cb1928f02a4da9108399e5b41e89b566
+_md5_=61395f4d64110b49a6e6bd105995c79e
diff --git a/metadata/md5-cache/app-text/yelp-tools-3.18.0 b/metadata/md5-cache/app-text/yelp-tools-3.18.0
index 8ecffdd9581e..02c50a86d170 100644
--- a/metadata/md5-cache/app-text/yelp-tools-3.18.0
+++ b/metadata/md5-cache/app-text/yelp-tools-3.18.0
@@ -3,10 +3,10 @@ DEPEND=>=dev-libs/libxml2-2.6.12 >=dev-libs/libxslt-1.1.8 dev-util/itstool >=gno
 DESCRIPTION=Collection of tools for building and converting documentation
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Apps/Yelp/Tools
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux
 LICENSE=|| ( GPL-2+ freedist ) GPL-2+
 RDEPEND=>=dev-libs/libxml2-2.6.12 >=dev-libs/libxslt-1.1.8 dev-util/itstool >=gnome-extra/yelp-xsl-3.17.3 virtual/awk
 SLOT=0
 SRC_URI=mirror://gnome/sources/yelp-tools/3.18/yelp-tools-3.18.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=69d6f35955e01311f2aca03b7702d03a
+_md5_=c811485d18c486d5141147db0e6675ea
diff --git a/metadata/md5-cache/dev-cpp/atkmm-2.24.2 b/metadata/md5-cache/dev-cpp/atkmm-2.24.2
index 4453cef911ac..c2491a15eb4a 100644
--- a/metadata/md5-cache/dev-cpp/atkmm-2.24.2
+++ b/metadata/md5-cache/dev-cpp/atkmm-2.24.2
@@ -4,10 +4,10 @@ DESCRIPTION=C++ interface for the ATK library
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2.1+
 RDEPEND=>=dev-cpp/glibmm-2.46.2:2[doc?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/atk-2.18.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] !=x11-libs/cairo-1.12.10[aqua=,svg=,X=,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.5.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 SLOT=0
 SRC_URI=mirror://gnome/sources/cairomm/1.12/cairomm-1.12.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=817131004541694aa8e4952f48710d52
+_md5_=a39d61217dca849a2bc18f40386ddb3d
diff --git a/metadata/md5-cache/dev-cpp/gconfmm-2.28.3-r1 b/metadata/md5-cache/dev-cpp/gconfmm-2.28.3-r1
index 63b7b413cf2b..1ac9a9f94e87 100644
--- a/metadata/md5-cache/dev-cpp/gconfmm-2.28.3-r1
+++ b/metadata/md5-cache/dev-cpp/gconfmm-2.28.3-r1
@@ -4,10 +4,10 @@ DESCRIPTION=C++ bindings for GConf
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=LGPL-2.1
 RDEPEND=>=gnome-base/gconf-2.4:2 >=dev-cpp/glibmm-2.12:2[doc?] >=dev-cpp/gtkmm-2.4:2.4
 SLOT=0
 SRC_URI=mirror://gnome/sources/gconfmm/2.28/gconfmm-2.28.3.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=c55a646cc54e80d776330c8ca66751a9
+_md5_=d03ade1172c75a4eba8ce59a6d11e3ec
diff --git a/metadata/md5-cache/dev-cpp/glibmm-2.46.3 b/metadata/md5-cache/dev-cpp/glibmm-2.46.3
index aedb554fa9e3..306ae4557518 100644
--- a/metadata/md5-cache/dev-cpp/glibmm-2.46.3
+++ b/metadata/md5-cache/dev-cpp/glibmm-2.46.3
@@ -4,10 +4,10 @@ DESCRIPTION=C++ interface for glib2
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc debug examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2.1+ GPL-2+
 RDEPEND=>=dev-libs/libsigc++-2.6.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.46.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 SLOT=2
 SRC_URI=mirror://gnome/sources/glibmm/2.46/glibmm-2.46.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=3b5faf8d9c8d9d00829df1509d51a60f
+_md5_=c7286a4de4e083ae52542ed7bf1dca65
diff --git a/metadata/md5-cache/dev-cpp/gnome-vfsmm-2.26.0-r1 b/metadata/md5-cache/dev-cpp/gnome-vfsmm-2.26.0-r1
index 04d583dfad36..f97f97d5a6aa 100644
--- a/metadata/md5-cache/dev-cpp/gnome-vfsmm-2.26.0-r1
+++ b/metadata/md5-cache/dev-cpp/gnome-vfsmm-2.26.0-r1
@@ -4,10 +4,10 @@ DESCRIPTION=C++ bindings for gnome-vfs
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc examples
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=LGPL-2.1
 RDEPEND=>=gnome-base/gnome-vfs-2.8.1 >=dev-cpp/glibmm-2.12
 SLOT=1.1
 SRC_URI=mirror://gnome/sources/gnome-vfsmm/2.26/gnome-vfsmm-2.26.0.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=a2fe06bffb5904ed83e8bb414629081a
+_md5_=0f3bdb54e3ef1f0840431bba642e0093
diff --git a/metadata/md5-cache/dev-cpp/gtkmm-2.24.4-r3 b/metadata/md5-cache/dev-cpp/gtkmm-2.24.4-r3
index f0815fa175e4..631b124cb5e3 100644
--- a/metadata/md5-cache/dev-cpp/gtkmm-2.24.4-r3
+++ b/metadata/md5-cache/dev-cpp/gtkmm-2.24.4-r3
@@ -4,10 +4,10 @@ DESCRIPTION=C++ interface for GTK+
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc examples test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2.1+
 RDEPEND=>=dev-cpp/glibmm-2.34.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-2.24.15:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.28:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/atkmm-2.22.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.10.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/pangomm-2.34.0:1.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] abi_x86_32? ( !<=app-emulation/emul-linux-x86-gtkmmlibs-20140508 !app-emulation/emul-linux-x86-gtkmmlibs[-abi_x86_32(-)] )
 SLOT=2.4
 SRC_URI=mirror://gnome/sources/gtkmm/2.24/gtkmm-2.24.4.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=6843eb2375ba7c68d9dd8e7bbd5206ab
+_md5_=d63fd385ac7180a3e2bd6a5bdff714ec
diff --git a/metadata/md5-cache/dev-cpp/gtkmm-3.18.0-r1 b/metadata/md5-cache/dev-cpp/gtkmm-3.18.0-r1
index 08f0e3eec10b..75d66bbed17e 100644
--- a/metadata/md5-cache/dev-cpp/gtkmm-3.18.0-r1
+++ b/metadata/md5-cache/dev-cpp/gtkmm-3.18.0-r1
@@ -4,11 +4,11 @@ DESCRIPTION=C++ interface for GTK+
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=aqua doc examples test wayland X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris
 LICENSE=LGPL-2.1+
 RDEPEND=>=dev-cpp/glibmm-2.46.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-3.18.0:3[aqua?,wayland?,X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.28:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/atkmm-2.24.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.12.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/pangomm-2.38.1:1.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 REQUIRED_USE=|| ( aqua wayland X )
 SLOT=3.0
 SRC_URI=mirror://gnome/sources/gtkmm/3.18/gtkmm-3.18.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=29b0d8b83d9232b35f03bf0410a50cc0
+_md5_=41fa8a29881b08ba9659b54397e464e9
diff --git a/metadata/md5-cache/dev-cpp/libglademm-2.6.7-r2 b/metadata/md5-cache/dev-cpp/libglademm-2.6.7-r2
index 5d95fc5090b4..3b11a06aef79 100644
--- a/metadata/md5-cache/dev-cpp/libglademm-2.6.7-r2
+++ b/metadata/md5-cache/dev-cpp/libglademm-2.6.7-r2
@@ -4,10 +4,10 @@ DESCRIPTION=C++ bindings for libglade
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc examples abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=LGPL-2.1+
 RDEPEND=>=gnome-base/libglade-2.6.4-r1:2.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/gtkmm-2.24.3:2.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.34.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 SLOT=2.4
 SRC_URI=mirror://gnome/sources/libglademm/2.6/libglademm-2.6.7.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=c2127c555e927dd877434aee0973b746
+_md5_=876fd867aac8603c8d93553ed0204957
diff --git a/metadata/md5-cache/dev-cpp/libgnomemm-2.30.0-r1 b/metadata/md5-cache/dev-cpp/libgnomemm-2.30.0-r1
index b5b8b70ca69e..ad02430c99ea 100644
--- a/metadata/md5-cache/dev-cpp/libgnomemm-2.30.0-r1
+++ b/metadata/md5-cache/dev-cpp/libgnomemm-2.30.0-r1
@@ -4,10 +4,10 @@ DESCRIPTION=C++ bindings for libgnome
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=debug
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=LGPL-2.1
 RDEPEND=>=dev-cpp/gtkmm-2.8:2.4 >=gnome-base/libgnome-2.6
 SLOT=2.6
 SRC_URI=mirror://gnome/sources/libgnomemm/2.30/libgnomemm-2.30.0.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=2f4ab14f56f7d6e915f3c4e618470d94
+_md5_=7d31abbe303d81f2a3a605d294fe4a5d
diff --git a/metadata/md5-cache/dev-cpp/libgnomeuimm-2.28.0-r2 b/metadata/md5-cache/dev-cpp/libgnomeuimm-2.28.0-r2
index 69054e887086..a7f8523bbbf5 100644
--- a/metadata/md5-cache/dev-cpp/libgnomeuimm-2.28.0-r2
+++ b/metadata/md5-cache/dev-cpp/libgnomeuimm-2.28.0-r2
@@ -3,10 +3,10 @@ DEPEND=>=gnome-base/libgnomeui-2.7.1 dev-cpp/glibmm >=dev-cpp/libgnomemm-2.16.0
 DESCRIPTION=C++ bindings for libgnomeui
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=LGPL-2.1
 RDEPEND=>=gnome-base/libgnomeui-2.7.1 dev-cpp/glibmm >=dev-cpp/libgnomemm-2.16.0 >=dev-cpp/libgnomecanvasmm-2.6 >=dev-cpp/gconfmm-2.6 >=dev-cpp/libglademm-2.4 >=dev-cpp/gnome-vfsmm-2.16
 SLOT=2.6
 SRC_URI=mirror://gnome/sources/libgnomeuimm/2.28/libgnomeuimm-2.28.0.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=79ba3574106c4238c48abdfdfe0ab103
+_md5_=4adcc058b65ede907e7d29323c734fc7
diff --git a/metadata/md5-cache/dev-cpp/mm-common-0.9.10 b/metadata/md5-cache/dev-cpp/mm-common-0.9.10
index 524af26cf508..e1c83c1b0436 100644
--- a/metadata/md5-cache/dev-cpp/mm-common-0.9.10
+++ b/metadata/md5-cache/dev-cpp/mm-common-0.9.10
@@ -3,9 +3,9 @@ DEPEND=app-arch/xz-utils >=sys-apps/sed-4 dev-util/desktop-file-utils x11-misc/s
 DESCRIPTION=Build infrastructure and utilities for GNOME C++ bindings
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org/
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=mirror://gnome/sources/mm-common/0.9/mm-common-0.9.10.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=9c380236c98ebc448ba7289254cb35d5
+_md5_=cfc5c335ce1dc4ac6b00e0230dd810e2
diff --git a/metadata/md5-cache/dev-cpp/pangomm-2.38.1 b/metadata/md5-cache/dev-cpp/pangomm-2.38.1
index 75e5ccc8368d..fd011785d03a 100644
--- a/metadata/md5-cache/dev-cpp/pangomm-2.38.1
+++ b/metadata/md5-cache/dev-cpp/pangomm-2.38.1
@@ -4,10 +4,10 @@ DESCRIPTION=C++ interface for pango
 EAPI=5
 HOMEPAGE=http://www.gtkmm.org
 IUSE=doc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2.1+
 RDEPEND=>=x11-libs/pango-1.38.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/glibmm-2.46.1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-cpp/cairomm-1.12.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libsigc++-2.3.2:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] !=dev-libs/glib-2.24:2 >=dev-libs/vala-common-0.30.1
 SLOT=0.30
 SRC_URI=mirror://gnome/sources/vala/0.30/vala-0.30.1.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=adb16be6016d0f32fb56ed6826b98a56
+_md5_=ffee791d3972078dc5b130bfd4868323
diff --git a/metadata/md5-cache/dev-libs/appstream-glib-0.5.9 b/metadata/md5-cache/dev-libs/appstream-glib-0.5.9
index ab667dbf6536..cd38265b6e28 100644
--- a/metadata/md5-cache/dev-libs/appstream-glib-0.5.9
+++ b/metadata/md5-cache/dev-libs/appstream-glib-0.5.9
@@ -4,10 +4,10 @@ DESCRIPTION=Provides GObjects and helper methods to read and write AppStream met
 EAPI=5
 HOMEPAGE=https://people.freedesktop.org/~hughsient/appstream-glib/
 IUSE=+introspection nls
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=LGPL-2.1
 RDEPEND=app-arch/gcab app-arch/libarchive dev-db/sqlite:3 >=dev-libs/glib-2.45.8:2 dev-libs/libyaml >=media-libs/fontconfig-2.11 >=media-libs/freetype-2.4:2 >=net-libs/libsoup-2.51.92:2.4 sys-apps/util-linux >=x11-libs/gdk-pixbuf-2.31.5:2 x11-libs/gtk+:3 x11-libs/pango introspection? ( >=dev-libs/gobject-introspection-0.9.8:= ) !=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
 SLOT=0
 SRC_URI=mirror://gnome/sources/atk/2.18/atk-2.18.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=4374204bc39157d2a61273f755bae325
+_md5_=a44de7e2f8727824b7d43164a3df99ed
diff --git a/metadata/md5-cache/dev-libs/glib-2.46.2-r2 b/metadata/md5-cache/dev-libs/glib-2.46.2-r2
index ec4efad39317..9351ad2cc7c3 100644
--- a/metadata/md5-cache/dev-libs/glib-2.46.2-r2
+++ b/metadata/md5-cache/dev-libs/glib-2.46.2-r2
@@ -4,7 +4,7 @@ DESCRIPTION=The GLib library of C routines
 EAPI=5
 HOMEPAGE=http://www.gtk.org/
 IUSE=dbus fam kernel_linux +mime selinux static-libs systemtap test utils xattr debug python_targets_python2_7 test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux
 LICENSE=LGPL-2+
 PDEPEND=!=virtual/libiconv-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=virtual/libffi-3.0.13-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] selinux? ( >=sys-libs/libselinux-2.2.2-r5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) xattr? ( >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) fam? ( >=virtual/fam-0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) utils? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] >=dev-util/gdbus-codegen-2.46.2[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] || ( >=dev-libs/elfutils-0.142 >=dev-libs/libelf-0.8.12 >=sys-freebsd/freebsd-lib-9.2_rc1 ) )
@@ -12,4 +12,4 @@ REQUIRED_USE=utils? ( || ( python_targets_python2_7 ) ) test? ( || ( python_targ
 SLOT=2
 SRC_URI=mirror://gnome/sources/glib/2.46/glib-2.46.2.tar.xz https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	pax-utils	ecf634cba91bb9591a8fdb6f6145f1bb	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=af3c7a286776da81528ada7049362d90
+_md5_=ad5b93e908fe50b12f84b0c9b90b9477
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-1.46.0 b/metadata/md5-cache/dev-libs/gobject-introspection-1.46.0
index 570dfa4d0eaa..3a0ba980f00a 100644
--- a/metadata/md5-cache/dev-libs/gobject-introspection-1.46.0
+++ b/metadata/md5-cache/dev-libs/gobject-introspection-1.46.0
@@ -4,7 +4,7 @@ DESCRIPTION=Introspection infrastructure for generating gobject library bindings
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/GObjectIntrospection
 IUSE=cairo doctool test python_targets_python2_7
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+ GPL-2+
 PDEPEND=cairo? ( x11-libs/cairo[glib] )
 RDEPEND=>=dev-libs/gobject-introspection-common-1.46.0 >=dev-libs/glib-2.46:2 doctool? ( dev-python/mako ) virtual/libffi:= virtual/pkgconfig !=dev-lang/python-2.7.5-r2:2.7[xml] >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)]
@@ -12,4 +12,4 @@ REQUIRED_USE=python_targets_python2_7 test? ( cairo )
 SLOT=0
 SRC_URI=mirror://gnome/sources/gobject-introspection/1.46/gobject-introspection-1.46.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=369f11fb3e3ad86f46a42f0d81528df3
+_md5_=24f79e24a513e693d58370beadf507e3
diff --git a/metadata/md5-cache/dev-libs/gobject-introspection-common-1.46.0 b/metadata/md5-cache/dev-libs/gobject-introspection-common-1.46.0
index 4b6c5d13ff88..3007d2a55c49 100644
--- a/metadata/md5-cache/dev-libs/gobject-introspection-common-1.46.0
+++ b/metadata/md5-cache/dev-libs/gobject-introspection-common-1.46.0
@@ -3,10 +3,10 @@ DEPEND=app-arch/xz-utils
 DESCRIPTION=Build infrastructure for GObject Introspection
 EAPI=5
 HOMEPAGE=https://live.gnome.org/GObjectIntrospection/
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
 LICENSE=HPND
 RDEPEND=!=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 SLOT=0.6
 SRC_URI=mirror://gnome/sources/libcroco/0.6/libcroco-0.6.11.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=4a7a2170080148cfe6fede6c52a29dfa
+_md5_=6e833e3c0781ac76226678f993a4c504
diff --git a/metadata/md5-cache/dev-libs/libinput-1.1.5 b/metadata/md5-cache/dev-libs/libinput-1.1.5
index 5b82878e47a4..502dc998abe7 100644
--- a/metadata/md5-cache/dev-libs/libinput-1.1.5
+++ b/metadata/md5-cache/dev-libs/libinput-1.1.5
@@ -4,11 +4,11 @@ DESCRIPTION=Library to handle input devices in Wayland
 EAPI=5
 HOMEPAGE=https://www.freedesktop.org/wiki/Software/libinput/
 IUSE=test
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86
 LICENSE=MIT
 RDEPEND=>=dev-libs/libevdev-0.4 >=sys-libs/mtdev-1.1 virtual/libudev
 RESTRICT=test
 SLOT=0/10
 SRC_URI=https://www.freedesktop.org/software/libinput/libinput-1.1.5.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	udev	73058269b3e70e34e084fa3981282338
-_md5_=89bc08172e06dcbe50aa01ebb84ea414
+_md5_=3f44c351305d620003ee4e6d34b94b17
diff --git a/metadata/md5-cache/dev-libs/libsigc++-2.6.2 b/metadata/md5-cache/dev-libs/libsigc++-2.6.2
index 00705070c597..dfcb851aed36 100644
--- a/metadata/md5-cache/dev-libs/libsigc++-2.6.2
+++ b/metadata/md5-cache/dev-libs/libsigc++-2.6.2
@@ -4,9 +4,9 @@ DESCRIPTION=Typesafe callback system for standard C++
 EAPI=5
 HOMEPAGE=http://libsigc.sourceforge.net/
 IUSE=doc static-libs test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2.1+
 SLOT=2
 SRC_URI=mirror://gnome/sources/libsigc++/2.6/libsigc++-2.6.2.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=86424c79e1190eff83e86c367d2cd0d8
+_md5_=28cb3e61276551e174eeb229bebbcb03
diff --git a/metadata/md5-cache/dev-libs/libxml2-2.9.3 b/metadata/md5-cache/dev-libs/libxml2-2.9.3
index 7fc4514b0861..68a1d75c5a4f 100644
--- a/metadata/md5-cache/dev-libs/libxml2-2.9.3
+++ b/metadata/md5-cache/dev-libs/libxml2-2.9.3
@@ -4,10 +4,10 @@ DESCRIPTION=Version 2 of the library to manipulate XML files
 EAPI=5
 HOMEPAGE=http://www.xmlsoft.org/
 IUSE=debug examples icu ipv6 lzma python readline static-libs test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
 LICENSE=MIT
 RDEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= )
 SLOT=2
 SRC_URI=ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz test? ( http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2002-01-16/xsts-2002-01-16.tar.gz http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2004-01-14/xsts-2004-01-14.tar.gz http://www.w3.org/XML/Test/xmlts20080827.tar.gz )
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	prefix	e7f2b9c6e57342e5d25eac22fce23062	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=93906584c5c4cf32126970dc0d3f099c
+_md5_=c2b6dc1ef8effa27f9e7b5d045d40768
diff --git a/metadata/md5-cache/dev-libs/openssl-1.0.2f b/metadata/md5-cache/dev-libs/openssl-1.0.2h
similarity index 74%
rename from metadata/md5-cache/dev-libs/openssl-1.0.2f
rename to metadata/md5-cache/dev-libs/openssl-1.0.2h
index fadb8e0ac9ad..355646358874 100644
--- a/metadata/md5-cache/dev-libs/openssl-1.0.2f
+++ b/metadata/md5-cache/dev-libs/openssl-1.0.2h
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install postinst preinst prepare test
-DEPEND=>=app-misc/c_rehash-1.7-r1 gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) kerberos? ( >=app-crypt/mit-krb5-1.11.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) test? ( sys-apps/diffutils sys-devel/bc )
+DEPEND=>=app-misc/c_rehash-1.7-r1 gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) kerberos? ( >=app-crypt/mit-krb5-1.11.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-lang/perl-5 sctp? ( >=net-misc/lksctp-tools-1.0.12 ) test? ( sys-apps/diffutils sys-devel/bc )
 DESCRIPTION=full-strength general purpose cryptography library (including SSL and TLS)
 EAPI=5
 HOMEPAGE=http://www.openssl.org/
 IUSE=+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux
 LICENSE=openssl
 PDEPEND=app-misc/ca-certificates
-RDEPEND=>=app-misc/c_rehash-1.7-r1 gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) kerberos? ( >=app-crypt/mit-krb5-1.11.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140508 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] ) !=app-misc/c_rehash-1.7-r1 gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) kerberos? ( >=app-crypt/mit-krb5-1.11.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 RESTRICT=!bindist? ( bindist )
 SLOT=0
-SRC_URI=mirror://openssl/source/openssl-1.0.2f.tar.gz
+SRC_URI=mirror://openssl/source/openssl-1.0.2h.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=a7c061a98c7ae3145fb62a186dde99b1
+_md5_=1c8083bc9cb1ca8bbf60c1a799be1f40
diff --git a/metadata/md5-cache/dev-libs/vala-common-0.30.1 b/metadata/md5-cache/dev-libs/vala-common-0.30.1
index 541a2e75a738..d3747780ed84 100644
--- a/metadata/md5-cache/dev-libs/vala-common-0.30.1
+++ b/metadata/md5-cache/dev-libs/vala-common-0.30.1
@@ -3,10 +3,10 @@ DEPEND=app-arch/xz-utils
 DESCRIPTION=Build infrastructure for packages that use Vala
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/Vala
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x64-solaris
 LICENSE=LGPL-2.1
 RDEPEND=!=dev-lang/ocaml-4.02.0:= dev-ml/async_kernel:= dev-ml/bin-prot:= dev-ml
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/async_unix-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=3503732613082317e522e039d4f6336d
+_md5_=681dfb1464fb3ab1f2ba29f49a8f0c62
diff --git a/metadata/md5-cache/dev-ml/batteries-2.4.0 b/metadata/md5-cache/dev-ml/batteries-2.4.0
index e703e0b7fcc5..1131b705e2b0 100644
--- a/metadata/md5-cache/dev-ml/batteries-2.4.0
+++ b/metadata/md5-cache/dev-ml/batteries-2.4.0
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/camomile:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
 SLOT=0/2.4.0
 SRC_URI=https://github.com/ocaml-batteries-team/batteries-included/archive/v2.4.0.tar.gz -> batteries-2.4.0.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=3e362607724bd8ec72463b8cc22f1c3e
+_md5_=fd5e39eef6d0e7542ff77abafea8164a
diff --git a/metadata/md5-cache/dev-ml/core-113.33.02 b/metadata/md5-cache/dev-ml/core-113.33.02
new file mode 100644
index 000000000000..105e76327d52
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/core-113.33.02
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=>=dev-ml/bin-prot-113.24.00:= >=dev-ml/core_kernel-113.24.00:= >=dev-ml/fieldslib-113.24.00:= dev-ml/ppx_assert:= dev-ml/ppx_bench:= dev-ml/ppx_driver:= dev-ml/ppx_expect:= dev-ml/ppx_inline_test:= dev-ml/ppx_jane:= >=dev-ml/sexplib-113.24.00:= dev-ml/typerep:= dev-ml/variantslib:= >=dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-ml/bin-prot-113.24.00:= >=dev-ml/core_kernel-113.24.00:= >=dev-ml/fieldslib-113.24.00:= dev-ml/ppx_assert:= dev-ml/ppx_bench:= dev-ml/ppx_driver:= dev-ml/ppx_expect:= dev-ml/ppx_inline_test:= dev-ml/ppx_jane:= >=dev-ml/sexplib-113.24.00:= dev-ml/typerep:= dev-ml/variantslib:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
+SLOT=0/113.33.02
+SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/core-113.33.02.tar.gz
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=8eb531d4964bca04e7c00b4065346b96
diff --git a/metadata/md5-cache/dev-ml/core_kernel-113.33.01 b/metadata/md5-cache/dev-ml/core_kernel-113.33.01
index 6a2dd7f8f552..1f4f047624e5 100644
--- a/metadata/md5-cache/dev-ml/core_kernel-113.33.01
+++ b/metadata/md5-cache/dev-ml/core_kernel-113.33.01
@@ -10,4 +10,4 @@ RDEPEND=>=dev-ml/bin-prot-112.17.00:= >=dev-ml/fieldslib-109.20.00:= dev-ml/ppx_
 SLOT=0/113.33.01
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/core_kernel-113.33.01.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=c9667558c7c6207bb648ca2ff72fc7e3
+_md5_=7767de83d2369d26d67b15c9d15e960d
diff --git a/metadata/md5-cache/dev-ml/deriving-0.7 b/metadata/md5-cache/dev-ml/deriving-0.7
index d651c729acd2..8e5eeb1d6f50 100644
--- a/metadata/md5-cache/dev-ml/deriving-0.7
+++ b/metadata/md5-cache/dev-ml/deriving-0.7
@@ -10,4 +10,4 @@ RDEPEND=>=dev-ml/type-conv-108:= dev-ml/optcomp:= dev-ml/findlib:= dev-ml/camlp4
 SLOT=0/0.7
 SRC_URI=https://github.com/ocsigen/deriving/archive/0.7.tar.gz -> deriving-0.7.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=fe2c20b72c16f24b5a6ca6fd83951920
+_md5_=410be63d28e93fe89f42d34676b1d962
diff --git a/metadata/md5-cache/dev-ml/dose3-4.3 b/metadata/md5-cache/dev-ml/dose3-4.3
index 8a51c73e4159..cf17845c8daa 100644
--- a/metadata/md5-cache/dev-ml/dose3-4.3
+++ b/metadata/md5-cache/dev-ml/dose3-4.3
@@ -3,7 +3,7 @@ DEPEND=>=dev-lang/ocaml-3.12:=[ocamlopt?] dev-ml/cudf:= >=dev-ml/extlib-1.7.0:=
 DESCRIPTION=Library and a collection of tools to perform la large spectrum of analysis on package repositories
 EAPI=5
 HOMEPAGE=http://www.mancoosi.org/software/ https://gforge.inria.fr/projects/dose
-IUSE=+ocamlopt +parmap zip bzip2 xml curl rpm4 test
+IUSE=+ocamlopt parmap zip bzip2 xml curl rpm4 test
 KEYWORDS=~amd64
 LICENSE=LGPL-3
 RDEPEND=>=dev-lang/ocaml-3.12:=[ocamlopt?] dev-ml/cudf:= >=dev-ml/extlib-1.7.0:= dev-ml/ocaml-re:= dev-ml/cppo:= parmap? ( dev-ml/parmap:= ) zip? ( dev-ml/camlzip:= ) bzip2? ( dev-ml/camlbz2:= ) >=dev-ml/ocamlgraph-1.8.6:= xml? ( dev-ml/ocaml-expat:= dev-ml/xml-light:= ) curl? ( dev-ml/ocurl:= ) rpm4? ( app-arch/rpm )
@@ -11,4 +11,4 @@ RESTRICT=test
 SLOT=0/4.3
 SRC_URI=https://gforge.inria.fr/frs/download.php/file/35797/dose3-4.3.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=ffc100d0c11128a4f4c271be07b75a4f
+_md5_=0c15f096740122af5622fbeb88d556fb
diff --git a/metadata/md5-cache/dev-ml/js-build-tools-113.33.03 b/metadata/md5-cache/dev-ml/js-build-tools-113.33.03
new file mode 100644
index 000000000000..315550f512fb
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/js-build-tools-113.33.03
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=dev-ml/opam >=dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-lang/ocaml-3.12:=[ocamlopt?]
+SLOT=0/113.33.03
+SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/js-build-tools-113.33.03.tar.gz
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=3a677eb363d77d1ae1a550770903f390
diff --git a/metadata/md5-cache/dev-ml/js_of_ocaml-2.7 b/metadata/md5-cache/dev-ml/js_of_ocaml-2.7
index 4474a5c2df14..614af768c29d 100644
--- a/metadata/md5-cache/dev-ml/js_of_ocaml-2.7
+++ b/metadata/md5-cache/dev-ml/js_of_ocaml-2.7
@@ -1,4 +1,4 @@
-DEFINED_PHASES=compile configure install
+DEFINED_PHASES=compile configure install prepare
 DEPEND=>=dev-lang/ocaml-3.12:=[ocamlopt?,X?] >=dev-ml/lwt-2.4.4:= react? ( dev-ml/react:= dev-ml/reactiveData:= ) xml? ( >=dev-ml/tyxml-3.6:= ) ppx? ( dev-ml/ppx_tools:= ) ppx-deriving? ( dev-ml/ppx_deriving:= ) dev-ml/cmdliner:= dev-ml/menhir:= dev-ml/ocaml-base64:= dev-ml/camlp4:= dev-ml/cppo:= deriving? ( >=dev-ml/deriving-0.6:= ) dev-ml/ocamlbuild >=dev-ml/findlib-1.0.4-r1
 DESCRIPTION=A compiler from OCaml bytecode to javascript
 EAPI=5
@@ -10,4 +10,4 @@ RDEPEND=>=dev-lang/ocaml-3.12:=[ocamlopt?,X?] >=dev-ml/lwt-2.4.4:= react? ( dev-
 SLOT=0/2.7
 SRC_URI=https://github.com/ocsigen/js_of_ocaml/archive/2.7.tar.gz -> js_of_ocaml-2.7.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=0ab117ff7bfd33fd723ce683717e2b9e
+_md5_=fa92d593af1c97fe30eb707c56253c1c
diff --git a/metadata/md5-cache/dev-ml/lwt-2.5.2 b/metadata/md5-cache/dev-ml/lwt-2.5.2
new file mode 100644
index 000000000000..f9221ca41df3
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/lwt-2.5.2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=react? ( >=dev-ml/react-1.2:= ) dev-libs/libev ssl? ( >=dev-ml/ocaml-ssl-0.4.0:= ) gtk? ( dev-ml/lablgtk:= dev-libs/glib:2 ) ppx? ( dev-ml/ppx_tools:= ) || ( dev-ml/camlp4:= =dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-ml/react-1.2:= ) dev-libs/libev ssl? ( >=dev-ml/ocaml-ssl-0.4.0:= ) gtk? ( dev-ml/lablgtk:= dev-libs/glib:2 ) ppx? ( dev-ml/ppx_tools:= ) || ( dev-ml/camlp4:= =dev-lang/ocaml-3.12:=[ocamlopt?]
+SLOT=0/2.5.2
+SRC_URI=https://github.com/ocsigen/lwt/archive/2.5.2.tar.gz -> lwt-2.5.2.tar.gz
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=974f76bb8a9321d8c110d2c94256d497
diff --git a/metadata/md5-cache/dev-ml/mirage-profile-0.7.0 b/metadata/md5-cache/dev-ml/mirage-profile-0.7.0-r1
similarity index 69%
rename from metadata/md5-cache/dev-ml/mirage-profile-0.7.0
rename to metadata/md5-cache/dev-ml/mirage-profile-0.7.0-r1
index a35c2932228a..a5eb64793e67 100644
--- a/metadata/md5-cache/dev-ml/mirage-profile-0.7.0
+++ b/metadata/md5-cache/dev-ml/mirage-profile-0.7.0-r1
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=>=dev-lang/ocaml-4:= dev-ml/io-page:= dev-ml/lwt:= >=dev-ml/ocaml-cstruct-1.9.0:=[camlp4(-)] dev-ml/ocplib-endian:= >=dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-lang/ocaml-4:= dev-ml/io-page:= dev-ml/lwt:= >=dev-ml/ocaml-cstruct-1.9.0:=[ppx(-)] dev-ml/ppx_tools:= dev-ml/ocplib-endian:= >=dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-lang/ocaml-4:= dev-ml/io-page:= dev-ml/lwt:= >=dev-ml/ocaml-cstruct-1.9.0:=[camlp4(-)] dev-ml/ocplib-endian:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
+RDEPEND=>=dev-lang/ocaml-4:= dev-ml/io-page:= dev-ml/lwt:= >=dev-ml/ocaml-cstruct-1.9.0:=[ppx(-)] dev-ml/ppx_tools:= dev-ml/ocplib-endian:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
 RESTRICT=test
 SLOT=0/0.7.0
 SRC_URI=https://github.com/mirage/mirage-profile/archive/v0.7.0.tar.gz -> mirage-profile-0.7.0.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=2fd9fc94445aed0181ef22196e9603b2
+_md5_=2ba01d30b068158dc9ad3193ec4c1c5e
diff --git a/metadata/md5-cache/dev-ml/ocaml-cstruct-2.0.0 b/metadata/md5-cache/dev-ml/ocaml-cstruct-2.0.0
new file mode 100644
index 000000000000..e189e9e1a662
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/ocaml-cstruct-2.0.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=test? ( dev-ml/ounit ) async? ( dev-ml/async:= ) lwt? ( dev-ml/lwt:= ) ppx? ( dev-ml/ppx_tools:= ) >=dev-lang/ocaml-4.01:= dev-ml/ocplib-endian:= dev-ml/sexplib:= dev-ml/type-conv:= >=dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-lang/ocaml-4.01:= dev-ml/ocplib-endian:= dev-ml/sexplib:= dev-ml/type-conv:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
+SLOT=0/2.0.0
+SRC_URI=https://github.com/mirage/ocaml-cstruct/archive/v2.0.0.tar.gz -> ocaml-cstruct-2.0.0.tar.gz
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=0d5d9d92105d1a26260ce1b1d3ba5960
diff --git a/metadata/md5-cache/dev-ml/ocaml-ctypes-0.5.1 b/metadata/md5-cache/dev-ml/ocaml-ctypes-0.5.1
new file mode 100644
index 000000000000..b7db5ee06ca2
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/ocaml-ctypes-0.5.1
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile install test
+DEPEND=>=dev-lang/ocaml-4.02:=[ocamlopt] virtual/libffi test? ( dev-ml/ounit ) >=dev-ml/findlib-1.0.4-r1
+DESCRIPTION=Library for binding to C libraries using pure OCaml
+EAPI=5
+HOMEPAGE=https://github.com/ocamllabs/ocaml-ctypes
+IUSE=test
+KEYWORDS=~amd64 ~arm ~x86
+LICENSE=MIT
+RDEPEND=>=dev-lang/ocaml-4.02:=[ocamlopt] virtual/libffi
+SLOT=0/0.5.1
+SRC_URI=https://github.com/ocamllabs/ocaml-ctypes/archive/0.5.1.tar.gz -> ocaml-ctypes-0.5.1.tar.gz
+_eclasses_=findlib	9909e5ca0f77ff5b693885a3d7aeadb7
+_md5_=a9cd8564fc646f138408a03116147fd6
diff --git a/metadata/md5-cache/dev-ml/ocaml-gettext-0.3.5 b/metadata/md5-cache/dev-ml/ocaml-gettext-0.3.5
index 247e73aaff70..17181c5cda8f 100644
--- a/metadata/md5-cache/dev-ml/ocaml-gettext-0.3.5
+++ b/metadata/md5-cache/dev-ml/ocaml-gettext-0.3.5
@@ -1,4 +1,4 @@
-DEFINED_PHASES=compile configure install
+DEFINED_PHASES=compile configure install prepare
 DEPEND=>=dev-lang/ocaml-3.12.1:= >=dev-ml/ocaml-fileutils-0.4.0:= >=dev-ml/camomile-0.8.3:= sys-devel/gettext || ( dev-ml/camlp4:= =dev-ml/findlib-1.0.4-r1
 DESCRIPTION=Provides support for internationalization of OCaml program
 EAPI=5
@@ -9,5 +9,5 @@ LICENSE=LGPL-2.1-with-linking-exception
 RDEPEND=>=dev-lang/ocaml-3.12.1:= >=dev-ml/ocaml-fileutils-0.4.0:= >=dev-ml/camomile-0.8.3:= sys-devel/gettext || ( dev-ml/camlp4:= =dev-lang/ocaml-3.10.2:=[ocamlopt?] sys-libs/zlib >=virtual/mysql-4.0 >=dev-ml/findlib-1.0.4-r1
 DESCRIPTION=A package for ocaml that provides access to mysql databases
 EAPI=5
@@ -10,4 +10,4 @@ RDEPEND=>=dev-lang/ocaml-3.10.2:=[ocamlopt?] sys-libs/zlib >=virtual/mysql-4.0
 SLOT=0/1.2.0
 SRC_URI=https://forge.ocamlcore.org/frs/download.php/1500/ocaml-mysql-1.2.0.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=ec28814c14053e20c89c591185a0a9a7
+_md5_=3dbc594bb8aac1fa0c0b3e5b5b9cb5cd
diff --git a/metadata/md5-cache/dev-ml/ocaml-pcap-0.4.0 b/metadata/md5-cache/dev-ml/ocaml-pcap-0.4.0
new file mode 100644
index 000000000000..5623165ddcdf
--- /dev/null
+++ b/metadata/md5-cache/dev-ml/ocaml-pcap-0.4.0
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test unpack
+DEPEND=test? ( dev-ml/ounit >=dev-ml/lwt-2.4.0 ) dev-ml/ocaml-ipaddr:= !dev-ml/mirage-net-socket !=dev-ml/ocaml-cstruct-0.6.0:=[ppx(-)] >=dev-ml/findlib-1.0.4-r1 >=dev-lang/ocaml-3.12:=[ocamlopt?] || ( dev-ml/ocamlbuild =dev-ml/ocaml-cstruct-0.6.0:=[ppx(-)] >=dev-lang/ocaml-3.12:=[ocamlopt?]
+SLOT=0/0.4.0
+SRC_URI=https://github.com/mirage/ocaml-pcap/archive/v0.4.0.tar.gz -> ocaml-pcap-0.4.0.tar.gz
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=8e6a717db21ee0a8fbe05d4f64042741
diff --git a/metadata/md5-cache/dev-ml/ocamlbuild-0.9.1 b/metadata/md5-cache/dev-ml/ocamlbuild-0.9.2
similarity index 52%
rename from metadata/md5-cache/dev-ml/ocamlbuild-0.9.1
rename to metadata/md5-cache/dev-ml/ocamlbuild-0.9.2
index 5e04e4b6fb9c..966a335f44aa 100644
--- a/metadata/md5-cache/dev-ml/ocamlbuild-0.9.1
+++ b/metadata/md5-cache/dev-ml/ocamlbuild-0.9.2
@@ -1,4 +1,4 @@
-DEFINED_PHASES=configure install prepare
+DEFINED_PHASES=configure install
 DEPEND=>=dev-lang/ocaml-4.02.3-r1:=[ocamlopt?]
 DESCRIPTION=OCamlbuild
 EAPI=5
@@ -7,7 +7,6 @@ IUSE=+ocamlopt
 KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux
 LICENSE=LGPL-2.1-with-linking-exception
 RDEPEND=>=dev-lang/ocaml-4.02.3-r1:=[ocamlopt?] ! ocamlbuild-0.9.1.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=6c51b91d3b4b6e1e7c24f3780828bd3a
+SLOT=0/0.9.2
+SRC_URI=https://github.com/ocaml/ocamlbuild/archive/0.9.2.tar.gz -> ocamlbuild-0.9.2.tar.gz
+_md5_=79717a399b6877f8047a258ff1361a5d
diff --git a/metadata/md5-cache/dev-ml/ocamlnet-4.1.1 b/metadata/md5-cache/dev-ml/ocamlnet-4.1.1
index 6dc810d4f900..db62fa461126 100644
--- a/metadata/md5-cache/dev-ml/ocamlnet-4.1.1
+++ b/metadata/md5-cache/dev-ml/ocamlnet-4.1.1
@@ -1,4 +1,4 @@
-DEFINED_PHASES=compile configure install
+DEFINED_PHASES=compile configure install prepare
 DEPEND=>=dev-ml/findlib-1.0 pcre? ( >=dev-ml/pcre-ocaml-5:= ) >=dev-lang/ocaml-3.10.2:=[ocamlopt?] tk? ( || ( dev-ml/labltk:= =dev-ml/lablgtk-2:= ) kerberos? ( virtual/krb5 ) zip? ( dev-ml/camlzip:= ) virtual/pkgconfig >=dev-ml/findlib-1.0.4-r1
 DESCRIPTION=Modules for OCaml application-level Internet protocols
 EAPI=5
@@ -11,4 +11,4 @@ RESTRICT=installsources
 SLOT=0/4.1.1
 SRC_URI=http://download.camlcity.org/download/ocamlnet-4.1.1.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=03ba847bf82a7dd89bd4fc7a235232ff
+_md5_=bb0258848bd6c0fd2db0ae7c0c145ad1
diff --git a/metadata/md5-cache/dev-ml/ppx_bench-113.33.00 b/metadata/md5-cache/dev-ml/ppx_bench-113.33.00
index 94270c1b1d8c..4e1f6d98dbc9 100644
--- a/metadata/md5-cache/dev-ml/ppx_bench-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_bench-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_driver:= dev-ml/ppx_inline_test:= dev-ml/p
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_bench-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=3c00ff222f1102d08d11b8f35d852842
+_md5_=26afb6803e5e0cfdb420be58ae642b26
diff --git a/metadata/md5-cache/dev-ml/ppx_bin_prot-113.33.00 b/metadata/md5-cache/dev-ml/ppx_bin_prot-113.33.00
index ceaaeed35096..064f17f8832d 100644
--- a/metadata/md5-cache/dev-ml/ppx_bin_prot-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_bin_prot-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_type_conv:= >=dev-ml/bin
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_bin_prot-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=9403a0038d29c9d5d88e6e95876e2f04
+_md5_=0bb78151a0ed33ea1d2bf8865b97c272
diff --git a/metadata/md5-cache/dev-ml/ppx_compare-113.33.00 b/metadata/md5-cache/dev-ml/ppx_compare-113.33.00
index 01646b60fc2f..a560cd68f472 100644
--- a/metadata/md5-cache/dev-ml/ppx_compare-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_compare-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_driver:= dev-ml/ppx_type_conv:= dev-ml/ppx
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_compare-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=94d7c1274357ef06c35227ef41e48948
+_md5_=33affef0e06e8196a5bbad79a65dfb00
diff --git a/metadata/md5-cache/dev-ml/ppx_core-113.33.00 b/metadata/md5-cache/dev-ml/ppx_core-113.33.00
index 384f5b0d6e79..d68fd02bb196 100644
--- a/metadata/md5-cache/dev-ml/ppx_core-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_core-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_core-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=3435a52aa918b3c46dcb0ae7558db6cf
+_md5_=f1c4cbc1e373ae33ff7b9dbef8cb59e0
diff --git a/metadata/md5-cache/dev-ml/ppx_custom_printf-113.33.00 b/metadata/md5-cache/dev-ml/ppx_custom_printf-113.33.00
index 9aab30feacb8..ad3c8b0c59b6 100644
--- a/metadata/md5-cache/dev-ml/ppx_custom_printf-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_custom_printf-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= dev-ml/ppx_sexp
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_custom_printf-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=6777df528dcf7e7de6fb8dc1b50ffee7
+_md5_=6aad48f4a0f1becc20e20ebc497affc9
diff --git a/metadata/md5-cache/dev-ml/ppx_driver-113.33.00 b/metadata/md5-cache/dev-ml/ppx_driver-113.33.00
index a1db792ef123..19b930dc3108 100644
--- a/metadata/md5-cache/dev-ml/ppx_driver-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_driver-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= >=dev-ml/ppx_core-113.33.00:= dev-ml/ocamlbuild:=[oca
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_driver-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=41f142ff3692cb87102ceeb32c1a8dd1
+_md5_=3d4a408cc12941c4acb66d8f8c9e42d2
diff --git a/metadata/md5-cache/dev-ml/ppx_enumerate-113.33.00 b/metadata/md5-cache/dev-ml/ppx_enumerate-113.33.00
index dacdf53b5bb3..8ee502668e2f 100644
--- a/metadata/md5-cache/dev-ml/ppx_enumerate-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_enumerate-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_type_conv:= >=dev-lang/o
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_enumerate-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=a4297bbc166eb34bdc27a59cd6f64359
+_md5_=cdf05985d57c167d5ceed4bedcb12f14
diff --git a/metadata/md5-cache/dev-ml/ppx_expect-113.33.01 b/metadata/md5-cache/dev-ml/ppx_expect-113.33.01
index fe5256be1051..5bdfdf7f63af 100644
--- a/metadata/md5-cache/dev-ml/ppx_expect-113.33.01
+++ b/metadata/md5-cache/dev-ml/ppx_expect-113.33.01
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/fieldslib:= dev-ml/ppx_assert:= dev-ml/ppx_com
 SLOT=0/113.33.01
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_expect-113.33.01.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=be07259612a6b2e3ea00b9de284d6afe
+_md5_=79253bdf2b2a14750b9624c65a4ca0b8
diff --git a/metadata/md5-cache/dev-ml/ppx_fail-113.33.00 b/metadata/md5-cache/dev-ml/ppx_fail-113.33.00
index ce7be71fed92..98d13c544356 100644
--- a/metadata/md5-cache/dev-ml/ppx_fail-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_fail-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= dev-ml/ppx_here
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_fail-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=a576ff011e3b7f051015ec1f08816fa9
+_md5_=18d7f2132e4dea729769d72df2ed2f1e
diff --git a/metadata/md5-cache/dev-ml/ppx_fields_conv-113.33.00 b/metadata/md5-cache/dev-ml/ppx_fields_conv-113.33.00
index d0bd2a7e3a30..c6c030a50622 100644
--- a/metadata/md5-cache/dev-ml/ppx_fields_conv-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_fields_conv-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_type_conv:= dev-ml/field
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_fields_conv-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=fa5a8694158e76af8ddf809506a834f7
+_md5_=a244575fd2bd47429d8f3e4b90ded73a
diff --git a/metadata/md5-cache/dev-ml/ppx_inline_test-113.33.00 b/metadata/md5-cache/dev-ml/ppx_inline_test-113.33.00
index 8320a04df78a..7125bfdfd19f 100644
--- a/metadata/md5-cache/dev-ml/ppx_inline_test-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_inline_test-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_driver:= dev-ml/ppx_core:= >=dev-lang/ocam
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_inline_test-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=fca780ff1a4e41f1093b33f3e870ec93
+_md5_=d760a5214c1b03199538c7ed0e97eb47
diff --git a/metadata/md5-cache/dev-ml/ppx_let-113.33.00 b/metadata/md5-cache/dev-ml/ppx_let-113.33.00
index d72c4be4f6ce..5456a705fd6b 100644
--- a/metadata/md5-cache/dev-ml/ppx_let-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_let-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= >=dev-lang/ocam
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_let-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=a6684215f70c387675af5bf8e9c40e4c
+_md5_=621af4529eac4450bf0f878605da1973
diff --git a/metadata/md5-cache/dev-ml/ppx_optcomp-113.33.00 b/metadata/md5-cache/dev-ml/ppx_optcomp-113.33.00
index cf3fd7e1a389..0782fda5e019 100644
--- a/metadata/md5-cache/dev-ml/ppx_optcomp-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_optcomp-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_optcomp-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=d1ea3a9470ffa5f3d2004c22cdf8dcc8
+_md5_=11bcface7cb7ea66562abf678e683f25
diff --git a/metadata/md5-cache/dev-ml/ppx_pipebang-113.33.00 b/metadata/md5-cache/dev-ml/ppx_pipebang-113.33.00
index d94ddad3d2b9..7e6a3dcedc9f 100644
--- a/metadata/md5-cache/dev-ml/ppx_pipebang-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_pipebang-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= >=dev-lang/ocam
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_pipebang-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=63efcff54f7cb4bef1009d34dbbaffa4
+_md5_=069b8e5a4478689a81d570f294fcff00
diff --git a/metadata/md5-cache/dev-ml/ppx_sexp_conv-113.33.00 b/metadata/md5-cache/dev-ml/ppx_sexp_conv-113.33.00
index 737e8c9943db..84ee88cd722e 100644
--- a/metadata/md5-cache/dev-ml/ppx_sexp_conv-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_sexp_conv-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_type_conv:= dev-ml/sexpl
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_conv-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=011e52ffa8643207762b52d5b0768146
+_md5_=590443ed8529bd30569519ba6fd08c54
diff --git a/metadata/md5-cache/dev-ml/ppx_sexp_message-113.33.00 b/metadata/md5-cache/dev-ml/ppx_sexp_message-113.33.00
index bcc14464ba9c..3e3253b00e48 100644
--- a/metadata/md5-cache/dev-ml/ppx_sexp_message-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_sexp_message-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= dev-ml/ppx_here
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_message-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=064866c9ec1f65ef9a34cc5c32dd4549
+_md5_=b0e9c776e2f0921aa5f2b63f6bd0f332
diff --git a/metadata/md5-cache/dev-ml/ppx_sexp_value-113.33.00 b/metadata/md5-cache/dev-ml/ppx_sexp_value-113.33.00
index 2a4dfe65c5fc..6884e284ba4c 100644
--- a/metadata/md5-cache/dev-ml/ppx_sexp_value-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_sexp_value-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= dev-ml/ppx_here
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_sexp_value-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=a7765729b2f3dd283b772378e837fc4f
+_md5_=6cf646ac7ad2250497b8fc315bf41930
diff --git a/metadata/md5-cache/dev-ml/ppx_type_conv-113.33.00 b/metadata/md5-cache/dev-ml/ppx_type_conv-113.33.00
index 6e193ea790a8..28514568a89e 100644
--- a/metadata/md5-cache/dev-ml/ppx_type_conv-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_type_conv-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_driver:= dev-ml/ppx_deriving:= dev-ml/ppx_
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_type_conv-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=3d2776c07c474bb090e803189de3347b
+_md5_=ff351af9d1f33ee6e699ca17ea111bd8
diff --git a/metadata/md5-cache/dev-ml/ppx_typerep_conv-113.33.00 b/metadata/md5-cache/dev-ml/ppx_typerep_conv-113.33.00
index b5c66c182518..8aa028147786 100644
--- a/metadata/md5-cache/dev-ml/ppx_typerep_conv-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_typerep_conv-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_core:= dev-ml/ppx_tools:= dev-ml/ppx_type_conv:= dev-ml/typer
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_typerep_conv-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=396696963388aea1646234e0ece16db8
+_md5_=4d816f4fbdbdd198ce1ccc18931c244f
diff --git a/metadata/md5-cache/dev-ml/ppx_variants_conv-113.33.00 b/metadata/md5-cache/dev-ml/ppx_variants_conv-113.33.00
index 7dcf8ce2e16e..be9e6751a90b 100644
--- a/metadata/md5-cache/dev-ml/ppx_variants_conv-113.33.00
+++ b/metadata/md5-cache/dev-ml/ppx_variants_conv-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=dev-ml/ppx_tools:= dev-ml/ppx_core:= dev-ml/ppx_driver:= dev-ml/ppx_type
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/ppx_variants_conv-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=ffe38b3ccf0eaf4b179a3e1321de411c
+_md5_=89b9f27521ed6c898d89ababd5a29c3c
diff --git a/metadata/md5-cache/dev-ml/pxp-1.2.8 b/metadata/md5-cache/dev-ml/pxp-1.2.8
index 5b2e7c81f523..f65c81fe5791 100644
--- a/metadata/md5-cache/dev-ml/pxp-1.2.8
+++ b/metadata/md5-cache/dev-ml/pxp-1.2.8
@@ -1,4 +1,4 @@
-DEFINED_PHASES=compile configure install
+DEFINED_PHASES=compile configure install prepare
 DEPEND=>=dev-ml/pcre-ocaml-4.31:= >=dev-ml/ulex-0.5:= >=dev-ml/ocamlnet-4:= >=dev-lang/ocaml-3.10.2:=[ocamlopt?] || ( dev-ml/camlp4:= =dev-ml/findlib-1.0.4-r1
 DESCRIPTION=validating XML parser library for O'Caml
 EAPI=5
@@ -10,4 +10,4 @@ RDEPEND=>=dev-ml/pcre-ocaml-4.31:= >=dev-ml/ulex-0.5:= >=dev-ml/ocamlnet-4:= >=d
 SLOT=0/1.2.8
 SRC_URI=http://download.camlcity.org/download/pxp-1.2.8.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=379bf3fd292dc217e201a44d26a4e052
+_md5_=96c987c4d24fd311a736b7353264dab5
diff --git a/metadata/md5-cache/dev-ml/sexplib-113.33.00 b/metadata/md5-cache/dev-ml/sexplib-113.33.00
index 49904b83ee36..6c9fcf60c3f4 100644
--- a/metadata/md5-cache/dev-ml/sexplib-113.33.00
+++ b/metadata/md5-cache/dev-ml/sexplib-113.33.00
@@ -10,4 +10,4 @@ RDEPEND=>=dev-ml/type-conv-113.00.00:= >=dev-lang/ocaml-3.12:=[ocamlopt?]
 SLOT=0/113.33.00
 SRC_URI=http://ocaml.janestreet.com/ocaml-core/113.33/files/sexplib-113.33.00.tar.gz
 _eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	findlib	9909e5ca0f77ff5b693885a3d7aeadb7	multilib	23ae8c186171e6476af098d2a50d0ee0	oasis	cc6dfb8b0c04cedd9840ff2ec5e38539	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=0003243f65e2744bf691c5e27b286538
+_md5_=73b5aa953a857ef53fa603f51097d4be
diff --git a/metadata/md5-cache/dev-perl/SOAP-WSDL-3.2.0 b/metadata/md5-cache/dev-perl/SOAP-WSDL-3.2.0
deleted file mode 100644
index b6dcca3b2815..000000000000
--- a/metadata/md5-cache/dev-perl/SOAP-WSDL-3.2.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=>=dev-perl/Class-Load-0.200.0 >=dev-perl/Class-Std-Fast-0.0.5 virtual/perl-Data-Dumper dev-perl/TimeDate virtual/perl-File-Path virtual/perl-File-Spec virtual/perl-Getopt-Long dev-perl/libwww-perl virtual/perl-Scalar-List-Utils dev-perl/Module-Build virtual/perl-Storable >=dev-perl/Template-Toolkit-2.180.0 dev-perl/TermReadKey dev-perl/URI dev-perl/XML-Parser virtual/perl-ExtUtils-MakeMaker test? ( virtual/perl-Test-Simple virtual/perl-Getopt-Long virtual/perl-Storable ) dev-lang/perl:=[-build(-)]
-DESCRIPTION=SOAP with WSDL support
-EAPI=5
-HOMEPAGE=http://search.cpan.org/dist/SOAP-WSDL/
-IUSE=test
-KEYWORDS=~amd64 ~x86
-LICENSE=|| ( Artistic GPL-1+ )
-RDEPEND=>=dev-perl/Class-Load-0.200.0 >=dev-perl/Class-Std-Fast-0.0.5 virtual/perl-Data-Dumper dev-perl/TimeDate virtual/perl-File-Path virtual/perl-File-Spec virtual/perl-Getopt-Long dev-perl/libwww-perl virtual/perl-Scalar-List-Utils dev-perl/Module-Build virtual/perl-Storable >=dev-perl/Template-Toolkit-2.180.0 dev-perl/TermReadKey dev-perl/URI dev-perl/XML-Parser dev-lang/perl:=[-build(-)]
-SLOT=0
-SRC_URI=mirror://cpan/authors/id/S/SW/SWALTERS/SOAP-WSDL-v3.002.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	unpacker	45d07319df5f40ee6af58418b0f930be
-_md5_=ebba8b50233a51079b038772073363c6
diff --git a/metadata/md5-cache/dev-perl/Socket6-0.230.0-r1 b/metadata/md5-cache/dev-perl/Socket6-0.230.0-r1
deleted file mode 100644
index e461a3cbd2be..000000000000
--- a/metadata/md5-cache/dev-perl/Socket6-0.230.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=dev-lang/perl:=[-build(-)]
-DESCRIPTION=IPv6 related part of the C socket.h defines and structure manipulators
-EAPI=5
-HOMEPAGE=http://search.cpan.org/dist/Socket6/
-KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris
-LICENSE=BSD
-RDEPEND=dev-lang/perl:=[-build(-)]
-SLOT=0
-SRC_URI=mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-0.23.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	unpacker	45d07319df5f40ee6af58418b0f930be
-_md5_=b4dd574c8a861285cf811852b4b527db
diff --git a/metadata/md5-cache/dev-perl/Sort-Versions-1.610.0 b/metadata/md5-cache/dev-perl/Sort-Versions-1.610.0
deleted file mode 100644
index 3ed89241509f..000000000000
--- a/metadata/md5-cache/dev-perl/Sort-Versions-1.610.0
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=virtual/perl-Exporter virtual/perl-ExtUtils-MakeMaker test? ( virtual/perl-Test-Simple ) dev-lang/perl:=[-build(-)]
-DESCRIPTION=A perl 5 module for sorting of revision-like numbers
-EAPI=5
-HOMEPAGE=http://search.cpan.org/dist/Sort-Versions/
-IUSE=test
-KEYWORDS=~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris
-LICENSE=|| ( Artistic GPL-1+ )
-RDEPEND=virtual/perl-Exporter dev-lang/perl:=[-build(-)]
-SLOT=0
-SRC_URI=mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.61.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	unpacker	45d07319df5f40ee6af58418b0f930be
-_md5_=4f393963edc24bbd5a370b6c601e311b
diff --git a/metadata/md5-cache/dev-perl/Sphinx-Config-0.90.0-r1 b/metadata/md5-cache/dev-perl/Sphinx-Config-0.90.0-r1
deleted file mode 100644
index 22af341003f1..000000000000
--- a/metadata/md5-cache/dev-perl/Sphinx-Config-0.90.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test unpack
-DEPEND=dev-lang/perl:=[-build(-)]
-DESCRIPTION=Sphinx search engine configuration file read/modify/write
-EAPI=5
-HOMEPAGE=http://search.cpan.org/dist/Sphinx-Config/
-KEYWORDS=~amd64 ~ppc ~ppc64 ~x86
-LICENSE=|| ( Artistic GPL-1+ )
-RDEPEND=dev-lang/perl:=[-build(-)]
-SLOT=0
-SRC_URI=mirror://cpan/authors/id/J/JJ/JJSCHUTZ/Sphinx-Config-0.09.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	unpacker	45d07319df5f40ee6af58418b0f930be
-_md5_=821c8e230adb9fb9ca9193ccb9ca4b84
diff --git a/metadata/md5-cache/dev-perl/Sphinx-Search-0.280-r1 b/metadata/md5-cache/dev-perl/Sphinx-Search-0.280-r1
deleted file mode 100644
index 8971feb28a45..000000000000
--- a/metadata/md5-cache/dev-perl/Sphinx-Search-0.280-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare test unpack
-DEPEND=test? ( dev-perl/File-SearchPath dev-perl/Path-Class dev-perl/DBI ) dev-lang/perl:=[-build(-)]
-DESCRIPTION=Perl API client for Sphinx search engine
-EAPI=5
-HOMEPAGE=http://search.cpan.org/dist/Sphinx-Search/
-IUSE=test
-KEYWORDS=~amd64 ~ppc ~ppc64 ~x86
-LICENSE=|| ( Artistic GPL-1+ )
-RDEPEND=dev-perl/File-SearchPath dev-perl/Path-Class dev-perl/DBI dev-lang/perl:=[-build(-)]
-SLOT=0
-SRC_URI=mirror://cpan/authors/id/J/JJ/JJSCHUTZ/Sphinx-Search-0.28.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	unpacker	45d07319df5f40ee6af58418b0f930be
-_md5_=ba1f5d4e2c1700a37d853369522fedeb
diff --git a/metadata/md5-cache/dev-python/carbon-0.9.13-r1 b/metadata/md5-cache/dev-python/carbon-0.9.13-r1
new file mode 100644
index 000000000000..529c17579d8a
--- /dev/null
+++ b/metadata/md5-cache/dev-python/carbon-0.9.13-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
+DESCRIPTION=Backend data caching and persistence daemon for Graphite
+EAPI=5
+HOMEPAGE=http://graphite.wikidot.com/
+IUSE=python_targets_python2_7
+KEYWORDS=~amd64 ~x86
+LICENSE=Apache-2.0
+RDEPEND=dev-python/twisted-core[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/whisper[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/txAMQP[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
+REQUIRED_USE=|| ( python_targets_python2_7 )
+SLOT=0
+SRC_URI=mirror://pypi/c/carbon/carbon-0.9.13.tar.gz
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=f8920895c8f737a32c5dc0acfc93a2c4
diff --git a/metadata/md5-cache/dev-python/carbon-0.9.14-r1 b/metadata/md5-cache/dev-python/carbon-0.9.14-r1
new file mode 100644
index 000000000000..062cf2597e35
--- /dev/null
+++ b/metadata/md5-cache/dev-python/carbon-0.9.14-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
+DESCRIPTION=Backend data caching and persistence daemon for Graphite
+EAPI=5
+HOMEPAGE=http://graphite.wikidot.com/
+IUSE=python_targets_python2_7
+KEYWORDS=~amd64 ~x86 ~x64-solaris
+LICENSE=Apache-2.0
+RDEPEND=dev-python/twisted-core[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/whisper[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/txAMQP[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
+REQUIRED_USE=|| ( python_targets_python2_7 )
+SLOT=0
+SRC_URI=mirror://pypi/c/carbon/carbon-0.9.14.tar.gz
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=bfaa72f7621b147022cf3b41f547571c
diff --git a/metadata/md5-cache/dev-python/carbon-0.9.15-r1 b/metadata/md5-cache/dev-python/carbon-0.9.15-r1
new file mode 100644
index 000000000000..af171f548705
--- /dev/null
+++ b/metadata/md5-cache/dev-python/carbon-0.9.15-r1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst prepare test
+DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
+DESCRIPTION=Backend data caching and persistence daemon for Graphite
+EAPI=5
+HOMEPAGE=http://graphite.wikidot.com/
+IUSE=python_targets_python2_7
+KEYWORDS=~amd64 ~x86 ~x64-solaris
+LICENSE=Apache-2.0
+RDEPEND=dev-python/twisted-core[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/whisper[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] dev-python/txAMQP[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
+REQUIRED_USE=|| ( python_targets_python2_7 )
+SLOT=0
+SRC_URI=mirror://pypi/c/carbon/carbon-0.9.15.tar.gz
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=ac4ed58cc2467312171a297ac2e4e1e7
diff --git a/metadata/md5-cache/dev-python/fudge-1.1.0 b/metadata/md5-cache/dev-python/fudge-1.1.0
index 0fd577ef296a..3aa4dbab56a9 100644
--- a/metadata/md5-cache/dev-python/fudge-1.1.0
+++ b/metadata/md5-cache/dev-python/fudge-1.1.0
@@ -1,14 +1,14 @@
 DEFINED_PHASES=compile configure install prepare test
-DEPEND=dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)] doc? ( dev-python/sphinx[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)] ) test? ( dev-python/nose[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)] ) python_targets_pypy? ( virtual/pypy:0= ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)]
+DEPEND=dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] doc? ( dev-python/sphinx[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) test? ( dev-python/nose[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) python_targets_pypy? ( virtual/pypy:0= ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
 DESCRIPTION=Replace real objects with fakes (mocks, stubs, etc) while testing
-EAPI=5
+EAPI=6
 HOMEPAGE=http://farmdev.com/projects/fudge/ https://pypi.python.org/pypi/fudge
-IUSE=doc test python_targets_pypy python_targets_python2_7 python_targets_python3_3 python_targets_python3_4
+IUSE=doc test python_targets_pypy python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5
 KEYWORDS=~amd64 ~x86
 LICENSE=MIT
-RDEPEND=python_targets_pypy? ( virtual/pypy:0= ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)]
-REQUIRED_USE=|| ( python_targets_pypy python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 )
+RDEPEND=python_targets_pypy? ( virtual/pypy:0= ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
+REQUIRED_USE=|| ( python_targets_pypy python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 )
 SLOT=0
 SRC_URI=mirror://pypi/f/fudge/fudge-1.1.0.tar.gz
-_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=f77aff0ee271c7e5018241ee04fcbe59
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=0080c3c504f12e357389dc595c55a7fb
diff --git a/metadata/md5-cache/dev-python/graph-tool-2.16 b/metadata/md5-cache/dev-python/graph-tool-2.16
new file mode 100644
index 000000000000..9450d9194321
--- /dev/null
+++ b/metadata/md5-cache/dev-python/graph-tool-2.16
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare pretend setup
+DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=dev-libs/boost-1.54.0[python,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-libs/expat dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] sci-libs/scipy[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=sci-mathematics/cgal-3.5 cairo? ( dev-cpp/cairomm dev-python/pycairo[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) dev-python/matplotlib[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-cpp/sparsehash virtual/pkgconfig
+DESCRIPTION=An efficient python module for manipulation and statistical analysis of graphs
+EAPI=6
+HOMEPAGE=http://graph-tool.skewed.de/
+IUSE=+cairo openmp python_targets_python2_7 python_targets_python3_4 python_targets_python3_5
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-3
+RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=dev-libs/boost-1.54.0[python,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-libs/expat dev-python/numpy[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] sci-libs/scipy[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=sci-mathematics/cgal-3.5 cairo? ( dev-cpp/cairomm dev-python/pycairo[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) dev-python/matplotlib[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
+SLOT=0
+SRC_URI=http://downloads.skewed.de/graph-tool/graph-tool-2.16.tar.bz2
+_eclasses_=check-reqs	aee25bdf4e2f459af86d17f7c41dcdf6	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=3fbc71ee087e0fe6ab6aa11421887ec7
diff --git a/metadata/md5-cache/dev-python/gst-python-1.6.2 b/metadata/md5-cache/dev-python/gst-python-1.6.2
index 6640d1c9dcb6..35310f153fcc 100644
--- a/metadata/md5-cache/dev-python/gst-python-1.6.2
+++ b/metadata/md5-cache/dev-python/gst-python-1.6.2
@@ -4,10 +4,10 @@ DESCRIPTION=A Python Interface to GStreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris
 LICENSE=LGPL-2
 RDEPEND=>=dev-python/pygobject-3:3[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=media-libs/gstreamer-1.6.2:1.0[introspection] >=media-libs/gst-plugins-base-1.6.2:1.0[introspection]
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.6.2.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=2276f77a50a29b4b230b327d2761106e
+_md5_=0a871b46da9d98350c382f194ba27055
diff --git a/metadata/md5-cache/dev-python/nnpy-1.1 b/metadata/md5-cache/dev-python/nnpy-1.1
new file mode 100644
index 000000000000..db312196cfaa
--- /dev/null
+++ b/metadata/md5-cache/dev-python/nnpy-1.1
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=dev-python/cffi[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-libs/nanomsg python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
+DESCRIPTION=cffi-based Python bindings for nanomsg
+EAPI=5
+HOMEPAGE=https://github.com/nanomsg/nnpy
+IUSE=python_targets_python2_7 python_targets_python3_4 python_targets_python3_5
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=dev-python/cffi[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] dev-libs/nanomsg python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
+REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_4 python_targets_python3_5 )
+SLOT=0
+SRC_URI=https://github.com/nanomsg/nnpy/archive/1.1.tar.gz -> nnpy-1.1.tar.gz
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=2e0d6d87dbef86d1de7140ea8a748115
diff --git a/metadata/md5-cache/dev-python/pyatspi-2.18.0 b/metadata/md5-cache/dev-python/pyatspi-2.18.0
index 0c2aaa12ec48..366851bf82cd 100644
--- a/metadata/md5-cache/dev-python/pyatspi-2.18.0
+++ b/metadata/md5-cache/dev-python/pyatspi-2.18.0
@@ -4,11 +4,11 @@ DESCRIPTION=Python binding to at-spi library
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Accessibility
 IUSE=python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=LGPL-2 GPL-2+
 RDEPEND=>=dev-libs/atk-2.11.2 dev-python/dbus-python[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=dev-python/pygobject-2.90.1:3[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=sys-apps/dbus-1 >=app-accessibility/at-spi2-core-2.18.0[introspection] !=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] >=dev-libs/glib-2.38:2 >=dev-libs/gobject-introspection-1.39:= virtual/libffi:= cairo? ( >=dev-python/pycairo-1.10.0[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] x11-libs/cairo ) !=dev-ruby/selenium-webdriver-2.0[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby21] dev-ruby/launchy[ruby_targets_ruby21] >=dev-ruby/selenium-webdriver-2.0[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby22] dev-ruby/launchy[ruby_targets_ruby22] >=dev-ruby/selenium-webdriver-2.0[ruby_targets_ruby22] ) ) test? ( ruby_targets_ruby20? ( dev-ruby/addressable[ruby_targets_ruby20] >=dev-ruby/mime-types-1.16:*[ruby_targets_ruby20] >=dev-ruby/nokogiri-1.3.3[ruby_targets_ruby20] >=dev-ruby/rack-1.0.0:*[ruby_targets_ruby20] >=dev-ruby/rack-test-0.5.4[ruby_targets_ruby20] >=dev-ruby/xpath-2.0.0:2[ruby_targets_ruby20] ) ruby_targets_ruby21? ( dev-ruby/addressable[ruby_targets_ruby21] >=dev-ruby/mime-types-1.16:*[ruby_targets_ruby21] >=dev-ruby/nokogiri-1.3.3[ruby_targets_ruby21] >=dev-ruby/rack-1.0.0:*[ruby_targets_ruby21] >=dev-ruby/rack-test-0.5.4[ruby_targets_ruby21] >=dev-ruby/xpath-2.0.0:2[ruby_targets_ruby21] ) ruby_targets_ruby22? ( dev-ruby/addressable[ruby_targets_ruby22] >=dev-ruby/mime-types-1.16:*[ruby_targets_ruby22] >=dev-ruby/nokogiri-1.3.3[ruby_targets_ruby22] >=dev-ruby/rack-1.0.0:*[ruby_targets_ruby22] >=dev-ruby/rack-test-0.5.4[ruby_targets_ruby22] >=dev-ruby/xpath-2.0.0:2[ruby_targets_ruby22] ) ) test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) )
+DESCRIPTION=Capybara aims to simplify the process of integration testing Rack applications
+EAPI=5
+HOMEPAGE=https://github.com/jnicklas/capybara
+IUSE=test test elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 test
+KEYWORDS=~amd64 ~x86
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby20? ( dev-ruby/addressable[ruby_targets_ruby20] >=dev-ruby/mime-types-1.16:*[ruby_targets_ruby20] >=dev-ruby/nokogiri-1.3.3[ruby_targets_ruby20] >=dev-ruby/rack-1.0.0:*[ruby_targets_ruby20] >=dev-ruby/rack-test-0.5.4[ruby_targets_ruby20] >=dev-ruby/xpath-2.0.0:2[ruby_targets_ruby20] ) ruby_targets_ruby21? ( dev-ruby/addressable[ruby_targets_ruby21] >=dev-ruby/mime-types-1.16:*[ruby_targets_ruby21] >=dev-ruby/nokogiri-1.3.3[ruby_targets_ruby21] >=dev-ruby/rack-1.0.0:*[ruby_targets_ruby21] >=dev-ruby/rack-test-0.5.4[ruby_targets_ruby21] >=dev-ruby/xpath-2.0.0:2[ruby_targets_ruby21] ) ruby_targets_ruby22? ( dev-ruby/addressable[ruby_targets_ruby22] >=dev-ruby/mime-types-1.16:*[ruby_targets_ruby22] >=dev-ruby/nokogiri-1.3.3[ruby_targets_ruby22] >=dev-ruby/rack-1.0.0:*[ruby_targets_ruby22] >=dev-ruby/rack-test-0.5.4[ruby_targets_ruby22] >=dev-ruby/xpath-2.0.0:2[ruby_targets_ruby22] ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] )
+REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 )
+SLOT=2
+SRC_URI=mirror://rubygems/capybara-2.7.1.gem
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-fakegem	836f858624840907bbb6ae6f2c881cb7	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96
+_md5_=d50fe030348d0a1da57cfa086c7f97bb
diff --git a/metadata/md5-cache/dev-ruby/concurrent-ruby-1.0.2 b/metadata/md5-cache/dev-ruby/concurrent-ruby-1.0.2
new file mode 100644
index 000000000000..8f9ae5c32625
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/concurrent-ruby-1.0.2
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) )
+DESCRIPTION=Modern concurrency tools including agents, futures, promises, thread pools, more
+EAPI=5
+HOMEPAGE=https://github.com/ruby-concurrency/concurrent-ruby
+IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 test test
+KEYWORDS=~amd64 ~arm ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] )
+REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 )
+SLOT=1
+SRC_URI=https://github.com/ruby-concurrency/concurrent-ruby/archive/v1.0.2.tar.gz -> concurrent-ruby-1.0.2.tar.gz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-fakegem	836f858624840907bbb6ae6f2c881cb7	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=978ff31816af8516a0692415a8e31d64
diff --git a/metadata/md5-cache/dev-ruby/multi_json-1.12.0 b/metadata/md5-cache/dev-ruby/multi_json-1.12.0
new file mode 100644
index 000000000000..609df7f9f8a3
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/multi_json-1.12.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=test? ( ruby_targets_ruby20? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby20] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby20] =dev-ruby/activesupport-3*[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby21] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby21] =dev-ruby/activesupport-3*[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby22] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby22] =dev-ruby/activesupport-3*[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby23] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby23] =dev-ruby/activesupport-3*[ruby_targets_ruby23] ) ) ) ruby_targets_ruby20? ( doc? ( dev-ruby/rspec:3[ruby_targets_ruby20] dev-ruby/yard[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( doc? ( dev-ruby/rspec:3[ruby_targets_ruby21] dev-ruby/yard[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( doc? ( dev-ruby/rspec:3[ruby_targets_ruby22] dev-ruby/yard[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( doc? ( dev-ruby/rspec:3[ruby_targets_ruby23] dev-ruby/yard[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( test? ( dev-ruby/json[ruby_targets_ruby20] dev-ruby/yajl-ruby[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( test? ( dev-ruby/json[ruby_targets_ruby21] dev-ruby/yajl-ruby[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( test? ( dev-ruby/json[ruby_targets_ruby22] dev-ruby/yajl-ruby[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( test? ( dev-ruby/json[ruby_targets_ruby23] dev-ruby/yajl-ruby[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( doc? ( dev-ruby/rake[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( doc? ( dev-ruby/rake[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( doc? ( dev-ruby/rake[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( doc? ( dev-ruby/rake[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) )
+DESCRIPTION=A gem to provide swappable JSON backends
+EAPI=5
+HOMEPAGE=https://github.com/intridea/multi_json
+IUSE=test elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 doc test test
+KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ppc64 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby20? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby20] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby20] =dev-ruby/activesupport-3*[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby21] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby21] =dev-ruby/activesupport-3*[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby22] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby22] =dev-ruby/activesupport-3*[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( || ( >=dev-ruby/json-1.4[ruby_targets_ruby23] >=dev-ruby/yajl-ruby-1.0[ruby_targets_ruby23] =dev-ruby/activesupport-3*[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] )
+REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 )
+SLOT=0
+SRC_URI=https://github.com/intridea/multi_json/archive/v1.12.0.tar.gz -> multi_json-1.12.0.tar.gz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-fakegem	836f858624840907bbb6ae6f2c881cb7	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=3d3cb30eb751691e08bdb216cacfa363
diff --git a/metadata/md5-cache/dev-ruby/redcloth-4.3.0 b/metadata/md5-cache/dev-ruby/redcloth-4.3.0
new file mode 100644
index 000000000000..113027ce8c6b
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/redcloth-4.3.0
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=dev-util/ragel ruby_targets_ruby20? ( >=dev-ruby/rake-0.8.7[ruby_targets_ruby20] >=dev-ruby/rake-compiler-0.7.1[ruby_targets_ruby20] test? ( >=dev-ruby/diff-lcs-1.1.2[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( >=dev-ruby/rake-0.8.7[ruby_targets_ruby21] >=dev-ruby/rake-compiler-0.7.1[ruby_targets_ruby21] test? ( >=dev-ruby/diff-lcs-1.1.2[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( >=dev-ruby/rake-0.8.7[ruby_targets_ruby22] >=dev-ruby/rake-compiler-0.7.1[ruby_targets_ruby22] test? ( >=dev-ruby/diff-lcs-1.1.2[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( >=dev-ruby/rake-0.8.7[ruby_targets_ruby23] >=dev-ruby/rake-compiler-0.7.1[ruby_targets_ruby23] test? ( >=dev-ruby/diff-lcs-1.1.2[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( test? ( dev-ruby/rspec:2[ruby_targets_ruby20] >=dev-ruby/rspec-core-2.14.8-r2[ruby_targets_ruby20] ) ) ruby_targets_ruby21? ( test? ( dev-ruby/rspec:2[ruby_targets_ruby21] >=dev-ruby/rspec-core-2.14.8-r2[ruby_targets_ruby21] ) ) ruby_targets_ruby22? ( test? ( dev-ruby/rspec:2[ruby_targets_ruby22] >=dev-ruby/rspec-core-2.14.8-r2[ruby_targets_ruby22] ) ) ruby_targets_ruby23? ( test? ( dev-ruby/rspec:2[ruby_targets_ruby23] >=dev-ruby/rspec-core-2.14.8-r2[ruby_targets_ruby23] ) ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) test? ( ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] ) )
+DESCRIPTION=A module for using Textile in Ruby
+EAPI=5
+HOMEPAGE=http://redcloth.org/
+IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 doc test test
+KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] ) ruby_targets_ruby23? ( virtual/rubygems[ruby_targets_ruby23] )
+REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 )
+SLOT=0
+SRC_URI=https://github.com/jgarber/redcloth/archive/v4.3.0.tar.gz -> RedCloth-4.3.0.tar.gz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-fakegem	836f858624840907bbb6ae6f2c881cb7	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=f9b5aed0c44fcb0dee476b6c6ea1b9f4
diff --git a/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0 b/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0
deleted file mode 100644
index d9a4ea7b9339..000000000000
--- a/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 )
-DESCRIPTION=A Ruby interface to termios
-EAPI=5
-HOMEPAGE=http://arika.org/ruby/termios
-IUSE=elibc_FreeBSD ruby_targets_ruby20
-KEYWORDS=amd64 ~hppa ~mips ~ppc x86 ~x86-macos
-LICENSE=Ruby
-RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 )
-REQUIRED_USE=|| ( ruby_targets_ruby20 )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/arika/ruby-termios/archive/version_1_0_0.tar.gz -> ruby-termios-1.0.0.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=717e2a012c12066ff37e72f48e7f6e1c
diff --git a/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0-r1 b/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0-r1
index c1cfd9bd5e53..e3620480b09d 100644
--- a/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0-r1
+++ b/metadata/md5-cache/dev-ruby/ruby-termios-1.0.0-r1
@@ -1,15 +1,15 @@
 DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 )
+DEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 )
 DESCRIPTION=A Ruby interface to termios
 EAPI=5
 HOMEPAGE=http://arika.org/ruby/termios
-IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22
-KEYWORDS=~amd64 ~hppa ~mips ~ppc ~x86 ~x86-macos
+IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23
+KEYWORDS=amd64 ~hppa ~mips ~ppc x86 ~x86-macos
 LICENSE=Ruby
-RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 )
-REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 )
+RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby23? ( dev-lang/ruby:2.3 )
+REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 ruby_targets_ruby23 )
 RESTRICT=test
 SLOT=0
 SRC_URI=https://github.com/arika/ruby-termios/archive/version_1_0_0.tar.gz -> ruby-termios-1.0.0.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=569af80b68a6e4874b5e5529cf85181b
+_md5_=afb4e814cf3db9a90d99a41523e7f7f4
diff --git a/metadata/md5-cache/dev-ruby/snmplib-1.2.0-r1 b/metadata/md5-cache/dev-ruby/snmplib-1.2.0-r1
index 0f3544e6c03b..0ab509fdd8aa 100644
--- a/metadata/md5-cache/dev-ruby/snmplib-1.2.0-r1
+++ b/metadata/md5-cache/dev-ruby/snmplib-1.2.0-r1
@@ -4,11 +4,11 @@ DESCRIPTION=SNMP library implemented in pure Ruby
 EAPI=5
 HOMEPAGE=http://snmplib.rubyforge.org/
 IUSE=elibc_FreeBSD ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 test test
-KEYWORDS=~amd64 ~ppc ~x86
+KEYWORDS=amd64 ppc x86
 LICENSE=Ruby
 RDEPEND=ruby_targets_ruby20? ( dev-lang/ruby:2.0 ) ruby_targets_ruby21? ( dev-lang/ruby:2.1 ) ruby_targets_ruby22? ( dev-lang/ruby:2.2 ) ruby_targets_ruby20? ( virtual/rubygems[ruby_targets_ruby20] ) ruby_targets_ruby21? ( virtual/rubygems[ruby_targets_ruby21] ) ruby_targets_ruby22? ( virtual/rubygems[ruby_targets_ruby22] )
 REQUIRED_USE=|| ( ruby_targets_ruby20 ruby_targets_ruby21 ruby_targets_ruby22 )
 SLOT=0
 SRC_URI=mirror://rubygems/snmp-1.2.0.gem
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	java-utils-2	9e28057f28d9dbd057aa04aacd786b94	multilib	23ae8c186171e6476af098d2a50d0ee0	ruby-fakegem	836f858624840907bbb6ae6f2c881cb7	ruby-ng	3b6431b487e69b5070a45ea20d1c4c6c	ruby-utils	2f896785ed65442d7e84ab5f5eef3bd3	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=7671ae513b71cf865db7c63d0fecf3f5
+_md5_=eabc4546afb1e9519c3e2a120161f2ed
diff --git a/metadata/md5-cache/dev-util/electron-0.36.12 b/metadata/md5-cache/dev-util/electron-0.36.12
new file mode 100644
index 000000000000..76607825a53f
--- /dev/null
+++ b/metadata/md5-cache/dev-util/electron-0.36.12
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare pretend setup
+DEPEND=>=app-accessibility/speech-dispatcher-0.8:= app-arch/bzip2:= app-arch/snappy:= cups? ( >=net-print/cups-1.3.11:= ) >=dev-libs/elfutils-0.149 dev-libs/expat:= dev-libs/glib:= >=dev-libs/icu-55.1:= >=dev-libs/jsoncpp-0.5.0-r1:= >=dev-libs/libevent-1.4.13:= dev-libs/libxml2:=[icu] dev-libs/libxslt:= dev-libs/nspr:= >=dev-libs/nss-3.14.3:= dev-libs/re2:= gnome? ( >=gnome-base/gconf-2.24.0:= ) gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) >=media-libs/alsa-lib-1.0.19:= media-libs/flac:= media-libs/fontconfig:= media-libs/freetype:= >=media-libs/harfbuzz-0.9.41:=[icu(+)] media-libs/libexif:= >=media-libs/libjpeg-turbo-1.2.0-r1:= media-libs/libpng:0= >=media-libs/libwebp-0.4.0:= media-libs/speex:= pulseaudio? ( media-sound/pulseaudio:= ) system-ffmpeg? ( >=media-video/ffmpeg-2.7.2:=[opus,vorbis,vpx] ) sys-apps/dbus:= sys-apps/pciutils:= >=sys-libs/libcap-2.22:= sys-libs/zlib:=[minizip] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:= gtk3? ( x11-libs/gtk+:3= ) !gtk3? ( x11-libs/gtk+:2= ) x11-libs/libdrm x11-libs/libX11:= x11-libs/libXcomposite:= x11-libs/libXcursor:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXfixes:= >=x11-libs/libXi-1.6.0:= x11-libs/libXinerama:= x11-libs/libXrandr:= x11-libs/libXrender:= x11-libs/libXScrnSaver:= x11-libs/libXtst:= x11-libs/pango:= kerberos? ( virtual/krb5 ) >=net-libs/http-parser-2.6.2:= >=dev-libs/libuv-1.8.0:= >=dev-libs/openssl-1.0.2g:0=[-bindist] !arm? ( dev-lang/yasm ) dev-lang/perl dev-perl/JSON >=dev-util/gperf-3.0.3 dev-util/ninja net-libs/nodejs[npm] sys-apps/hwids[usb(+)] >=sys-devel/bison-2.4.3 sys-devel/flex virtual/pkgconfig || ( ( >=dev-lang/python-2.7.5-r2:2.7 dev-python/beautifulsoup:python-2[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/beautifulsoup:4[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/html5lib[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/jinja[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/jsmin[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/ply[python_targets_python2_7(-),python_single_target_python2_7(+)] dev-python/simplejson[python_targets_python2_7(-),python_single_target_python2_7(+)] ) ) >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
+DESCRIPTION=Cross platform application development framework based on web technologies
+EAPI=5
+HOMEPAGE=http://electron.atom.io/
+IUSE=custom-cflags cups gnome gnome-keyring gtk3 hidpi kerberos lto neon pic +proprietary-codecs pulseaudio selinux +system-ffmpeg +tcmalloc +linguas_am +linguas_ar +linguas_bg +linguas_bn +linguas_ca +linguas_cs +linguas_da +linguas_de +linguas_el +linguas_en_GB +linguas_es +linguas_es_LA +linguas_et +linguas_fa +linguas_fi +linguas_fil +linguas_fr +linguas_gu +linguas_he +linguas_hi +linguas_hr +linguas_hu +linguas_id +linguas_it +linguas_ja +linguas_kn +linguas_ko +linguas_lt +linguas_lv +linguas_ml +linguas_mr +linguas_ms +linguas_nb +linguas_nl +linguas_pl +linguas_pt_BR +linguas_pt_PT +linguas_ro +linguas_ru +linguas_sk +linguas_sl +linguas_sr +linguas_sv +linguas_sw +linguas_ta +linguas_te +linguas_th +linguas_tr +linguas_uk +linguas_vi +linguas_zh_CN +linguas_zh_TW test
+KEYWORDS=~amd64
+LICENSE=BSD
+RDEPEND=>=app-accessibility/speech-dispatcher-0.8:= app-arch/bzip2:= app-arch/snappy:= cups? ( >=net-print/cups-1.3.11:= ) >=dev-libs/elfutils-0.149 dev-libs/expat:= dev-libs/glib:= >=dev-libs/icu-55.1:= >=dev-libs/jsoncpp-0.5.0-r1:= >=dev-libs/libevent-1.4.13:= dev-libs/libxml2:=[icu] dev-libs/libxslt:= dev-libs/nspr:= >=dev-libs/nss-3.14.3:= dev-libs/re2:= gnome? ( >=gnome-base/gconf-2.24.0:= ) gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= ) >=media-libs/alsa-lib-1.0.19:= media-libs/flac:= media-libs/fontconfig:= media-libs/freetype:= >=media-libs/harfbuzz-0.9.41:=[icu(+)] media-libs/libexif:= >=media-libs/libjpeg-turbo-1.2.0-r1:= media-libs/libpng:0= >=media-libs/libwebp-0.4.0:= media-libs/speex:= pulseaudio? ( media-sound/pulseaudio:= ) system-ffmpeg? ( >=media-video/ffmpeg-2.7.2:=[opus,vorbis,vpx] ) sys-apps/dbus:= sys-apps/pciutils:= >=sys-libs/libcap-2.22:= sys-libs/zlib:=[minizip] virtual/udev x11-libs/cairo:= x11-libs/gdk-pixbuf:= gtk3? ( x11-libs/gtk+:3= ) !gtk3? ( x11-libs/gtk+:2= ) x11-libs/libdrm x11-libs/libX11:= x11-libs/libXcomposite:= x11-libs/libXcursor:= x11-libs/libXdamage:= x11-libs/libXext:= x11-libs/libXfixes:= >=x11-libs/libXi-1.6.0:= x11-libs/libXinerama:= x11-libs/libXrandr:= x11-libs/libXrender:= x11-libs/libXScrnSaver:= x11-libs/libXtst:= x11-libs/pango:= kerberos? ( virtual/krb5 ) >=net-libs/http-parser-2.6.2:= >=dev-libs/libuv-1.8.0:= >=dev-libs/openssl-1.0.2g:0=[-bindist] x11-misc/xdg-utils virtual/opengl virtual/ttf-fonts selinux? ( sec-policy/selinux-chromium ) tcmalloc? ( ! electron-0.36.12.tar.gz https://github.com/electron/brightray/archive/9bc1d21b69ac99bed546d42035dc1205ea6b04af.tar.gz -> brightray-9bc1d21b69ac99bed546d42035dc1205ea6b04af.tar.gz https://github.com/electron/node/archive/a507a3c3816d6ac085ed46250c489a3d76ab8b3c.tar.gz -> electron-node-a507a3c3816d6ac085ed46250c489a3d76ab8b3c.tar.gz https://github.com/zcbenz/native-mate/archive/e719eab878c264bb03188d0cd6eb9ad6882bc13a.tar.gz -> native-mate-e719eab878c264bb03188d0cd6eb9ad6882bc13a.tar.gz https://github.com/electron/libchromiumcontent/archive/ad63d8ba890bcaad2f1b7e6de148b7992f4d3af7.tar.gz -> libchromiumcontent-ad63d8ba890bcaad2f1b7e6de148b7992f4d3af7.tar.gz https://github.com/elprans/asar/releases/download/v0.10.0-gentoo/asar-build.tar.gz -> asar-0.10.0.tar.gz
+_eclasses_=check-reqs	aee25bdf4e2f459af86d17f7c41dcdf6	chromium	e6257bd55bfdac1269e99d4d7ed21cda	eutils	792f83d5ec9536cb5ccef375469d8bde	fdo-mime	92d07846ea8ea54172f8c0112a47ae3d	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	pax-utils	ecf634cba91bb9591a8fdb6f6145f1bb	portability	bb1a0ed8ea152b957d17339f01d4d7f5	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	readme.gentoo-r1	03878c06495db70bc36bd717383c09f7	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
+_md5_=b675902d155d6109a0e36dc7790433b9
diff --git a/metadata/md5-cache/dev-util/gdbus-codegen-2.46.2 b/metadata/md5-cache/dev-util/gdbus-codegen-2.46.2
index 5daa26d3d5c5..5623c8e7c0b9 100644
--- a/metadata/md5-cache/dev-util/gdbus-codegen-2.46.2
+++ b/metadata/md5-cache/dev-util/gdbus-codegen-2.46.2
@@ -4,7 +4,7 @@ DESCRIPTION=GDBus code and documentation generator
 EAPI=5
 HOMEPAGE=http://www.gtk.org/
 IUSE=python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos
 LICENSE=LGPL-2+
 PDEPEND=>=dev-libs/glib-2.46.2:2
 RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
@@ -12,4 +12,4 @@ REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targe
 SLOT=0
 SRC_URI=mirror://gnome/sources/glib/2.46/glib-2.46.2.tar.xz
 _eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=59cd53dfedef7c1737c2600b3bbc4361
+_md5_=04fe2e2c77ea102490fa4e604c74e110
diff --git a/metadata/md5-cache/dev-util/gtk-builder-convert-2.24.29 b/metadata/md5-cache/dev-util/gtk-builder-convert-2.24.29
index 6857068cd0f5..2bc481bd6595 100644
--- a/metadata/md5-cache/dev-util/gtk-builder-convert-2.24.29
+++ b/metadata/md5-cache/dev-util/gtk-builder-convert-2.24.29
@@ -4,11 +4,11 @@ DESCRIPTION=Converts Glade files to GtkBuilder XML format
 EAPI=5
 HOMEPAGE=http://www.gtk.org/
 IUSE=python_targets_python2_7
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=>=dev-lang/python-2.7.5-r2:2.7[xml] >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] !<=x11-libs/gtk+-2.24.10:2
 REQUIRED_USE=python_targets_python2_7
 SLOT=0
 SRC_URI=mirror://gnome/sources/gtk+/2.24/gtk+-2.24.29.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=05ccf24fe8e56adb6caf1615e2f8df5e
+_md5_=62876a51bc7a834ce325d8efd8940256
diff --git a/metadata/md5-cache/dev-util/gtk-update-icon-cache-3.18.4 b/metadata/md5-cache/dev-util/gtk-update-icon-cache-3.18.4
index 99cfa98a3dc5..272f853fc925 100644
--- a/metadata/md5-cache/dev-util/gtk-update-icon-cache-3.18.4
+++ b/metadata/md5-cache/dev-util/gtk-update-icon-cache-3.18.4
@@ -3,10 +3,10 @@ DEPEND=>=dev-libs/glib-2.45.8:2 >=x11-libs/gdk-pixbuf-2.30:2 !=dev-libs/glib-2.45.8:2 >=x11-libs/gdk-pixbuf-2.30:2 !=media-libs/fmod-4.38.00 ) ) sys-devel/make >=dev-util/cmake-2.8.12
+DESCRIPTION=2D car crashing game similar to the old classic Destruction Derby.
+EAPI=6
+HOMEPAGE=https://github.com/petarov/savagewheels
+IUSE=debug fmod sound
+KEYWORDS=~amd64
+LICENSE=MIT
+RDEPEND=media-libs/libsdl sound? ( !fmod? ( media-libs/sdl-mixer[mod,modplug] ) fmod? ( >=media-libs/fmod-4.38.00 ) )
+REQUIRED_USE=fmod? ( sound )
+SLOT=0
+SRC_URI=https://github.com/petarov/savagewheels/archive/v1.6.0.tar.gz -> savagewheels-1.6.0.tar.gz https://github.com/petarov/savagewheels/releases/download/v1.4/savagewheels-gamedata.tar.gz -> savagewheels-gamedata-1.4.0.tar.gz
+_eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=7df668e7dec52b1aa6fc577d820beea2
diff --git a/metadata/md5-cache/games-emulation/sdlmame-0.173 b/metadata/md5-cache/games-emulation/sdlmame-0.173
new file mode 100644
index 000000000000..c1a0d66ec2e0
--- /dev/null
+++ b/metadata/md5-cache/games-emulation/sdlmame-0.173
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
+DEPEND=!games-emulation/sdlmametools !games-emulation/sdlmess dev-db/sqlite:3 dev-libs/expat media-libs/fontconfig media-libs/flac media-libs/libsdl2[joystick,opengl?,sound,video] media-libs/portaudio media-libs/sdl2-ttf sys-libs/zlib virtual/jpeg:0 virtual/opengl alsa? ( media-libs/alsa-lib media-libs/portmidi ) debug? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 ) x11-libs/libX11 x11-libs/libXinerama || ( >=dev-lang/python-2.7.5-r2:2.7 ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) app-arch/unzip virtual/pkgconfig x11-proto/xineramaproto
+DESCRIPTION=Multiple Arcade Machine Emulator + Multi Emulator Super System (MESS)
+EAPI=5
+HOMEPAGE=http://mamedev.org/
+IUSE=alsa +arcade debug +mess opengl openmp tools
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2+ BSD-2 MIT CC0-1.0
+RDEPEND=!games-emulation/sdlmametools !games-emulation/sdlmess dev-db/sqlite:3 dev-libs/expat media-libs/fontconfig media-libs/flac media-libs/libsdl2[joystick,opengl?,sound,video] media-libs/portaudio media-libs/sdl2-ttf sys-libs/zlib virtual/jpeg:0 virtual/opengl alsa? ( media-libs/alsa-lib media-libs/portmidi ) debug? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtwidgets:5 ) x11-libs/libX11 x11-libs/libXinerama || ( >=dev-lang/python-2.7.5-r2:2.7 ) games-misc/games-envd
+REQUIRED_USE=|| ( arcade mess )
+SLOT=0
+SRC_URI=https://github.com/mamedev/mame/releases/download/mame0173/mame0173s.zip -> mame-0.173.zip
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	games	2cf0d67d765e6358b435ccda30c13ad8	multilib	23ae8c186171e6476af098d2a50d0ee0	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	qmake-utils	0a242e7177789b0028b4045f336dd4db	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=50b18997c8bfc74f6d1aa776d9707c45
diff --git a/metadata/md5-cache/games-simulation/planets-0.1.13 b/metadata/md5-cache/games-simulation/planets-0.1.13
deleted file mode 100644
index ce30d6ef678d..000000000000
--- a/metadata/md5-cache/games-simulation/planets-0.1.13
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack
-DEPEND=dev-lang/tcl:0= dev-lang/tk:0= dev-lang/ocaml[tk]
-DESCRIPTION=a simple interactive planetary system simulator
-EAPI=5
-HOMEPAGE=http://planets.homedns.org/
-KEYWORDS=amd64 ppc sparc x86
-LICENSE=GPL-2
-RDEPEND=dev-lang/tcl:0= dev-lang/tk:0= games-misc/games-envd
-SLOT=0
-SRC_URI=http://planets.homedns.org/dist/planets-0.1.13.tgz
-_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	eutils	792f83d5ec9536cb5ccef375469d8bde	games	2cf0d67d765e6358b435ccda30c13ad8	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=f9815bf203fb595c0a828d976b5db925
diff --git a/metadata/md5-cache/games-strategy/s25rttr-0.8.1-r2 b/metadata/md5-cache/games-strategy/s25rttr-0.8.1-r2
new file mode 100644
index 000000000000..0046cafde014
--- /dev/null
+++ b/metadata/md5-cache/games-strategy/s25rttr-0.8.1-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test unpack
+DEPEND=app-arch/bzip2 media-libs/libsamplerate media-libs/libsdl[X,sound,opengl,video] media-libs/libsndfile media-libs/sdl-mixer[vorbis] net-libs/miniupnpc virtual/libiconv virtual/opengl sys-devel/gettext sys-devel/make >=dev-util/cmake-2.8.12 >=sys-apps/sed-4
+DESCRIPTION=Open Source remake of The Settlers II game (needs original game files)
+EAPI=5
+HOMEPAGE=http://www.siedler25.org/
+IUSE=debug
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-3
+RDEPEND=app-arch/bzip2 media-libs/libsamplerate media-libs/libsdl[X,sound,opengl,video] media-libs/libsndfile media-libs/sdl-mixer[vorbis] net-libs/miniupnpc virtual/libiconv virtual/opengl games-misc/games-envd
+SLOT=0
+SRC_URI=https://dev.gentoo.org/~hasufell/distfiles/s25rttr-0.8.1.tar.xz
+_eclasses_=base	3fe4f8980633fd7bc69e9887209ba2fe	cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	games	2cf0d67d765e6358b435ccda30c13ad8	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
+_md5_=b98e1a9aaa95d719ae399966e2ba6027
diff --git a/metadata/md5-cache/gnome-base/dconf-editor-3.18.2 b/metadata/md5-cache/gnome-base/dconf-editor-3.18.2
index 46c434133000..398c93b0a28a 100644
--- a/metadata/md5-cache/gnome-base/dconf-editor-3.18.2
+++ b/metadata/md5-cache/gnome-base/dconf-editor-3.18.2
@@ -3,10 +3,10 @@ DEPEND=>=dev-libs/glib-2.39.3:2 dev-libs/libxml2 >=gnome-base/dconf-0.23.2 >=x11
 DESCRIPTION=Graphical tool for editing the dconf configuration database
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/dconf-editor
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~arm-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~arm-linux ~x86-linux
 LICENSE=LGPL-2.1+
 RDEPEND=>=dev-libs/glib-2.39.3:2 dev-libs/libxml2 >=gnome-base/dconf-0.23.2 >=x11-libs/gtk+-3.14.0:3 !=dev-lang/python-2.7.5-r2:2.7[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/dbus-glib-0.100.2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-apps/dbus-1.6.18-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) ldap? ( >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) policykit? ( sys-auth/polkit:= ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-gtklibs-20140508-r1 !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] )
 REQUIRED_USE=|| ( python_targets_python2_7 )
 SLOT=2
 SRC_URI=mirror://gnome/sources/GConf/3.2/GConf-3.2.6.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=73df8f2755a459a6df3a57a86a0fa4e3
+_md5_=075437db5a2370c84d43b205097890a0
diff --git a/metadata/md5-cache/gnome-base/gnome-common-3.18.0 b/metadata/md5-cache/gnome-base/gnome-common-3.18.0
index 11739f50524c..d70c0e408f49 100644
--- a/metadata/md5-cache/gnome-base/gnome-common-3.18.0
+++ b/metadata/md5-cache/gnome-base/gnome-common-3.18.0
@@ -4,10 +4,10 @@ DESCRIPTION=Common files for development of Gnome packages
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/gnome-common
 IUSE=+autoconf-archive
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=GPL-3
 RDEPEND=autoconf-archive? ( >=sys-devel/autoconf-archive-2015.02.04 ) !autoconf-archive? ( !>=sys-devel/autoconf-archive-2015.02.04 )
 SLOT=3
 SRC_URI=mirror://gnome/sources/gnome-common/3.18/gnome-common-3.18.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=953d3d7e71598e7a313a8229daa3b166
+_md5_=3e3656207b5050c2d41195dcc8cc5d37
diff --git a/metadata/md5-cache/gnome-base/gnome-keyring-3.18.3 b/metadata/md5-cache/gnome-base/gnome-keyring-3.18.3
index 0642c2bc5822..1033ac299478 100644
--- a/metadata/md5-cache/gnome-base/gnome-keyring-3.18.3
+++ b/metadata/md5-cache/gnome-base/gnome-keyring-3.18.3
@@ -4,10 +4,10 @@ DESCRIPTION=Password and keyring managing daemon
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/GnomeKeyring
 IUSE=+caps pam selinux +ssh-agent test +filecaps debug test
-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
 LICENSE=GPL-2+ LGPL-2+
 RDEPEND=>=app-crypt/gcr-3.5.3:=[gtk] >=dev-libs/glib-2.38:2 app-misc/ca-certificates >=dev-libs/libgcrypt-1.2.2:0= caps? ( sys-libs/libcap-ng ) pam? ( virtual/pam ) >=app-crypt/gnupg-2.0.28 app-crypt/pinentry[gnome-keyring]
 SLOT=0
 SRC_URI=mirror://gnome/sources/gnome-keyring/3.18/gnome-keyring-3.18.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	fcaps	6a1091a98b1dde01cc26ab3252da1a9b	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	pam	3ecd5b75e39b0bb05a3183c08fcdfdb4	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=c9bf9e4aad81f7a268f67e1893ee52dd
+_md5_=bc9140f817d05b63bd1e750eaeb65260
diff --git a/metadata/md5-cache/gnome-base/gsettings-desktop-schemas-3.18.1 b/metadata/md5-cache/gnome-base/gsettings-desktop-schemas-3.18.1
index 3ad3eca873c1..b745de13ad4a 100644
--- a/metadata/md5-cache/gnome-base/gsettings-desktop-schemas-3.18.1
+++ b/metadata/md5-cache/gnome-base/gsettings-desktop-schemas-3.18.1
@@ -4,10 +4,10 @@ DESCRIPTION=Collection of GSettings schemas for GNOME desktop
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/gsettings-desktop-schemas
 IUSE=+introspection
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2.1+
 RDEPEND=>=dev-libs/glib-2.31:2 introspection? ( >=dev-libs/gobject-introspection-1.31.0:= ) !=dev-libs/glib-2.45.7:2 sys-apps/dbus dev-libs/libxml2:2 net-misc/openssh afp? ( >=dev-libs/libgcrypt-1.2.2:0= ) archive? ( app-arch/libarchive:= ) bluray? ( media-libs/libbluray ) fuse? ( >=sys-fs/fuse-2.8.0 ) gnome-keyring? ( app-crypt/libsecret ) gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.7.1 ) google? ( >=dev-libs/libgdata-0.17.3:=[crypt,gnome-online-accounts] >=net-libs/gnome-online-accounts-3.17.1 ) gphoto2? ( >=media-libs/libgphoto2-2.4.7:= ) gtk? ( >=x11-libs/gtk+-3.0:3 ) http? ( >=net-libs/libsoup-2.42:2.4 ) ios? ( >=app-pda/libimobiledevice-1.1.5:= >=app-pda/libplist-1:= ) mtp? ( >=media-libs/libmtp-1.1.6 ) nfs? ( >=net-fs/libnfs-1.9.7 ) samba? ( || ( >=net-fs/samba-3.4.6[smbclient] >=net-fs/samba-4[client] ) ) systemd? ( sys-apps/systemd:0= ) udev? ( cdda? ( dev-libs/libcdio-paranoia ) virtual/libgudev:= virtual/libudev:= ) udisks? ( >=sys-fs/udisks-1.97:2 ) zeroconf? ( >=net-dns/avahi-0.6 )
 REQUIRED_USE=cdda? ( udev ) google? ( gnome-online-accounts ) mtp? ( udev ) udisks? ( udev ) systemd? ( udisks )
@@ -12,4 +12,4 @@ RESTRICT=test
 SLOT=0
 SRC_URI=mirror://gnome/sources/gvfs/1.26/gvfs-1.26.3.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=8a81a0b0b1acc2aca280ca02454420cf
+_md5_=da3b8f5948be93256599412a09eaca2b
diff --git a/metadata/md5-cache/gnome-base/libgtop-2.32.0 b/metadata/md5-cache/gnome-base/libgtop-2.32.0
index fcedb7936dd5..1ba396ebabd6 100644
--- a/metadata/md5-cache/gnome-base/libgtop-2.32.0
+++ b/metadata/md5-cache/gnome-base/libgtop-2.32.0
@@ -4,10 +4,10 @@ DESCRIPTION=A library that provides top functionality to applications
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/libgtop
 IUSE=+introspection debug
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=dev-libs/glib-2.26:2
 SLOT=2/10
 SRC_URI=mirror://gnome/sources/libgtop/2.32/libgtop-2.32.0.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=94a107dd1c643ef1aba4e05fd6cdfd24
+_md5_=d354f2157eaa987246cb81a5e43e3d36
diff --git a/metadata/md5-cache/gnome-base/librsvg-2.40.13 b/metadata/md5-cache/gnome-base/librsvg-2.40.13
index a75e1f1b06fe..c5313f604d98 100644
--- a/metadata/md5-cache/gnome-base/librsvg-2.40.13
+++ b/metadata/md5-cache/gnome-base/librsvg-2.40.13
@@ -4,11 +4,11 @@ DESCRIPTION=Scalable Vector Graphics (SVG) rendering library
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/LibRsvg
 IUSE=+introspection vala tools abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2
 RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.36.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libcroco-0.6.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) tools? ( >=x11-libs/gtk+-3.10.0:3 )
 REQUIRED_USE=vala? ( introspection )
 SLOT=2
 SRC_URI=mirror://gnome/sources/librsvg/2.40/librsvg-2.40.13.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	vala	f946609697ad4b4b1d85b997f0c70204	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=f34f10e2b3a854e1e6c7e7058739cae0
+_md5_=7c01bb529aba2af5226b4b1ceaa35e28
diff --git a/metadata/md5-cache/gnome-extra/gucharmap-3.18.2 b/metadata/md5-cache/gnome-extra/gucharmap-3.18.2
index 348b6e590edf..eaae9d3c0760 100644
--- a/metadata/md5-cache/gnome-extra/gucharmap-3.18.2
+++ b/metadata/md5-cache/gnome-extra/gucharmap-3.18.2
@@ -4,11 +4,11 @@ DESCRIPTION=Unicode character map viewer and library
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Apps/Gucharmap
 IUSE=cjk +introspection test vala debug
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=GPL-3
 RDEPEND=>=dev-libs/glib-2.32:2 >=x11-libs/pango-1.2.1[introspection?] >=x11-libs/gtk+-3.16:3[introspection?] introspection? ( >=dev-libs/gobject-introspection-0.9.0:= ) !=dev-libs/glib-2.26:2 >=dev-libs/libxml2-2.4.16:2 sys-libs/zlib bzip2? ( app-arch/bzip2 ) gtk? ( x11-libs/gdk-pixbuf:2 || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) ) introspection? ( >=dev-libs/gobject-introspection-1:= )
 SLOT=0/114
 SRC_URI=mirror://gnome/sources/libgsf/1.14/libgsf-1.14.36.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=40a1a918adf7416b3f98fad33660031e
+_md5_=016bb8b3acbb1c790b9487b10eba5af5
diff --git a/metadata/md5-cache/gnome-extra/yelp-xsl-3.18.1 b/metadata/md5-cache/gnome-extra/yelp-xsl-3.18.1
index 77a605bc4a24..1536f1060e58 100644
--- a/metadata/md5-cache/gnome-extra/yelp-xsl-3.18.1
+++ b/metadata/md5-cache/gnome-extra/yelp-xsl-3.18.1
@@ -3,10 +3,10 @@ DEPEND=>=dev-libs/libxml2-2.6.12:= >=dev-libs/libxslt-1.1.8:= >=dev-util/intltoo
 DESCRIPTION=XSL stylesheets for yelp
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/yelp-xsl
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~arm-linux ~x86-linux
 LICENSE=GPL-2+ LGPL-2.1+ MIT FDL-1.1+
 RDEPEND=>=dev-libs/libxml2-2.6.12:= >=dev-libs/libxslt-1.1.8:=
 SLOT=0
 SRC_URI=mirror://gnome/sources/yelp-xsl/3.18/yelp-xsl-3.18.1.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=d4842b70f8e8c80445885cf9be7786b1
+_md5_=43dcf6bfd60100d34d462054fa6f0747
diff --git a/metadata/md5-cache/media-fonts/cantarell-0.0.24 b/metadata/md5-cache/media-fonts/cantarell-0.0.24
index c8f02331d6b3..0dd0261d6bb2 100644
--- a/metadata/md5-cache/media-fonts/cantarell-0.0.24
+++ b/metadata/md5-cache/media-fonts/cantarell-0.0.24
@@ -4,11 +4,11 @@ DESCRIPTION=Default fontset for GNOME Shell
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/CantarellFonts
 IUSE=X
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd
 LICENSE=OFL-1.1
 RDEPEND=media-libs/fontconfig
 RESTRICT=binchecks strip
 SLOT=0
 SRC_URI=mirror://gnome/sources/cantarell-fonts/0.0/cantarell-fonts-0.0.24.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	font	cd7790315ca5b8c505e1e0513df6acce	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=2a72b15f9b1dfd646f23b23bd88e0005
+_md5_=dd66ad642e714b9c9ff308baa98819d6
diff --git a/metadata/md5-cache/media-gfx/slic3r-1.2.9-r1 b/metadata/md5-cache/media-gfx/slic3r-1.2.9-r1
deleted file mode 100644
index be6584556027..000000000000
--- a/metadata/md5-cache/media-gfx/slic3r-1.2.9-r1
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=>=dev-lang/perl-5.22 >=dev-libs/boost-1.55[threads] dev-perl/Class-XSAccessor >=dev-perl/Encode-Locale-0.50.0 dev-perl/IO-stringy >=dev-perl/Math-PlanePath-53.0.0 >=dev-perl/Moo-1.3.1 dev-perl/XML-SAX-ExpatXS virtual/perl-Carp virtual/perl-Encode virtual/perl-File-Spec virtual/perl-Getopt-Long virtual/perl-parent virtual/perl-Scalar-List-Utils virtual/perl-Test-Simple virtual/perl-Thread-Semaphore >=virtual/perl-threads-1.960.0 virtual/perl-Time-HiRes virtual/perl-Unicode-Normalize virtual/perl-XSLoader gui? ( dev-perl/Class-Accessor dev-perl/Growl-GNTP dev-perl/libwww-perl dev-perl/Module-Pluggable dev-perl/Net-Bonjour dev-perl/Net-DBus dev-perl/OpenGL >=dev-perl/Wx-0.991.800 dev-perl/Wx-GLCanvas >=media-libs/freeglut-3 virtual/perl-Math-Complex >=virtual/perl-Socket-2.16.0 x11-libs/libXmu ) >=dev-perl/ExtUtils-CppGuess-0.70.0 >=dev-perl/ExtUtils-Typemaps-Default-1.50.0 >=dev-perl/ExtUtils-XSpp-0.170.0 >=dev-perl/Module-Build-0.380.0 >=dev-perl/Module-Build-WithXSpp-0.140.0 >=virtual/perl-ExtUtils-MakeMaker-6.800.0 >=virtual/perl-ExtUtils-ParseXS-3.220.0 test? ( virtual/perl-Test-Harness virtual/perl-Test-Simple ) dev-lang/perl:=
-DESCRIPTION=A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)
-EAPI=6
-HOMEPAGE=http://slic3r.org
-IUSE=+gui test
-KEYWORDS=~amd64 ~x86
-LICENSE=AGPL-3 CC-BY-3.0
-RDEPEND=>=dev-lang/perl-5.22 >=dev-libs/boost-1.55[threads] dev-perl/Class-XSAccessor >=dev-perl/Encode-Locale-0.50.0 dev-perl/IO-stringy >=dev-perl/Math-PlanePath-53.0.0 >=dev-perl/Moo-1.3.1 dev-perl/XML-SAX-ExpatXS virtual/perl-Carp virtual/perl-Encode virtual/perl-File-Spec virtual/perl-Getopt-Long virtual/perl-parent virtual/perl-Scalar-List-Utils virtual/perl-Test-Simple virtual/perl-Thread-Semaphore >=virtual/perl-threads-1.960.0 virtual/perl-Time-HiRes virtual/perl-Unicode-Normalize virtual/perl-XSLoader gui? ( dev-perl/Class-Accessor dev-perl/Growl-GNTP dev-perl/libwww-perl dev-perl/Module-Pluggable dev-perl/Net-Bonjour dev-perl/Net-DBus dev-perl/OpenGL >=dev-perl/Wx-0.991.800 dev-perl/Wx-GLCanvas >=media-libs/freeglut-3 virtual/perl-Math-Complex >=virtual/perl-Socket-2.16.0 x11-libs/libXmu ) dev-lang/perl:=
-SLOT=0
-SRC_URI=https://github.com/alexrj/slic3r/archive/1.2.9.tar.gz -> slic3r-1.2.9.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=51d4308e594b57a9503eb4040e482f39
diff --git a/metadata/md5-cache/media-gfx/slic3r-1.2.9-r2 b/metadata/md5-cache/media-gfx/slic3r-1.2.9-r2
new file mode 100644
index 000000000000..727595d4b239
--- /dev/null
+++ b/metadata/md5-cache/media-gfx/slic3r-1.2.9-r2
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=!=dev-lang/perl-5.16* >=dev-libs/boost-1.55[threads] dev-perl/Class-XSAccessor >=dev-perl/Encode-Locale-1.50.0 dev-perl/IO-stringy >=dev-perl/Math-PlanePath-53.0.0 >=dev-perl/Moo-1.3.1 dev-perl/XML-SAX-ExpatXS virtual/perl-Carp virtual/perl-Encode virtual/perl-File-Spec virtual/perl-Getopt-Long virtual/perl-parent virtual/perl-Scalar-List-Utils virtual/perl-Test-Simple virtual/perl-Thread-Semaphore >=virtual/perl-threads-1.960.0 virtual/perl-Time-HiRes virtual/perl-Unicode-Normalize virtual/perl-XSLoader gui? ( dev-perl/Class-Accessor dev-perl/Growl-GNTP dev-perl/libwww-perl dev-perl/Module-Pluggable dev-perl/Net-Bonjour dev-perl/Net-DBus dev-perl/OpenGL >=dev-perl/Wx-0.991.800 dev-perl/Wx-GLCanvas >=media-libs/freeglut-3 virtual/perl-Math-Complex >=virtual/perl-Socket-2.16.0 x11-libs/libXmu ) >=dev-perl/ExtUtils-CppGuess-0.70.0 >=dev-perl/ExtUtils-Typemaps-Default-1.50.0 >=dev-perl/ExtUtils-XSpp-0.170.0 >=dev-perl/Module-Build-0.380.0 >=dev-perl/Module-Build-WithXSpp-0.140.0 >=virtual/perl-ExtUtils-MakeMaker-6.800.0 >=virtual/perl-ExtUtils-ParseXS-3.220.0 test? ( virtual/perl-Test-Harness virtual/perl-Test-Simple ) dev-lang/perl:=
+DESCRIPTION=A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)
+EAPI=6
+HOMEPAGE=http://slic3r.org
+IUSE=+gui test
+KEYWORDS=~amd64 ~x86
+LICENSE=AGPL-3 CC-BY-3.0
+RDEPEND=!=dev-lang/perl-5.16* >=dev-libs/boost-1.55[threads] dev-perl/Class-XSAccessor >=dev-perl/Encode-Locale-1.50.0 dev-perl/IO-stringy >=dev-perl/Math-PlanePath-53.0.0 >=dev-perl/Moo-1.3.1 dev-perl/XML-SAX-ExpatXS virtual/perl-Carp virtual/perl-Encode virtual/perl-File-Spec virtual/perl-Getopt-Long virtual/perl-parent virtual/perl-Scalar-List-Utils virtual/perl-Test-Simple virtual/perl-Thread-Semaphore >=virtual/perl-threads-1.960.0 virtual/perl-Time-HiRes virtual/perl-Unicode-Normalize virtual/perl-XSLoader gui? ( dev-perl/Class-Accessor dev-perl/Growl-GNTP dev-perl/libwww-perl dev-perl/Module-Pluggable dev-perl/Net-Bonjour dev-perl/Net-DBus dev-perl/OpenGL >=dev-perl/Wx-0.991.800 dev-perl/Wx-GLCanvas >=media-libs/freeglut-3 virtual/perl-Math-Complex >=virtual/perl-Socket-2.16.0 x11-libs/libXmu ) dev-lang/perl:=
+SLOT=0
+SRC_URI=https://github.com/alexrj/slic3r/archive/1.2.9.tar.gz -> slic3r-1.2.9.tar.gz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	perl-functions	aac50de73be0a80ebe780e0b20850130	perl-module	c584f9e0fe426f3dcc2c46c6f7cb95ce	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=875722958cda66bfae6c16801b226093
diff --git a/metadata/md5-cache/media-libs/gst-plugins-bad-1.6.3 b/metadata/md5-cache/media-libs/gst-plugins-bad-1.6.3
index 61b86db7c843..0fba76cb9509 100644
--- a/metadata/md5-cache/media-libs/gst-plugins-bad-1.6.3
+++ b/metadata/md5-cache/media-libs/gst-plugins-bad-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=Less plugins for GStreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=X egl gles2 gtk +introspection opengl +orc vcd vnc wayland abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 nls test
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux
 LICENSE=LGPL-2
 RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,introspection?] >=media-libs/gst-plugins-base-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,introspection?] introspection? ( >=dev-libs/gobject-introspection-1.31.1 ) egl? ( >=media-libs/mesa-9.1.6[egl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gles2? ( >=media-libs/mesa-9.1.6[gles2,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opengl? ( >=media-libs/mesa-9.1.6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] virtual/glu[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wayland? ( dev-libs/wayland[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gtk? ( >=x11-libs/gtk+-3.15:3[X?,wayland?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) orc? ( >=dev-lang/orc-0.4.17[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 REQUIRED_USE=egl? ( !gles2 ) gles2? ( !opengl ) opengl? ( X ) wayland? ( egl )
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=72e0936016dd99a3ff93d9a4be291a12
+_md5_=481077b8fd61fdde61f170ec0403acb8
diff --git a/metadata/md5-cache/media-libs/gst-plugins-base-1.6.3 b/metadata/md5-cache/media-libs/gst-plugins-base-1.6.3
index 2d81573660ff..2dcfbdf8ed78 100644
--- a/metadata/md5-cache/media-libs/gst-plugins-base-1.6.3
+++ b/metadata/md5-cache/media-libs/gst-plugins-base-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=Basepack of plugins for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=alsa +introspection ivorbis +ogg +orc +pango theora +vorbis X abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 nls
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=GPL-2+ LGPL-2+
 RDEPEND=app-text/iso-codes >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.6.3:1.0[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] alsa? ( >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-1.31.1 ) ivorbis? ( >=media-libs/tremor-0_pre20130223[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ogg? ( >=media-libs/libogg-1.3.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) orc? ( >=dev-lang/orc-0.4.23[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pango? ( >=x11-libs/pango-1.36.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) theora? ( >=media-libs/libtheora-1.1.1[encode,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vorbis? ( >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) X? ( >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXv-1.0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 REQUIRED_USE=ivorbis? ( ogg ) theora? ( ogg ) vorbis? ( ogg )
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=973368b2286bda568770ab9ac78c8ef4
+_md5_=dd1f1845912fe1518586818019366bcd
diff --git a/metadata/md5-cache/media-libs/gst-plugins-good-1.6.3 b/metadata/md5-cache/media-libs/gst-plugins-good-1.6.3
index a76c06986bc9..e7d9be76ad96 100644
--- a/metadata/md5-cache/media-libs/gst-plugins-good-1.6.3
+++ b/metadata/md5-cache/media-libs/gst-plugins-good-1.6.3
@@ -4,10 +4,10 @@ DESCRIPTION=Basepack of plugins for GStreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=+orc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 nls
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=LGPL-2.1+
 RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-base-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=app-arch/bzip2-1.0.6-r4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] orc? ( >=dev-lang/orc-0.4.17[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=fb14939c045c0e2efc0e864f20eb203c
+_md5_=5b290da69dea229fceba36e493773265
diff --git a/metadata/md5-cache/media-libs/gst-plugins-ugly-1.6.3 b/metadata/md5-cache/media-libs/gst-plugins-ugly-1.6.3
index 9700304f5290..5f61e5c2774b 100644
--- a/metadata/md5-cache/media-libs/gst-plugins-ugly-1.6.3
+++ b/metadata/md5-cache/media-libs/gst-plugins-ugly-1.6.3
@@ -4,10 +4,10 @@ DESCRIPTION=Basepack of plugins for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=+orc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 nls
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-base-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] orc? ( >=dev-lang/orc-0.4.17[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=ee145c5291677db8968d568dec988a27
+_md5_=646fd07e861c1589ca517e96406f6225
diff --git a/metadata/md5-cache/media-libs/gstreamer-1.6.3 b/metadata/md5-cache/media-libs/gstreamer-1.6.3
index 0353d9cbe36e..6cf5d5ba3836 100644
--- a/metadata/md5-cache/media-libs/gstreamer-1.6.3
+++ b/metadata/md5-cache/media-libs/gstreamer-1.6.3
@@ -4,10 +4,10 @@ DESCRIPTION=Open source multimedia framework
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=+caps +introspection nls +orc test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] caps? ( sys-libs/libcap ) introspection? ( >=dev-libs/gobject-introspection-1.31.1:= )
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.6.3.tar.xz
 _eclasses_=bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	pax-utils	ecf634cba91bb9591a8fdb6f6145f1bb	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=99f44c8c404fe3378058cc567aa33e00
+_md5_=bbebfd76661c35f4b4339ec134951ee9
diff --git a/metadata/md5-cache/media-libs/harfbuzz-1.1.3 b/metadata/md5-cache/media-libs/harfbuzz-1.1.3
index aebcddcefb27..1b99f6bdf0a3 100644
--- a/metadata/md5-cache/media-libs/harfbuzz-1.1.3
+++ b/metadata/md5-cache/media-libs/harfbuzz-1.1.3
@@ -4,11 +4,11 @@ DESCRIPTION=An OpenType text shaping engine
 EAPI=5
 HOMEPAGE=https://www.freedesktop.org/wiki/Software/HarfBuzz
 IUSE=+cairo fontconfig +glib +graphite icu +introspection static-libs test +truetype abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris
 LICENSE=Old-MIT ISC icu
 RDEPEND=cairo? ( x11-libs/cairo:= ) fontconfig? ( media-libs/fontconfig:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) glib? ( >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) graphite? ( >=media-gfx/graphite2-1.2.1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-1.34:= ) truetype? ( >=media-libs/freetype-2.5.0.1:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 REQUIRED_USE=introspection? ( glib )
 SLOT=0/0.9.18
 SRC_URI=https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.1.3.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=19fc73d1d84bbeea2f6b9ea4584c97fc
+_md5_=c5174ac0d81ddbfbe7f94134b854ae0e
diff --git a/metadata/md5-cache/media-libs/liblastfm-1.0.9 b/metadata/md5-cache/media-libs/liblastfm-1.0.9
index 61283951a4cc..8cf670cd39f3 100644
--- a/metadata/md5-cache/media-libs/liblastfm-1.0.9
+++ b/metadata/md5-cache/media-libs/liblastfm-1.0.9
@@ -12,4 +12,4 @@ RESTRICT=test
 SLOT=0/0
 SRC_URI=https://github.com/lastfm/liblastfm/archive/1.0.9.tar.gz -> liblastfm-1.0.9.tar.gz
 _eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=35660726b7e703abe1bd89fc7e6a5876
+_md5_=e50868c786ee1f1be56b74052b0650c9
diff --git a/metadata/md5-cache/media-libs/mutagen-1.22 b/metadata/md5-cache/media-libs/mutagen-1.22
deleted file mode 100644
index e9ee7bfe1c28..000000000000
--- a/metadata/md5-cache/media-libs/mutagen-1.22
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=doc? ( dev-python/sphinx[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
-DESCRIPTION=Audio metadata tag reader and writer implemented in pure Python
-EAPI=5
-HOMEPAGE=https://code.google.com/p/mutagen https://pypi.python.org/pypi/mutagen
-IUSE=doc test python_targets_python2_7
-KEYWORDS=alpha amd64 hppa ~ia64 ppc ppc64 sparc x86 ~x86-interix ~amd64-linux ~x86-linux
-LICENSE=GPL-2
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://bitbucket.org/lazka/mutagen/downloads/mutagen-1.22.tar.gz
-_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=c436892739b5c53aa62cadd485f533bb
diff --git a/metadata/md5-cache/media-libs/mutagen-1.29 b/metadata/md5-cache/media-libs/mutagen-1.29
deleted file mode 100644
index ca77b75a9f3e..000000000000
--- a/metadata/md5-cache/media-libs/mutagen-1.29
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=doc? ( dev-python/sphinx[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)]
-DESCRIPTION=Audio metadata tag reader and writer implemented in pure Python
-EAPI=5
-HOMEPAGE=https://code.google.com/p/mutagen https://pypi.python.org/pypi/mutagen
-IUSE=doc test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4
-KEYWORDS=~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux
-LICENSE=GPL-2
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 )
-SLOT=0
-SRC_URI=https://bitbucket.org/lazka/mutagen/downloads/mutagen-1.29.tar.gz
-_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=43068c28f67515215e2629035eeca4b2
diff --git a/metadata/md5-cache/media-libs/mutagen-1.30 b/metadata/md5-cache/media-libs/mutagen-1.30
deleted file mode 100644
index 7f93b8d6091f..000000000000
--- a/metadata/md5-cache/media-libs/mutagen-1.30
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare test
-DEPEND=doc? ( dev-python/sphinx[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)]
-DESCRIPTION=Audio metadata tag reader and writer implemented in pure Python
-EAPI=5
-HOMEPAGE=https://bitbucket.org/lazka/mutagen https://pypi.python.org/pypi/mutagen
-IUSE=doc test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4
-KEYWORDS=~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux
-LICENSE=GPL-2
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 )
-SLOT=0
-SRC_URI=https://bitbucket.org/lazka/mutagen/downloads/mutagen-1.30.tar.gz
-_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=6b8d971637c973610ef1d1f9b7fc6561
diff --git a/metadata/md5-cache/media-libs/mutagen-1.32 b/metadata/md5-cache/media-libs/mutagen-1.32
new file mode 100644
index 000000000000..256658d63ec2
--- /dev/null
+++ b/metadata/md5-cache/media-libs/mutagen-1.32
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=doc? ( dev-python/sphinx[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
+DESCRIPTION=Audio metadata tag reader and writer implemented in pure Python
+EAPI=6
+HOMEPAGE=https://bitbucket.org/lazka/mutagen https://pypi.python.org/pypi/mutagen
+IUSE=doc test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5
+KEYWORDS=~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux
+LICENSE=GPL-2
+RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) python_targets_python3_4? ( dev-lang/python:3.4 ) python_targets_python3_5? ( dev-lang/python:3.5 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]
+REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 )
+SLOT=0
+SRC_URI=https://bitbucket.org/lazka/mutagen/downloads/mutagen-1.32.tar.gz
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=f048f7ea0821768cd567f03a3d8a5f89
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-a52dec-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-a52dec-1.6.3
index 8f0afa1cade9..b9872cd23fd9 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-a52dec-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-a52dec-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=+orc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/a52dec-0.7.4-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] orc? ( >=dev-lang/orc-0.4.17[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-ugly-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=6b0f0ba8d43d88c0eefc9ad8339768b3
+_md5_=1193eb3a24be6252bdcf85dd5fcb26f0
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-assrender-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-assrender-1.6.3
index 7047ef1c5356..6ae255e3914f 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-assrender-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-assrender-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for ASS/SSA rendering with effects support
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libass-0.10.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-bad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=2728d117fda90eb21c612d9149ec520d
+_md5_=4d7bfebf55f43023b44cf3d665147c77
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-cdparanoia-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-cdparanoia-1.6.3
index 06213dfd0562..6d8dba12fa1d 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-cdparanoia-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-cdparanoia-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=GPL-2
 RDEPEND=>=media-sound/cdparanoia-3.10.2-r6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-base-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=ea402e9813ede5cd68d8e7f27ad93847
+_md5_=de2ac1e627e51ac58f314ead3ec839f7
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-dvb-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-dvb-1.6.3
index 06de9407a73e..94b3cba4ce4f 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-dvb-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-dvb-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~ppc ppc64 x86
+KEYWORDS=~alpha amd64 arm ~ppc ppc64 x86
 LICENSE=GPL-2
 RDEPEND=>=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-bad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=b20d51bd5ba8d69333c4b1fecddfe4fd
+_md5_=3a3d9381e54c2dfc0d425844663d1d05
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-dvdread-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-dvdread-1.6.3
index a510f8d31bfc..1a541959ef99 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-dvdread-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-dvdread-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libdvdread-4.2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-ugly-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=f02ab7bfc8f7ae106f586e3e391fb217
+_md5_=40e9facb03dc94c8b93394607ff06e65
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-flac-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-flac-1.6.3
index aa7ea956631c..abec74bfb6f2 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-flac-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-flac-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer encoder/decoder/tagger for FLAC
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/flac-1.2.1-r5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=2db5f3a5c91a494a0a64b4698df47517
+_md5_=c7c7581afdda68ef0b3ba62c818e2b81
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-gdkpixbuf-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-gdkpixbuf-1.6.3
index 74f56691aec5..323b67167f35 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-gdkpixbuf-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-gdkpixbuf-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=x11-libs/gdk-pixbuf-2.30.7:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=2305b8800b80ad0a7a2e4d5fc7be0532
+_md5_=e67f3ae72e620fb3ff27cf0f81e0fb9c
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-jack-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-jack-1.6.3
index 69fe3d20e45c..68409b3d9485 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-jack-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-jack-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-sound/jack-audio-connection-kit-0.121.3-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=7d9a5cf1d66e3f55c3100f30371460b8
+_md5_=a240885827fe0f96e8063997fab71991
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-jpeg-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-jpeg-1.6.3
index 4bbe8fe3fc0e..9dd9d9cdffa0 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-jpeg-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-jpeg-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer encoder/decoder for JPEG format
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=GPL-2
 RDEPEND=>=virtual/jpeg-0-r2:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=761ac7390f70e57743d39d49e078b79e
+_md5_=759a770f1fbf04474c39dda0ed57c2e0
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-libav-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-libav-1.6.3
index 8ec30b15ca50..73299627291d 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-libav-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-libav-1.6.3
@@ -4,10 +4,10 @@ DESCRIPTION=FFmpeg based gstreamer plugin
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/modules/gst-libav.html
 IUSE=libav +orc abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=app-arch/bzip2 app-arch/xz-utils >=media-libs/gstreamer-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-base-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] !libav? ( >=media-video/ffmpeg-2.8.5:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) orc? ( >=dev-lang/orc-0.4.17[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.6.3.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=11b3f39767663e78c05177bde0407962
+_md5_=52f2dfd937be854c0c648683deae13a4
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-mad-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-mad-1.6.3
index c7ecede5af74..bde630fa6325 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-mad-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-mad-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libmad-0.15.1b-r8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-ugly-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=9599f1b958058c6da578c55a46e0a4e6
+_md5_=ee73d11144b2a388bb5837efd9be18ec
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-meta-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-meta-1.6.3
index 0bed816dbce4..d48fd52dc3ba 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-meta-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-meta-1.6.3
@@ -3,10 +3,10 @@ DESCRIPTION=Meta ebuild to pull in gst plugins for apps
 EAPI=5
 HOMEPAGE=https://www.gentoo.org
 IUSE=aac a52 alsa cdda dts dv dvb dvd ffmpeg flac http jack lame libass libvisual mms mp3 modplug mpeg ogg opus oss pulseaudio taglib theora v4l vaapi vcd vorbis vpx wavpack X x264 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris
 LICENSE=metapackage
 RDEPEND=>=media-libs/gstreamer-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-base-1.6.3:1.0[alsa?,ogg?,theora?,vorbis?,X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] a52? ( >=media-plugins/gst-plugins-a52dec-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) aac? ( >=media-plugins/gst-plugins-faad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) cdda? ( || ( >=media-plugins/gst-plugins-cdparanoia-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-cdio-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) dts? ( >=media-plugins/gst-plugins-dts-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) dv? ( >=media-plugins/gst-plugins-dv-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) dvb? ( >=media-plugins/gst-plugins-dvb-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-bad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) dvd? ( >=media-libs/gst-plugins-ugly-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-a52dec-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-dvdread-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-mpeg2dec-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-resindvd-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ffmpeg? ( >=media-plugins/gst-plugins-libav-1.6.2:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) flac? ( >=media-plugins/gst-plugins-flac-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) http? ( >=media-plugins/gst-plugins-soup-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) jack? ( >=media-plugins/gst-plugins-jack-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lame? ( >=media-plugins/gst-plugins-lame-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libass? ( >=media-plugins/gst-plugins-assrender-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libvisual? ( >=media-plugins/gst-plugins-libvisual-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) mms? ( >=media-plugins/gst-plugins-libmms-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) modplug? ( >=media-plugins/gst-plugins-modplug-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) mp3? ( >=media-libs/gst-plugins-ugly-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-mad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) mpeg? ( >=media-plugins/gst-plugins-mpeg2dec-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opus? ( >=media-plugins/gst-plugins-opus-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) oss? ( >=media-plugins/gst-plugins-oss-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) pulseaudio? ( >=media-plugins/gst-plugins-pulse-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) taglib? ( >=media-plugins/gst-plugins-taglib-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) v4l? ( >=media-plugins/gst-plugins-v4l2-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vaapi? ( >=media-plugins/gst-plugins-vaapi-0.6:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vcd? ( >=media-plugins/gst-plugins-mplex-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-plugins/gst-plugins-mpeg2dec-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) vpx? ( >=media-plugins/gst-plugins-vpx-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) wavpack? ( >=media-plugins/gst-plugins-wavpack-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) x264? ( >=media-plugins/gst-plugins-x264-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 REQUIRED_USE=opus? ( ogg ) theora? ( ogg ) vorbis? ( ogg )
 SLOT=1.0
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=bb27d3df5172bd9b39fea6a219d1f8fc
+_md5_=fc1a69023569cce11a353d225e9295e1
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-mpeg2dec-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-mpeg2dec-1.6.3
index 48f816d2c894..eacbe2ec5153 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-mpeg2dec-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-mpeg2dec-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=Libmpeg2 based decoder plug-in for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libmpeg2-0.5.1-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-ugly-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=2968d0bda04997f25647382751f469a9
+_md5_=6e6aaa609a87e80a40c947a8378bb54f
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-opus-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-opus-1.6.3
index af51c88f0f5e..a5d8144e6b7f 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-opus-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-opus-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for Opus audio codec support
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/opus-1.0.2-r2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] media-libs/gst-plugins-base:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?,ogg] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-bad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=3ca63730e789a5d1e47d74126cef1315
+_md5_=304f7f471af5a14d8d63e60f6781156f
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-oss-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-oss-1.6.3
index 6325001050bd..6f439cb50787 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-oss-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-oss-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for OSS (Open Sound System) support
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd
 LICENSE=GPL-2
 RDEPEND=>=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=bb15bfedd839cffddf69cfaa66f12fbb
+_md5_=d67fada3affef47173074d6f543e4ffe
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-pulse-0.10.31-r2 b/metadata/md5-cache/media-plugins/gst-plugins-pulse-0.10.31-r2
index 4431deaf8e51..6f51f774229a 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-pulse-0.10.31-r2
+++ b/metadata/md5-cache/media-plugins/gst-plugins-pulse-0.10.31-r2
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for the PulseAudio sound server
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86
 LICENSE=GPL-2
 RDEPEND=>=media-libs/gst-plugins-good-0.10:0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-sound/pulseaudio-2.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-0.10.31:0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] abi_x86_32? ( !app-emulation/emul-linux-x86-gstplugins[-abi_x86_32(-)] )
 RESTRICT=test
 SLOT=0.10
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=12e47cdf0751dfce261c7952b1c2c02e
+_md5_=bbc9381da640a22f29e4988f6dad47bd
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-pulse-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-pulse-1.6.3
index 15a4cec90cbc..91f65cc795ff 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-pulse-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-pulse-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for the PulseAudio sound server
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86
 LICENSE=GPL-2
 RDEPEND=>=media-sound/pulseaudio-2.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=3f39417e9e8bd6b77bf26d494c815d09
+_md5_=156ee2ac47a58c195f05ff81c98849d8
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-resindvd-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-resindvd-1.6.3
index 2db64aa02892..8bd045515a93 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-resindvd-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-resindvd-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libdvdnav-4.2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libdvdread-4.2.0-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-bad-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=b49211f0b8940fb1e554c338af602e96
+_md5_=ea2d1f822284b9b0ec656e52ea08433a
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-soup-0.10.31-r2 b/metadata/md5-cache/media-plugins/gst-plugins-soup-0.10.31-r2
index eb1c0e5ac526..feb7f9a9ec68 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-soup-0.10.31-r2
+++ b/metadata/md5-cache/media-plugins/gst-plugins-soup-0.10.31-r2
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for HTTP client sources
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos
 LICENSE=GPL-2
 RDEPEND=>=net-libs/libsoup-2.44.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-0.10.31:0.10[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] abi_x86_32? ( !app-emulation/emul-linux-x86-gstplugins[-abi_x86_32(-)] )
 RESTRICT=test
 SLOT=0.10
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=9da38ed95649cff3f4a05770a108db19
+_md5_=e8af0ff106a38c0e5828fcb08653c92d
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-soup-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-soup-1.6.3
index 3ac839935c0a..a74987c5b7da 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-soup-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-soup-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer plugin for HTTP client source/sink
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos
 LICENSE=GPL-2
 RDEPEND=>=net-libs/libsoup-2.44.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=685d4de2e0b582ecb8863ce5345209e2
+_md5_=d10dc3af2e2ab9c6f2d2ee84b66ffec8
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-taglib-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-taglib-1.6.3
index 777abf546012..c8f82da4df9d 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-taglib-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-taglib-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer taglib based tag handler
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/taglib-1.9.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=c9f0b87dfdd8ba56f35e776c1d046d28
+_md5_=251f6f77f3cef1f80dd5da664fcd4433
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-v4l2-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-v4l2-1.6.3
index f270b3cd01f4..8f9bdef872f9 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-v4l2-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-v4l2-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=plugin for gstreamer
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=udev abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libv4l-0.9.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-base-1.4:1.0[X,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] udev? ( >=virtual/libgudev-208:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=fb1ab8d587e2d9197a38bfc58a7bca47
+_md5_=b1ae3d1ad5c2e79f554d72c928f08adb
diff --git a/metadata/md5-cache/media-plugins/gst-plugins-vpx-1.6.3 b/metadata/md5-cache/media-plugins/gst-plugins-vpx-1.6.3
index 0e84eeab572d..be0a1ebc1ef9 100644
--- a/metadata/md5-cache/media-plugins/gst-plugins-vpx-1.6.3
+++ b/metadata/md5-cache/media-plugins/gst-plugins-vpx-1.6.3
@@ -4,11 +4,11 @@ DESCRIPTION=GStreamer decoder for vpx video format
 EAPI=5
 HOMEPAGE=https://gstreamer.freedesktop.org/
 IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-fbsd
 LICENSE=GPL-2
 RDEPEND=>=media-libs/libvpx-1.3.0:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.38.2-r1:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gstreamer-1.2.4-r1:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/gst-plugins-good-1.6.3:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]
 RESTRICT=test
 SLOT=1.0
 SRC_URI=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.6.3.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gstreamer	601d5e5294c75c78dc5f3d2d29eccbf0	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=3c50504ac181ffaa39ab56c95002bc77
+_md5_=a548422ad74b8da5fd119b2d08305c52
diff --git a/metadata/md5-cache/media-sound/clementine-1.3 b/metadata/md5-cache/media-sound/clementine-1.3
deleted file mode 100644
index 0b9f8e6fbf23..000000000000
--- a/metadata/md5-cache/media-sound/clementine-1.3
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4[sqlite] >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= ) >=dev-libs/boost-1.39 virtual/pkgconfig sys-devel/gettext dev-qt/qttest:4 dev-cpp/gmock box? ( dev-cpp/sparsehash ) dropbox? ( dev-cpp/sparsehash ) googledrive? ( dev-cpp/sparsehash ) skydrive? ( dev-cpp/sparsehash ) ubuntu-one? ( dev-cpp/sparsehash ) test? ( gnome-base/gsettings-desktop-schemas ) sys-devel/make >=dev-util/cmake-2.8.12 >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
-DESCRIPTION=A modern music player and library organizer based on Amarok 1.4 and Qt4
-EAPI=6
-HOMEPAGE=http://www.clementine-player.org https://github.com/clementine-player/Clementine
-IUSE=box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote linguas_af linguas_ar linguas_be linguas_bg linguas_bn linguas_br linguas_bs linguas_ca linguas_cs linguas_cy linguas_da linguas_de linguas_el linguas_en_CA linguas_en_GB linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_ga linguas_gl linguas_he linguas_he_IL linguas_hi linguas_hr linguas_hu linguas_hy linguas_ia linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_ko linguas_lt linguas_lv linguas_mr linguas_ms linguas_my linguas_nb linguas_nl linguas_oc linguas_pa linguas_pl linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_si_LK linguas_sk linguas_sl linguas_sr linguas_sr@latin linguas_sv linguas_te linguas_tr linguas_tr_TR linguas_uk linguas_uz linguas_vi linguas_zh_CN linguas_zh_TW test
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4[sqlite] >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= ) dbus? ( udisks? ( sys-fs/udisks:2 ) ) mms? ( media-plugins/gst-plugins-libmms:1.0 ) mtp? ( gnome-base/gvfs ) projectm? ( >=media-libs/libprojectm-1.2.0 ) media-plugins/gst-plugins-meta:1.0 media-plugins/gst-plugins-soup:1.0 media-plugins/gst-plugins-taglib:1.0
-REQUIRED_USE=udisks? ( dbus ) wiimote? ( dbus )
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/clementine-player/Clementine/archive/1.3.tar.gz -> clementine-1.3.tar.gz
-_eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	fdo-mime	92d07846ea8ea54172f8c0112a47ae3d	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=d2f7218cda53ad54a5fa15afa9f89e37
diff --git a/metadata/md5-cache/media-sound/clementine-1.3.1 b/metadata/md5-cache/media-sound/clementine-1.3.1
index 7122525678f3..5ffc29562432 100644
--- a/metadata/md5-cache/media-sound/clementine-1.3.1
+++ b/metadata/md5-cache/media-sound/clementine-1.3.1
@@ -1,15 +1,14 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare test
-DEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4[sqlite] >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= ) >=dev-libs/boost-1.39 virtual/pkgconfig sys-devel/gettext dev-qt/qttest:4 dev-cpp/gmock box? ( dev-cpp/sparsehash ) dropbox? ( dev-cpp/sparsehash ) googledrive? ( dev-cpp/sparsehash ) skydrive? ( dev-cpp/sparsehash ) ubuntu-one? ( dev-cpp/sparsehash ) test? ( gnome-base/gsettings-desktop-schemas ) sys-devel/make >=dev-util/cmake-2.8.12 >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
+DEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4 >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib dev-libs/crypto++ virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= >=media-libs/libprojectm-1.2.0 ) >=dev-libs/boost-1.39 virtual/pkgconfig sys-devel/gettext dev-qt/qttest:4 dev-cpp/gmock amazoncloud? ( dev-cpp/sparsehash ) box? ( dev-cpp/sparsehash ) dropbox? ( dev-cpp/sparsehash ) googledrive? ( dev-cpp/sparsehash ) pulseaudio? ( media-sound/pulseaudio ) skydrive? ( dev-cpp/sparsehash ) test? ( gnome-base/gsettings-desktop-schemas ) sys-devel/make >=dev-util/cmake-2.8.12 >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
 DESCRIPTION=A modern music player and library organizer based on Amarok 1.4 and Qt4
 EAPI=6
 HOMEPAGE=http://www.clementine-player.org https://github.com/clementine-player/Clementine
-IUSE=box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote linguas_af linguas_ar linguas_be linguas_bg linguas_bn linguas_br linguas_bs linguas_ca linguas_cs linguas_cy linguas_da linguas_de linguas_el linguas_en_CA linguas_en_GB linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_ga linguas_gl linguas_he linguas_he_IL linguas_hi linguas_hr linguas_hu linguas_hy linguas_ia linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_ko linguas_lt linguas_lv linguas_mr linguas_ms linguas_my linguas_nb linguas_nl linguas_oc linguas_pa linguas_pl linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_si_LK linguas_sk linguas_sl linguas_sr linguas_sr@latin linguas_sv linguas_te linguas_tr linguas_tr_TR linguas_uk linguas_uz linguas_vi linguas_zh_CN linguas_zh_TW test
+IUSE=amazoncloud box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio skydrive test +udisks vkontakte wiimote linguas_af linguas_ar linguas_be linguas_bg linguas_bn linguas_br linguas_bs linguas_ca linguas_cs linguas_cy linguas_da linguas_de linguas_el linguas_en_CA linguas_en_GB linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_ga linguas_gl linguas_he linguas_he_IL linguas_hi linguas_hr linguas_hu linguas_hy linguas_ia linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_ko linguas_lt linguas_lv linguas_mr linguas_ms linguas_my linguas_nb linguas_nl linguas_oc linguas_pa linguas_pl linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_si_LK linguas_sk linguas_sl linguas_sr linguas_sr@latin linguas_sv linguas_te linguas_tr linguas_tr_TR linguas_uk linguas_uz linguas_vi linguas_zh_CN linguas_zh_TW test
 KEYWORDS=~amd64 ~x86
 LICENSE=GPL-3
-RDEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4[sqlite] >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= ) dbus? ( udisks? ( sys-fs/udisks:2 ) ) mms? ( media-plugins/gst-plugins-libmms:1.0 ) mtp? ( gnome-base/gvfs ) projectm? ( >=media-libs/libprojectm-1.2.0 ) media-plugins/gst-plugins-meta:1.0 media-plugins/gst-plugins-soup:1.0 media-plugins/gst-plugins-taglib:1.0
+RDEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4 >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib dev-libs/crypto++ virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= >=media-libs/libprojectm-1.2.0 ) dbus? ( udisks? ( sys-fs/udisks:2 ) ) mms? ( media-plugins/gst-plugins-libmms:1.0 ) mtp? ( gnome-base/gvfs ) media-plugins/gst-plugins-meta:1.0 media-plugins/gst-plugins-soup:1.0 media-plugins/gst-plugins-taglib:1.0
 REQUIRED_USE=udisks? ( dbus ) wiimote? ( dbus )
-RESTRICT=test
 SLOT=0
 SRC_URI=https://github.com/clementine-player/Clementine/archive/1.3.1.tar.gz -> clementine-1.3.1.tar.gz
 _eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	fdo-mime	92d07846ea8ea54172f8c0112a47ae3d	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=d2f7218cda53ad54a5fa15afa9f89e37
+_md5_=f6f2638ee9dc949b4353c6ed69a3bf9b
diff --git a/metadata/md5-cache/media-sound/clementine-9999 b/metadata/md5-cache/media-sound/clementine-9999
index 1f1d3ec6c646..2dfc03fdb30c 100644
--- a/metadata/md5-cache/media-sound/clementine-9999
+++ b/metadata/md5-cache/media-sound/clementine-9999
@@ -1,13 +1,12 @@
 DEFINED_PHASES=compile configure install postinst postrm preinst prepare test unpack
-DEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4[sqlite] >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= ) >=dev-libs/crypto++-5.6.2-r4 >=dev-libs/boost-1.39 virtual/pkgconfig sys-devel/gettext dev-qt/qttest:4 dev-cpp/gmock box? ( dev-cpp/sparsehash ) dropbox? ( dev-cpp/sparsehash ) googledrive? ( dev-cpp/sparsehash ) skydrive? ( dev-cpp/sparsehash ) ubuntu-one? ( dev-cpp/sparsehash ) test? ( gnome-base/gsettings-desktop-schemas ) sys-devel/make >=dev-util/cmake-2.8.12 >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost ) dev-vcs/git
+DEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4 >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib dev-libs/crypto++ virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= >=media-libs/libprojectm-1.2.0 ) >=dev-libs/boost-1.39 virtual/pkgconfig sys-devel/gettext dev-qt/qttest:4 dev-cpp/gmock amazoncloud? ( dev-cpp/sparsehash ) box? ( dev-cpp/sparsehash ) dropbox? ( dev-cpp/sparsehash ) googledrive? ( dev-cpp/sparsehash ) pulseaudio? ( media-sound/pulseaudio ) skydrive? ( dev-cpp/sparsehash ) test? ( gnome-base/gsettings-desktop-schemas ) sys-devel/make >=dev-util/cmake-2.8.12 >=sys-apps/sed-4 test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost ) >=dev-vcs/git-1.8.2.1
 DESCRIPTION=A modern music player and library organizer based on Amarok 1.4 and Qt4
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.clementine-player.org https://github.com/clementine-player/Clementine
-IUSE=box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive test ubuntu-one +udisks wiimote linguas_af linguas_ar linguas_be linguas_bg linguas_bn linguas_br linguas_bs linguas_ca linguas_cs linguas_cy linguas_da linguas_de linguas_el linguas_en_CA linguas_en_GB linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_ga linguas_gl linguas_he linguas_he_IL linguas_hi linguas_hr linguas_hu linguas_hy linguas_ia linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_ko linguas_lt linguas_lv linguas_mr linguas_ms linguas_my linguas_nb linguas_nl linguas_oc linguas_pa linguas_pl linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_si_LK linguas_sk linguas_sl linguas_sr linguas_sr@latin linguas_sv linguas_te linguas_tr linguas_tr_TR linguas_uk linguas_uz linguas_vi linguas_zh_CN linguas_zh_TW test
+IUSE=amazoncloud box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio skydrive test +udisks vkontakte wiimote linguas_af linguas_ar linguas_be linguas_bg linguas_bn linguas_br linguas_bs linguas_ca linguas_cs linguas_cy linguas_da linguas_de linguas_el linguas_en_CA linguas_en_GB linguas_eo linguas_es linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_ga linguas_gl linguas_he linguas_he_IL linguas_hi linguas_hr linguas_hu linguas_hy linguas_ia linguas_id linguas_is linguas_it linguas_ja linguas_ka linguas_kk linguas_ko linguas_lt linguas_lv linguas_mr linguas_ms linguas_my linguas_nb linguas_nl linguas_oc linguas_pa linguas_pl linguas_pt linguas_pt_BR linguas_ro linguas_ru linguas_si_LK linguas_sk linguas_sl linguas_sr linguas_sr@latin linguas_sv linguas_te linguas_tr linguas_tr_TR linguas_uk linguas_uz linguas_vi linguas_zh_CN linguas_zh_TW test
 LICENSE=GPL-3
-RDEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4[sqlite] >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= ) >=dev-libs/crypto++-5.6.2-r4 dbus? ( udisks? ( sys-fs/udisks:2 ) ) mms? ( media-plugins/gst-plugins-libmms:1.0 ) mtp? ( gnome-base/gvfs ) projectm? ( >=media-libs/libprojectm-1.2.0 ) media-plugins/gst-plugins-meta:1.0 media-plugins/gst-plugins-soup:1.0 media-plugins/gst-plugins-taglib:1.0
+RDEPEND=dev-db/sqlite:= >=dev-libs/glib-2.24.1-r1 dev-libs/libxml2 dev-libs/protobuf:= dev-libs/qjson >=dev-qt/qtcore-4.5:4 >=dev-qt/qtgui-4.5:4 >=dev-qt/qtopengl-4.5:4 >=dev-qt/qtsql-4.5:4 >=media-libs/chromaprint-0.6 media-libs/gstreamer:1.0 media-libs/gst-plugins-base:1.0 media-libs/libechonest:=[qt4] >=media-libs/libmygpo-qt-1.0.8 >=media-libs/taglib-1.8[mp4] sys-libs/zlib dev-libs/crypto++ virtual/glu virtual/opengl x11-libs/libX11 cdda? ( dev-libs/libcdio ) dbus? ( >=dev-qt/qtdbus-4.5:4 ) ipod? ( >=media-libs/libgpod-0.8.0 ) lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) mtp? ( >=media-libs/libmtp-1.0.0 ) moodbar? ( sci-libs/fftw:3.0 ) projectm? ( media-libs/glew:= >=media-libs/libprojectm-1.2.0 ) dbus? ( udisks? ( sys-fs/udisks:2 ) ) mms? ( media-plugins/gst-plugins-libmms:1.0 ) mtp? ( gnome-base/gvfs ) media-plugins/gst-plugins-meta:1.0 media-plugins/gst-plugins-soup:1.0 media-plugins/gst-plugins-taglib:1.0
 REQUIRED_USE=udisks? ( dbus ) wiimote? ( dbus )
-RESTRICT=test
 SLOT=0
-_eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	fdo-mime	92d07846ea8ea54172f8c0112a47ae3d	flag-o-matic	d270fa247153df66074f795fa42dba3e	git-2	672c3929a162f221a53b4ccb4d25d8a2	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=60a5366ab8a5beea8bdb1c67e4f56e04
+_eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	fdo-mime	92d07846ea8ea54172f8c0112a47ae3d	flag-o-matic	d270fa247153df66074f795fa42dba3e	git-r3	ef66dfc3db09f327af21cf32f140fb2b	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
+_md5_=f6f2638ee9dc949b4353c6ed69a3bf9b
diff --git a/metadata/md5-cache/media-sound/pulseaudio-8.0 b/metadata/md5-cache/media-sound/pulseaudio-8.0
index 633b041fb384..7af1f2bce537 100644
--- a/metadata/md5-cache/media-sound/pulseaudio-8.0
+++ b/metadata/md5-cache/media-sound/pulseaudio-8.0
@@ -4,7 +4,7 @@ DESCRIPTION=A networked sound server with an advanced plugin system
 EAPI=5
 HOMEPAGE=http://www.pulseaudio.org/
 IUSE=+alsa +alsa-plugin +asyncns bluetooth +caps dbus doc equalizer +gdbm +glib gnome gtk ipv6 jack libsamplerate libressl lirc native-headset neon ofono-headset +orc oss qt4 realtime selinux sox ssl systemd system-wide tcpd test +udev +webrtc-aec +X xen zeroconf abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux
 LICENSE=!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )
 PDEPEND=alsa? ( alsa-plugin? ( >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) )
 RDEPEND=|| ( elibc_glibc? ( virtual/libc ) elibc_uclibc? ( virtual/libc ) dev-libs/libpcre ) >=media-libs/libsndfile-1.0.20[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] X? ( >=x11-libs/libX11-1.4.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxcb-1.6[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libSM[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libICE[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXtst[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) caps? ( >=sys-libs/libcap-2.22-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) alsa? ( >=media-libs/alsa-lib-1.0.19 ) glib? ( >=dev-libs/glib-2.4.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) zeroconf? ( >=net-dns/avahi-0.6.12[dbus] ) jack? ( virtual/jack ) tcpd? ( sys-apps/tcp-wrappers[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lirc? ( app-misc/lirc ) dbus? ( >=sys-apps/dbus-1.0.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) gtk? ( x11-libs/gtk+:3 ) gnome? ( >=gnome-base/gconf-2.4.0 ) bluetooth? ( net-wireless/bluez:= >=sys-apps/dbus-1.0.0 media-libs/sbc ) asyncns? ( net-libs/libasyncns[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) udev? ( >=virtual/udev-143[hwdb(+)] ) realtime? ( sys-auth/rtkit ) equalizer? ( sci-libs/fftw:3.0 ) ofono-headset? ( >=net-misc/ofono-1.13 ) orc? ( >=dev-lang/orc-0.4.15 ) sox? ( >=media-libs/soxr-0.1.1 ) ssl? ( !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl ) ) >=media-libs/speex-1.2_rc1 gdbm? ( sys-libs/gdbm ) webrtc-aec? ( media-libs/webrtc-audio-processing ) xen? ( app-emulation/xen-tools ) systemd? ( sys-apps/systemd:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=dev-libs/json-c-0.11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20131008-r1 !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] ) dev-libs/libltdl:0 selinux? ( sec-policy/selinux-pulseaudio ) equalizer? ( qt4? ( dev-python/PyQt4[dbus] ) ) system-wide? ( alsa? ( media-sound/alsa-utils ) bluetooth? ( net-wireless/bluez:= ) )
@@ -12,4 +12,4 @@ REQUIRED_USE=bluetooth? ( dbus ) ofono-headset? ( bluetooth ) native-headset? (
 SLOT=0
 SRC_URI=https://freedesktop.org/software/pulseaudio/releases/pulseaudio-8.0.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	udev	73058269b3e70e34e084fa3981282338	user	906f3c8eb3a2350a4f1191a89baa3e46	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=7eb1b5592b12f76c1ad149ddf364ad33
+_md5_=562b31f77f5a3f9f69196ffce868b09e
diff --git a/metadata/md5-cache/media-tv/gentoo-vdr-scripts-2.7.5 b/metadata/md5-cache/media-tv/gentoo-vdr-scripts-2.7.5
new file mode 100644
index 000000000000..beeca3964ce1
--- /dev/null
+++ b/metadata/md5-cache/media-tv/gentoo-vdr-scripts-2.7.5
@@ -0,0 +1,12 @@
+DEFINED_PHASES=config install postinst preinst prepare setup
+DESCRIPTION=Scripts necessary for use of vdr as a set-top-box
+EAPI=6
+HOMEPAGE=https://www.gentoo.org/
+IUSE=nvram
+KEYWORDS=~amd64 ~arm ~ppc ~x86
+LICENSE=GPL-2
+RDEPEND=nvram? ( sys-power/nvram-wakeup ) app-admin/sudo sys-process/wait_on_pid
+SLOT=0
+SRC_URI=mirror://gentoo/gentoo-vdr-scripts-2.7.5.tar.bz2 https://dev.gentoo.org/~hd_brummy/distfiles/gentoo-vdr-scripts-2.7.5.tar.bz2
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=81efe1893aa839ec50ae4b8e708b8de1
diff --git a/metadata/md5-cache/net-analyzer/graphite-web-0.9.13-r3 b/metadata/md5-cache/net-analyzer/graphite-web-0.9.13-r3
index ba61ecb0d296..15c688ab6af1 100644
--- a/metadata/md5-cache/net-analyzer/graphite-web-0.9.13-r3
+++ b/metadata/md5-cache/net-analyzer/graphite-web-0.9.13-r3
@@ -11,4 +11,4 @@ REQUIRED_USE=|| ( python_targets_python2_7 )
 SLOT=0
 SRC_URI=mirror://pypi/g/graphite-web/graphite-web-0.9.13.tar.gz https://raw.githubusercontent.com/graphite-project/graphite-web/522d84fed687bd946878e48d85982d59f7bd1267/webapp/content/img/share.png -> graphite-web-0.9.13-share.png
 _eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	prefix	e7f2b9c6e57342e5d25eac22fce23062	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=798ec253a8ff95a5f524c3e1e0a0981f
+_md5_=17fb67a84c1f5868f08d2206889a552f
diff --git a/metadata/md5-cache/net-libs/glib-networking-2.46.1 b/metadata/md5-cache/net-libs/glib-networking-2.46.1
index e971efb2438b..8b2c93b48a8e 100644
--- a/metadata/md5-cache/net-libs/glib-networking-2.46.1
+++ b/metadata/md5-cache/net-libs/glib-networking-2.46.1
@@ -4,10 +4,10 @@ DESCRIPTION=Network-related giomodules for glib
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/glib-networking/
 IUSE=+gnome +libproxy smartcard +ssl test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64 test
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=>=dev-libs/glib-2.46.0:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] gnome? ( gnome-base/gsettings-desktop-schemas ) libproxy? ( >=net-libs/libproxy-0.4.11-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) smartcard? ( >=app-crypt/p11-kit-0.18.4[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=net-libs/gnutls-3:=[pkcs11,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ssl? ( app-misc/ca-certificates >=net-libs/gnutls-3:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 SLOT=0
 SRC_URI=mirror://gnome/sources/glib-networking/2.46/glib-networking-2.46.1.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=7e717746df260962489f1db668bda1a0
+_md5_=95f0dc6d4fae0263c0ea4c94d437d0cd
diff --git a/metadata/md5-cache/net-libs/gsoap-2.8.31 b/metadata/md5-cache/net-libs/gsoap-2.8.31
new file mode 100644
index 000000000000..948d913e2e09
--- /dev/null
+++ b/metadata/md5-cache/net-libs/gsoap-2.8.31
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare
+DEPEND=sys-libs/zlib gnutls? ( net-libs/gnutls ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl ) ) app-arch/unzip sys-devel/flex sys-devel/bison !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=A cross-platform open source C and C++ SDK for SOAP/XML Web services
+EAPI=6
+HOMEPAGE=http://gsoap2.sourceforge.net
+IUSE=doc debug examples ipv6 libressl gnutls +ssl
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2 gSOAP
+RDEPEND=sys-libs/zlib gnutls? ( net-libs/gnutls ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl ) )
+SLOT=0
+SRC_URI=mirror://sourceforge/gsoap2/gsoap_2.8.31.zip
+_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=1885e2fbc07e19c44a62afb6c26fa04e
diff --git a/metadata/md5-cache/net-libs/libsoup-2.52.2 b/metadata/md5-cache/net-libs/libsoup-2.52.2
index bc2db96ade04..d92c06cc562d 100644
--- a/metadata/md5-cache/net-libs/libsoup-2.52.2
+++ b/metadata/md5-cache/net-libs/libsoup-2.52.2
@@ -4,10 +4,10 @@ DESCRIPTION=An HTTP library implementation in C
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/libsoup
 IUSE=+introspection samba ssl test vala debug abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=>=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libxml2-2.9.1-r4:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-db/sqlite-3.8.2:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=net-libs/glib-networking-2.38.2[ssl?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) samba? ( net-fs/samba )
 SLOT=2.4
 SRC_URI=mirror://gnome/sources/libsoup/2.52/libsoup-2.52.2.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	vala	f946609697ad4b4b1d85b997f0c70204	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=fe2fd8c0f9af971241121024d39ea35e
+_md5_=f4f703dc6683cac9f0c03ca705a21b1d
diff --git a/metadata/md5-cache/net-libs/libsoup-gnome-2.52.2 b/metadata/md5-cache/net-libs/libsoup-gnome-2.52.2
index 260bce45aae4..ea2bc42231d2 100644
--- a/metadata/md5-cache/net-libs/libsoup-gnome-2.52.2
+++ b/metadata/md5-cache/net-libs/libsoup-gnome-2.52.2
@@ -4,10 +4,10 @@ DESCRIPTION=GNOME plugin for libsoup
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/LibSoup
 IUSE=+introspection debug abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=~net-libs/libsoup-2.52.2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] dev-db/sqlite:3=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
 SLOT=2.4
 SRC_URI=mirror://gnome/sources/libsoup/2.52/libsoup-2.52.2.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=a04688f028398e8ff1a2b3c17bcd68b9
+_md5_=f21d13f858c6d5a46cfb6514a3a21a36
diff --git a/metadata/md5-cache/net-libs/libwebsockets-1.4 b/metadata/md5-cache/net-libs/libwebsockets-1.4
index 113adf3399c7..6169df4885de 100644
--- a/metadata/md5-cache/net-libs/libwebsockets-1.4
+++ b/metadata/md5-cache/net-libs/libwebsockets-1.4
@@ -8,4 +8,4 @@ LICENSE=libwebsockets
 SLOT=0
 SRC_URI=http://git.libwebsockets.org/cgi-bin/cgit/libwebsockets/snapshot/libwebsockets-1.4-chrome43-firefox-36.tar.gz
 _eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=8e9012e187494349c6b28bcc6866d050
+_md5_=670939e839f55bdb6059f0d038bb2258
diff --git a/metadata/md5-cache/net-libs/libwebsockets-1.7.6 b/metadata/md5-cache/net-libs/libwebsockets-1.7.6
new file mode 100644
index 000000000000..46b003482207
--- /dev/null
+++ b/metadata/md5-cache/net-libs/libwebsockets-1.7.6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=ssl? ( dev-libs/openssl:0 ) zlib? ( sys-libs/zlib ) sys-devel/make >=dev-util/cmake-2.8.12
+DESCRIPTION=canonical libwebsockets.org websocket library
+EAPI=6
+HOMEPAGE=https://libwebsockets.org/
+IUSE=+ssl +zlib static-libs +http2 ipv6 +server -client
+KEYWORDS=~amd64 ~x86
+LICENSE=LGPL-2.1
+RDEPEND=ssl? ( dev-libs/openssl:0 ) zlib? ( sys-libs/zlib )
+SLOT=0
+SRC_URI=https://github.com/warmcat/libwebsockets/archive/v1.7.6.tar.gz -> libwebsockets-1.7.6.tar.gz
+_eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=04c995f3d8bc0c0b5e359338b2521d94
diff --git a/metadata/md5-cache/net-misc/bird-1.6.0 b/metadata/md5-cache/net-misc/bird-1.6.0
new file mode 100644
index 000000000000..7bd6043ac867
--- /dev/null
+++ b/metadata/md5-cache/net-misc/bird-1.6.0
@@ -0,0 +1,12 @@
+DEFINED_PHASES=compile configure install prepare
+DEPEND=sys-devel/flex sys-devel/bison sys-devel/m4
+DESCRIPTION=A routing daemon implementing OSPF, RIPv2 & BGP for IPv4 or IPv6
+EAPI=6
+HOMEPAGE=http://bird.network.cz
+IUSE=debug ipv6
+KEYWORDS=~amd64 ~x86
+LICENSE=GPL-2
+RDEPEND=sys-libs/ncurses sys-libs/readline
+SLOT=0
+SRC_URI=ftp://bird.network.cz/pub/bird/bird-1.6.0.tar.gz
+_md5_=f64bff86cccab4011eefcd10130a914f
diff --git a/metadata/md5-cache/net-misc/blinkperl-20030301-r1 b/metadata/md5-cache/net-misc/blinkperl-20030301-r2
similarity index 55%
rename from metadata/md5-cache/net-misc/blinkperl-20030301-r1
rename to metadata/md5-cache/net-misc/blinkperl-20030301-r2
index 1a7379cf81e2..9f535c053661 100644
--- a/metadata/md5-cache/net-misc/blinkperl-20030301-r1
+++ b/metadata/md5-cache/net-misc/blinkperl-20030301-r2
@@ -1,11 +1,10 @@
-DEFINED_PHASES=install unpack
+DEFINED_PHASES=install
 DESCRIPTION=blinkperl is a telnet server, which plays BlinkenLight movies
-EAPI=0
+EAPI=6
 HOMEPAGE=http://blinkserv.sourceforge.net/
 KEYWORDS=~hppa x86
 LICENSE=GPL-2
 RDEPEND=dev-lang/perl dev-perl/Term-ANSIScreen
 SLOT=0
 SRC_URI=mirror://sourceforge/blinkserv/blinkperl-2003-02-08.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=4ecea4b47ee6e88c4ae1405d5e9547b1
+_md5_=99651608802b9acb001dc3f67b93351d
diff --git a/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.20 b/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.20-r1
similarity index 100%
rename from metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.20
rename to metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.20-r1
diff --git a/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.3-r1 b/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.3-r2
similarity index 96%
rename from metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.3-r1
rename to metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.3-r2
index 7057ed657d23..2816d70e2bf0 100644
--- a/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.3-r1
+++ b/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.3-r2
@@ -10,4 +10,4 @@ RDEPEND=net-dialup/capi4k-utils media-libs/tiff virtual/jpeg sys-libs/zlib dev-u
 SLOT=0
 SRC_URI=mirror://debian/pool/main/c/capi4hylafax/capi4hylafax_01.03.00.99.svn.300.orig.tar.gz mirror://debian/pool/main/c/capi4hylafax/capi4hylafax_01.03.00.99.svn.300-3.diff.gz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=6342def926f39125fc34af6234c8e0cc
+_md5_=bec3ac6186084e6fe1ff82f99953a3ac
diff --git a/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.9 b/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.9-r1
similarity index 96%
rename from metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.9
rename to metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.9-r1
index e4a3fa0d48bf..21ee04450695 100644
--- a/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.9
+++ b/metadata/md5-cache/net-misc/capi4hylafax-01.03.00.99.300.9-r1
@@ -9,4 +9,4 @@ RDEPEND=net-dialup/capi4k-utils app-shells/bash media-libs/tiff virtual/jpeg sys
 SLOT=0
 SRC_URI=mirror://debian/pool/main/c/capi4hylafax/capi4hylafax_01.03.00.99.svn.300.orig.tar.gz mirror://debian/pool/main/c/capi4hylafax/capi4hylafax_01.03.00.99.svn.300-9.diff.gz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=3f3ffe171742e3ab443cc3d542adf77f
+_md5_=2594ff7a3863ffc694aa1991fea1c69a
diff --git a/metadata/md5-cache/net-misc/cbqinit-0.7.3-r1 b/metadata/md5-cache/net-misc/cbqinit-0.7.3-r2
similarity index 63%
rename from metadata/md5-cache/net-misc/cbqinit-0.7.3-r1
rename to metadata/md5-cache/net-misc/cbqinit-0.7.3-r2
index 510202a3ecab..d793bbbdca4f 100644
--- a/metadata/md5-cache/net-misc/cbqinit-0.7.3-r1
+++ b/metadata/md5-cache/net-misc/cbqinit-0.7.3-r2
@@ -1,11 +1,10 @@
 DEFINED_PHASES=install prepare unpack
 DESCRIPTION=Sets up class-based queue traffic control (QoS) with iproute2
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.sourceforge.net/projects/cbqinit
 KEYWORDS=alpha amd64 ~arm hppa ~mips ppc sparc x86
 LICENSE=GPL-2
 RDEPEND=sys-apps/iproute2
 SLOT=0
 SRC_URI=mirror://sourceforge/cbqinit/cbq.init-v0.7.3 -> cbqinit-0.7.3
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=21407b32d8e2c6c8d8e002c29bb14975
+_md5_=a263b0ec84487852ce5943bf07698d4d
diff --git a/metadata/md5-cache/net-misc/fakeidentd-2.6 b/metadata/md5-cache/net-misc/fakeidentd-2.6-r1
similarity index 91%
rename from metadata/md5-cache/net-misc/fakeidentd-2.6
rename to metadata/md5-cache/net-misc/fakeidentd-2.6-r1
index 92da80fcb24b..218b20fb4f91 100644
--- a/metadata/md5-cache/net-misc/fakeidentd-2.6
+++ b/metadata/md5-cache/net-misc/fakeidentd-2.6-r1
@@ -1,10 +1,10 @@
 DEFINED_PHASES=compile install unpack
 DESCRIPTION=A static, secure identd. One source file only!
-EAPI=4
+EAPI=6
 HOMEPAGE=http://www.guru-group.fi/~too/sw/
 KEYWORDS=alpha amd64 arm hppa ~ia64 ppc ppc64 ~sh sparc x86
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=http://www.guru-group.fi/~too/sw/identd.readme -> fakeidentd-2.6.readme http://www.guru-group.fi/~too/sw/releases/identd.c -> fakeidentd-2.6.c
 _eclasses_=multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=ca37fb01723471d406dc282ae59d7d4a
+_md5_=c975f91d71a23590b87d6a0ab2ce3c59
diff --git a/metadata/md5-cache/net-misc/htbinit-0.8.5-r6 b/metadata/md5-cache/net-misc/htbinit-0.8.5-r7
similarity index 93%
rename from metadata/md5-cache/net-misc/htbinit-0.8.5-r6
rename to metadata/md5-cache/net-misc/htbinit-0.8.5-r7
index 00405fb094b8..5eb794584f39 100644
--- a/metadata/md5-cache/net-misc/htbinit-0.8.5-r6
+++ b/metadata/md5-cache/net-misc/htbinit-0.8.5-r7
@@ -10,4 +10,4 @@ RDEPEND=sys-apps/iproute2
 SLOT=0
 SRC_URI=mirror://sourceforge/htbinit/htb.init-v0.8.5
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=72c710b9508b9cb9f7a6e514f939c217
+_md5_=05ac371b1ffa051d26b4f42c9e276e18
diff --git a/metadata/md5-cache/net-misc/iaxmodem-1.2.0 b/metadata/md5-cache/net-misc/iaxmodem-1.2.0-r1
similarity index 100%
rename from metadata/md5-cache/net-misc/iaxmodem-1.2.0
rename to metadata/md5-cache/net-misc/iaxmodem-1.2.0-r1
diff --git a/metadata/md5-cache/net-misc/iaxmodem-1.3.0 b/metadata/md5-cache/net-misc/iaxmodem-1.3.0-r1
similarity index 100%
rename from metadata/md5-cache/net-misc/iaxmodem-1.3.0
rename to metadata/md5-cache/net-misc/iaxmodem-1.3.0-r1
diff --git a/metadata/md5-cache/net-misc/icecast-2.4.2 b/metadata/md5-cache/net-misc/icecast-2.4.2
index 2d1dc9d8d44b..07f033c1dd46 100644
--- a/metadata/md5-cache/net-misc/icecast-2.4.2
+++ b/metadata/md5-cache/net-misc/icecast-2.4.2
@@ -10,4 +10,4 @@ RDEPEND=dev-libs/libxslt dev-libs/libxml2 media-libs/libogg media-libs/libvorbis
 SLOT=0
 SRC_URI=http://downloads.xiph.org/releases/icecast/icecast-2.4.2.tar.gz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=f7f616456f1d0acec1499942de1a52b3
+_md5_=a3dd34f241910de69230a45d4811f72f
diff --git a/metadata/md5-cache/net-misc/icecast-2.4.3 b/metadata/md5-cache/net-misc/icecast-2.4.3
index c81102fb8359..7f37f086899e 100644
--- a/metadata/md5-cache/net-misc/icecast-2.4.3
+++ b/metadata/md5-cache/net-misc/icecast-2.4.3
@@ -1,7 +1,7 @@
 DEFINED_PHASES=configure install postinst prepare setup
 DEPEND=dev-libs/libxslt dev-libs/libxml2 media-libs/libogg media-libs/libvorbis kate? ( media-libs/libkate ) logrotate? ( app-admin/logrotate ) speex? ( media-libs/speex ) theora? ( media-libs/libtheora ) yp? ( net-misc/curl ) ssl? ( dev-libs/openssl:0= ) !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
 DESCRIPTION=An opensource alternative to shoutcast that supports mp3, ogg (vorbis/theora) and aac streaming
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.icecast.org/
 IUSE=kate logrotate +speex +ssl +theora +yp
 KEYWORDS=~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd
@@ -9,5 +9,5 @@ LICENSE=GPL-2
 RDEPEND=dev-libs/libxslt dev-libs/libxml2 media-libs/libogg media-libs/libvorbis kate? ( media-libs/libkate ) logrotate? ( app-admin/logrotate ) speex? ( media-libs/speex ) theora? ( media-libs/libtheora ) yp? ( net-misc/curl ) ssl? ( dev-libs/openssl:0= )
 SLOT=0
 SRC_URI=http://downloads.xiph.org/releases/icecast/icecast-2.4.3.tar.gz
-_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=0b7caec49ba04cb097e4ddea10e8abff
+_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=b07a7fce0329fa9a4ba0df1c6dc65311
diff --git a/metadata/md5-cache/net-misc/igmpproxy-0.1-r1 b/metadata/md5-cache/net-misc/igmpproxy-0.1-r2
similarity index 92%
rename from metadata/md5-cache/net-misc/igmpproxy-0.1-r1
rename to metadata/md5-cache/net-misc/igmpproxy-0.1-r2
index ce1090f3288d..5f40de177635 100644
--- a/metadata/md5-cache/net-misc/igmpproxy-0.1-r1
+++ b/metadata/md5-cache/net-misc/igmpproxy-0.1-r2
@@ -1,11 +1,11 @@
 DEFINED_PHASES=install setup
 DEPEND=virtual/pkgconfig
 DESCRIPTION=Multicast Routing Daemon using only IGMP signalling (Internet Group Management Protocol)
-EAPI=5
+EAPI=6
 HOMEPAGE=http://sourceforge.net/projects/igmpproxy
 KEYWORDS=amd64 x86
 LICENSE=GPL-2 Stanford
 SLOT=0
 SRC_URI=mirror://sourceforge/igmpproxy/igmpproxy-0.1.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=dc6dc403ad4456f9c1236c5ac912e3c0
+_md5_=fa256eb006c66fe717a3bc648106f0c4
diff --git a/metadata/md5-cache/net-misc/ipx-utils-1.1-r3 b/metadata/md5-cache/net-misc/ipx-utils-1.1-r4
similarity index 89%
rename from metadata/md5-cache/net-misc/ipx-utils-1.1-r3
rename to metadata/md5-cache/net-misc/ipx-utils-1.1-r4
index 1bf122830f7b..dfc60bfaedf1 100644
--- a/metadata/md5-cache/net-misc/ipx-utils-1.1-r3
+++ b/metadata/md5-cache/net-misc/ipx-utils-1.1-r4
@@ -1,10 +1,10 @@
 DEFINED_PHASES=install prepare
 DESCRIPTION=The IPX Utilities
-EAPI=4
+EAPI=6
 HOMEPAGE=ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/
 KEYWORDS=amd64 ppc64 x86
 LICENSE=ipx-utils GPL-2
 SLOT=0
 SRC_URI=ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/ipx-1.1.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=bd95ccb7d7927a28033e72a3281bc042
+_md5_=d517edb537a49885a5e4698dbaa7a215
diff --git a/metadata/md5-cache/net-misc/lambdamoo-1.8.1-r2 b/metadata/md5-cache/net-misc/lambdamoo-1.8.1-r3
similarity index 61%
rename from metadata/md5-cache/net-misc/lambdamoo-1.8.1-r2
rename to metadata/md5-cache/net-misc/lambdamoo-1.8.1-r3
index ee173c162838..af5868f3a27a 100644
--- a/metadata/md5-cache/net-misc/lambdamoo-1.8.1-r2
+++ b/metadata/md5-cache/net-misc/lambdamoo-1.8.1-r3
@@ -1,11 +1,11 @@
 DEFINED_PHASES=compile install prepare
 DEPEND=sys-devel/bison !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=networked mud that can be used for different types of collaborative software
-EAPI=2
+EAPI=6
 HOMEPAGE=http://sourceforge.net/projects/lambdamoo/
 KEYWORDS=~x86 ~sparc
 LICENSE=LambdaMOO GPL-2
 SLOT=0
 SRC_URI=mirror://sourceforge/lambdamoo/LambdaMOO-1.8.1.tar.gz
-_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=be7ec617f7f60bd1fd44f7c5cc497d82
+_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=706ef08b0beac924a43650c0aef90986
diff --git a/metadata/md5-cache/net-misc/linux-identd-1.3-r1 b/metadata/md5-cache/net-misc/linux-identd-1.3-r2
similarity index 89%
rename from metadata/md5-cache/net-misc/linux-identd-1.3-r1
rename to metadata/md5-cache/net-misc/linux-identd-1.3-r2
index 4d966f83e0bc..16745134b87a 100644
--- a/metadata/md5-cache/net-misc/linux-identd-1.3-r1
+++ b/metadata/md5-cache/net-misc/linux-identd-1.3-r2
@@ -1,6 +1,6 @@
 DEFINED_PHASES=compile install
 DESCRIPTION=A real IDENT daemon for linux
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.fukt.bsnet.se/~per/identd/
 IUSE=xinetd
 KEYWORDS=alpha amd64 ~hppa ia64 ~mips ppc sparc x86
@@ -9,4 +9,4 @@ RDEPEND=xinetd? ( sys-apps/xinetd )
 SLOT=0
 SRC_URI=http://www.fukt.bsnet.se/~per/identd/linux-identd-1.3.tar.gz
 _eclasses_=multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=1a9e5e1181e89f65d381585a9d57f33a
+_md5_=b6618ed25f8647fb8cecb6e4f16a65ee
diff --git a/metadata/md5-cache/net-misc/mdidentd-1.04c b/metadata/md5-cache/net-misc/mdidentd-1.04c-r1
similarity index 53%
rename from metadata/md5-cache/net-misc/mdidentd-1.04c
rename to metadata/md5-cache/net-misc/mdidentd-1.04c-r1
index c449bd6ce7e1..f9380a505997 100644
--- a/metadata/md5-cache/net-misc/mdidentd-1.04c
+++ b/metadata/md5-cache/net-misc/mdidentd-1.04c-r1
@@ -1,7 +1,7 @@
-DEFINED_PHASES=compile install setup unpack
+DEFINED_PHASES=compile configure install prepare setup
 DEPEND=ssl? ( dev-libs/openssl )
 DESCRIPTION=This is an identd with provides registering of idents
-EAPI=0
+EAPI=6
 HOMEPAGE=http://druglord.freelsd.org/ezbounce/
 IUSE=ssl
 KEYWORDS=~amd64 ~ppc ~x86
@@ -9,5 +9,5 @@ LICENSE=GPL-2
 RDEPEND=ssl? ( dev-libs/openssl )
 SLOT=0
 SRC_URI=http://druglord.freelsd.org/ezbounce/files/ezbounce-1.04c.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=43e8747ee96b2606daf5bf286d60dfa0
+_eclasses_=user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=8693c8b1da07e164673a1cf5fe5ed18f
diff --git a/metadata/md5-cache/net-misc/midentd-2.3.1-r1 b/metadata/md5-cache/net-misc/midentd-2.3.1-r2
similarity index 58%
rename from metadata/md5-cache/net-misc/midentd-2.3.1-r1
rename to metadata/md5-cache/net-misc/midentd-2.3.1-r2
index 8a18e70bd7d8..0c9f7c2728e4 100644
--- a/metadata/md5-cache/net-misc/midentd-2.3.1-r1
+++ b/metadata/md5-cache/net-misc/midentd-2.3.1-r2
@@ -1,11 +1,10 @@
 DEFINED_PHASES=install prepare
 DESCRIPTION=ident daemon with masquerading and fake replies support
-EAPI=5
+EAPI=6
 HOMEPAGE=https://wiki.gentoo.org/wiki/No_homepage
 KEYWORDS=~amd64 ~sparc x86
 LICENSE=GPL-2
 RDEPEND=dev-lang/perl
 SLOT=0
 SRC_URI=mirror://gentoo/midentd-2.3.1.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=a8a8f0e01f6d4cc466c870643f2b2c99
+_md5_=f61efe908d034f73a818d32563f3fc74
diff --git a/metadata/md5-cache/net-misc/mobile-broadband-provider-info-20151214 b/metadata/md5-cache/net-misc/mobile-broadband-provider-info-20151214
index b8c14466c13e..995504af6ab3 100644
--- a/metadata/md5-cache/net-misc/mobile-broadband-provider-info-20151214
+++ b/metadata/md5-cache/net-misc/mobile-broadband-provider-info-20151214
@@ -4,9 +4,9 @@ DESCRIPTION=Database of mobile broadband service providers
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/NetworkManager/MobileBroadband
 IUSE=test
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=CC-PD
 SLOT=0
 SRC_URI=mirror://gnome/sources/mobile-broadband-provider-info/20151214/mobile-broadband-provider-info-20151214.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=15afb4ff4c2305d0c0940b9bc6b0b638
+_md5_=cf46ede91c584ff6ac7e58c1d2a1736e
diff --git a/metadata/md5-cache/net-misc/monmotha-2.3.8 b/metadata/md5-cache/net-misc/monmotha-2.3.8-r1
similarity index 86%
rename from metadata/md5-cache/net-misc/monmotha-2.3.8
rename to metadata/md5-cache/net-misc/monmotha-2.3.8-r1
index 2f506bfcfc7a..afd8e7f3f2eb 100644
--- a/metadata/md5-cache/net-misc/monmotha-2.3.8
+++ b/metadata/md5-cache/net-misc/monmotha-2.3.8-r1
@@ -1,10 +1,10 @@
 DEFINED_PHASES=install postinst unpack
 DESCRIPTION=MonMotha IPTables-based firewall script
-EAPI=0
+EAPI=6
 HOMEPAGE=http://monmotha.mplug.org/firewall/
 KEYWORDS=x86 ~amd64
 LICENSE=GPL-2
 RDEPEND=>=net-firewall/iptables-1.2.5
 SLOT=0
 SRC_URI=http://monmotha.mplug.org/~monmotha/firewall/firewall/2.3/rc.firewall-2.3.8
-_md5_=22889abd1ea6eeaf9f260fc81e15a3ab
+_md5_=bfa19f98b8a547a22238b775e6be9e86
diff --git a/metadata/md5-cache/net-misc/mrouted-3.9.5 b/metadata/md5-cache/net-misc/mrouted-3.9.5-r1
similarity index 61%
rename from metadata/md5-cache/net-misc/mrouted-3.9.5
rename to metadata/md5-cache/net-misc/mrouted-3.9.5-r1
index f9744413c103..a641fb994f20 100644
--- a/metadata/md5-cache/net-misc/mrouted-3.9.5
+++ b/metadata/md5-cache/net-misc/mrouted-3.9.5-r1
@@ -1,11 +1,11 @@
 DEFINED_PHASES=compile install prepare
 DEPEND=|| ( dev-util/yacc sys-devel/bison )
 DESCRIPTION=IP multicast routing daemon
-EAPI=2
+EAPI=6
 HOMEPAGE=http://troglobit.com/mrouted.shtml
 KEYWORDS=amd64 ppc x86
 LICENSE=Stanford GPL-2
 SLOT=0
 SRC_URI=ftp://ftp.vmlinux.org/pub/People/jocke/mrouted/mrouted-3.9.5.tar.bz2
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=4405a59d22eb3e565a5d82210a2a4a67
+_eclasses_=multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=b313ebdc1ea8178efc0d5483e9250652
diff --git a/metadata/md5-cache/net-misc/netkit-routed-0.17-r4 b/metadata/md5-cache/net-misc/netkit-routed-0.17-r5
similarity index 91%
rename from metadata/md5-cache/net-misc/netkit-routed-0.17-r4
rename to metadata/md5-cache/net-misc/netkit-routed-0.17-r5
index 9d81417cc719..bf515e9e4384 100644
--- a/metadata/md5-cache/net-misc/netkit-routed-0.17-r4
+++ b/metadata/md5-cache/net-misc/netkit-routed-0.17-r5
@@ -7,4 +7,4 @@ LICENSE=BSD GPL-2
 SLOT=0
 SRC_URI=mirror://debian/pool/main/n/netkit-routed/netkit-routed_0.17.orig.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=b11dd207ebbd20174718b18b497c1938
+_md5_=68164f1b8bc4f784c0d659cd0318f8e4
diff --git a/metadata/md5-cache/net-misc/netkit-timed-0.17-r9 b/metadata/md5-cache/net-misc/netkit-timed-0.17-r10
similarity index 91%
rename from metadata/md5-cache/net-misc/netkit-timed-0.17-r9
rename to metadata/md5-cache/net-misc/netkit-timed-0.17-r10
index 16f85c32cab0..a3ee55c12a78 100644
--- a/metadata/md5-cache/net-misc/netkit-timed-0.17-r9
+++ b/metadata/md5-cache/net-misc/netkit-timed-0.17-r10
@@ -1,10 +1,10 @@
 DEFINED_PHASES=configure install prepare
 DESCRIPTION=Netkit - timed
-EAPI=2
+EAPI=6
 HOMEPAGE=ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/
 KEYWORDS=amd64 ~mips ppc ppc64 sparc x86
 LICENSE=BSD GPL-2
 SLOT=0
 SRC_URI=ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-timed-0.17.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=dce6ea3d3f863942da3afe740deaed18
+_md5_=54d3597d3e615932c74bea96a70239de
diff --git a/metadata/md5-cache/net-misc/networkmanager-1.0.10-r1 b/metadata/md5-cache/net-misc/networkmanager-1.0.10-r1
index 9613e5dda839..ed3b80f3d8d1 100644
--- a/metadata/md5-cache/net-misc/networkmanager-1.0.10-r1
+++ b/metadata/md5-cache/net-misc/networkmanager-1.0.10-r1
@@ -4,11 +4,11 @@ DESCRIPTION=A set of co-operative tools that make networking simple and straight
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/Projects/NetworkManager
 IUSE=bluetooth connection-sharing consolekit +dhclient dhcpcd gnutls +introspection kernel_linux +nss +modemmanager ncurses +ppp resolvconf selinux systemd teamd test vala +wext +wifi zeroconf test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ppc64 ~sparc x86
+KEYWORDS=~alpha amd64 arm ~arm64 ~ia64 ~ppc ppc64 ~sparc x86
 LICENSE=GPL-2+
 RDEPEND=>=sys-apps/dbus-1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/dbus-glib-0.100[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.37.6:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/libnl-3.2.8:3= >=sys-auth/polkit-0.106 net-libs/libndp >=net-libs/libsoup-2.40:2.4= net-misc/iputils sys-libs/readline:0 >=virtual/libgudev-165:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] bluetooth? ( >=net-wireless/bluez-5 ) connection-sharing? ( net-dns/dnsmasq[dhcp] net-firewall/iptables ) gnutls? ( dev-libs/libgcrypt:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] net-libs/gnutls:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) modemmanager? ( >=net-misc/modemmanager-0.7.991 ) ncurses? ( >=dev-libs/newt-0.52.15 ) nss? ( >=dev-libs/nss-3.11:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) dhclient? ( >=net-misc/dhcp-4[client] ) dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 ) introspection? ( >=dev-libs/gobject-introspection-0.10.3:= ) ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] net-dialup/rp-pppoe ) resolvconf? ( net-dns/openresolv ) systemd? ( >=sys-apps/systemd-209:0= ) !systemd? ( || ( sys-power/upower sys-power/upower-pm-utils ) ) teamd? ( >=net-misc/libteam-1.9 ) zeroconf? ( net-dns/avahi:=[autoipd] ) consolekit? ( sys-auth/consolekit ) wifi? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
 REQUIRED_USE=modemmanager? ( ppp ) wext? ( wifi ) ^^ ( nss gnutls ) ^^ ( dhclient dhcpcd )
 SLOT=0
 SRC_URI=mirror://gnome/sources/NetworkManager/1.0/NetworkManager-1.0.10.tar.xz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	readme.gentoo	df3fc8fdaf5a519e7d48c83e7592c95f	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	udev	73058269b3e70e34e084fa3981282338	user	906f3c8eb3a2350a4f1191a89baa3e46	vala	f946609697ad4b4b1d85b997f0c70204	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=3ac38c29341502025b8091c221a243ee
+_md5_=5910b9f63b086bcb2f5726793144cb73
diff --git a/metadata/md5-cache/net-misc/orbited-0.7.10-r2 b/metadata/md5-cache/net-misc/orbited-0.7.10-r3
similarity index 92%
rename from metadata/md5-cache/net-misc/orbited-0.7.10-r2
rename to metadata/md5-cache/net-misc/orbited-0.7.10-r3
index 9d2fd878a6c2..d1b59adce78e 100644
--- a/metadata/md5-cache/net-misc/orbited-0.7.10-r2
+++ b/metadata/md5-cache/net-misc/orbited-0.7.10-r3
@@ -1,7 +1,7 @@
 DEFINED_PHASES=compile configure install prepare setup test
 DEPEND=dev-python/demjson[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-python/morbid-0.8.4[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] dev-python/stomper[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] dev-python/twisted-core[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] dev-python/twisted-web[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] dev-python/setuptools[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)]
 DESCRIPTION=Real-time communication for the browser.
-EAPI=5
+EAPI=6
 HOMEPAGE=http://orbited.org
 IUSE=python_targets_python2_7
 KEYWORDS=~amd64 ~x86
@@ -10,5 +10,5 @@ RDEPEND=dev-python/demjson[python_targets_python2_7(-)?,-python_single_target_jy
 REQUIRED_USE=python_targets_python2_7
 SLOT=0
 SRC_URI=mirror://pypi/o/orbited/orbited-0.7.10.tar.gz
-_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=435b7ec49db981d5f14ded71d4775d0b
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=7798e0a3c2e5f8693755f0a2fcc6b855
diff --git a/metadata/md5-cache/net-misc/portfwd-0.29 b/metadata/md5-cache/net-misc/portfwd-0.29-r1
similarity index 93%
rename from metadata/md5-cache/net-misc/portfwd-0.29
rename to metadata/md5-cache/net-misc/portfwd-0.29-r1
index 3a75e0de37de..6770da02cf90 100644
--- a/metadata/md5-cache/net-misc/portfwd-0.29
+++ b/metadata/md5-cache/net-misc/portfwd-0.29-r1
@@ -1,11 +1,11 @@
 DEFINED_PHASES=install prepare
 DEPEND=>=sys-apps/sed-4 !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
 DESCRIPTION=Port Forwarding Daemon
-EAPI=5
+EAPI=6
 HOMEPAGE=http://portfwd.sourceforge.net
 KEYWORDS=amd64 ia64 ~ppc ~sparc x86
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=mirror://sourceforge/portfwd/portfwd-0.29.tar.gz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=4b3ea4db3203a93472566c3aed61d7ab
+_md5_=030285a02cbec01c0ab1f256c53edc4f
diff --git a/metadata/md5-cache/net-misc/rinetd-0.62-r1 b/metadata/md5-cache/net-misc/rinetd-0.62-r2
similarity index 88%
rename from metadata/md5-cache/net-misc/rinetd-0.62-r1
rename to metadata/md5-cache/net-misc/rinetd-0.62-r2
index d542fd7f2a84..9e2eee93a9d6 100644
--- a/metadata/md5-cache/net-misc/rinetd-0.62-r1
+++ b/metadata/md5-cache/net-misc/rinetd-0.62-r2
@@ -1,10 +1,10 @@
 DEFINED_PHASES=compile install prepare
 DESCRIPTION=redirects TCP connections from one IP address and port to another
-EAPI=2
+EAPI=6
 HOMEPAGE=http://www.boutell.com/rinetd/
 KEYWORDS=amd64 x86
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=http://www.boutell.com/rinetd/http/rinetd.tar.gz
 _eclasses_=multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=5ba6eebf1640831279ffb4b4444f80c6
+_md5_=f49d0094b37b5a0e547822c873124f1e
diff --git a/metadata/md5-cache/net-misc/rwbs-0.27-r1 b/metadata/md5-cache/net-misc/rwbs-0.27-r2
similarity index 83%
rename from metadata/md5-cache/net-misc/rwbs-0.27-r1
rename to metadata/md5-cache/net-misc/rwbs-0.27-r2
index f4ea13d4b355..a247dfcdaaf1 100644
--- a/metadata/md5-cache/net-misc/rwbs-0.27-r1
+++ b/metadata/md5-cache/net-misc/rwbs-0.27-r2
@@ -1,9 +1,9 @@
 DEFINED_PHASES=install
 DESCRIPTION=Roger Wilco base station
-EAPI=4
+EAPI=6
 HOMEPAGE=http://rogerwilco.gamespy.com/
 KEYWORDS=~amd64 x86
 LICENSE=Resounding GPL-2
 SLOT=0
 SRC_URI=http://games.gci.net/pub/VoiceOverIP/RogerWilco/rwbs_Linux_0_27.tar.gz
-_md5_=6924c40d466ee9007433578727410178
+_md5_=af86790f5e20798356242fcc43f405ec
diff --git a/metadata/md5-cache/net-misc/rwhoisd-1.5.9.5-r2 b/metadata/md5-cache/net-misc/rwhoisd-1.5.9.5-r3
similarity index 92%
rename from metadata/md5-cache/net-misc/rwhoisd-1.5.9.5-r2
rename to metadata/md5-cache/net-misc/rwhoisd-1.5.9.5-r3
index 4af82bb97f73..97d0fc52526f 100644
--- a/metadata/md5-cache/net-misc/rwhoisd-1.5.9.5-r2
+++ b/metadata/md5-cache/net-misc/rwhoisd-1.5.9.5-r3
@@ -8,4 +8,4 @@ LICENSE=GPL-2
 SLOT=0
 SRC_URI=http://projects.arin.net/rwhois/ftp/rwhoisd-1.5.9.5.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=8cebaed20ef3f25273cd5ffd6bb77da3
+_md5_=12fc8cf37639eae6dcf2c36e16d76921
diff --git a/metadata/md5-cache/net-misc/ser-0.9.7-r1 b/metadata/md5-cache/net-misc/ser-0.9.7-r2
similarity index 96%
rename from metadata/md5-cache/net-misc/ser-0.9.7-r1
rename to metadata/md5-cache/net-misc/ser-0.9.7-r2
index dde377a6cdcc..f86d25928ccb 100644
--- a/metadata/md5-cache/net-misc/ser-0.9.7-r1
+++ b/metadata/md5-cache/net-misc/ser-0.9.7-r2
@@ -10,4 +10,4 @@ RDEPEND=mysql? ( virtual/mysql ) radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
 SLOT=0
 SRC_URI=http://ftp.iptel.org/pub/ser/0.9.7/src/ser-0.9.7_src.tar.gz mirror://gentoo/silomail-1.0-ser-0.9.0.tar.gz mirror://gentoo/ethz-1.0-ser-0.9.0.tar.gz ldap? ( mirror://gentoo/ldap-1.0-ser-0.9.0.tar.gz mirror://gentoo/ldaps-1.0-ser-0.9.0.tar.gz )
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=761af091a3fdcc1dc20415daa806d32c
+_md5_=7f31aa62756b2b7fb67699b9d01b43c2
diff --git a/metadata/md5-cache/net-misc/siproxd-0.8.0-r2 b/metadata/md5-cache/net-misc/siproxd-0.8.0-r3
similarity index 94%
rename from metadata/md5-cache/net-misc/siproxd-0.8.0-r2
rename to metadata/md5-cache/net-misc/siproxd-0.8.0-r3
index d2a0832a21b5..455c9d1105eb 100644
--- a/metadata/md5-cache/net-misc/siproxd-0.8.0-r2
+++ b/metadata/md5-cache/net-misc/siproxd-0.8.0-r3
@@ -1,7 +1,7 @@
 DEFINED_PHASES=configure install postinst prepare setup
 DEPEND=>=net-libs/libosip-3.0.0 =sys-devel/libtool-2.4 doc? ( app-text/docbook-sgml-utils app-text/docbook-sgml-dtd:4.2 ) !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=A proxy/masquerading daemon for the SIP protocol
-EAPI=2
+EAPI=5
 HOMEPAGE=http://siproxd.sourceforge.net/
 IUSE=examples doc static
 KEYWORDS=amd64 x86
@@ -10,4 +10,4 @@ RDEPEND=>=net-libs/libosip-3.0.0 =net-libs/libosip-3.0.0 =dev-libs/crypto++-5 sys-libs/binutils-libs:0= >=sys-libs/zlib-1.2.1 >=x11-libs/wxGTK-2.8.12:2.8[X?] stats? ( >=media-libs/gd-2.0.26:=[jpeg] ) geoip? ( dev-libs/geoip ) upnp? ( >=net-libs/libupnp-1.6.6 ) remote? ( >=media-libs/libpng-1.2.0:0= unicode? ( >=media-libs/gd-2.0.26:= ) ) !net-p2p/imule
 DESCRIPTION=aMule, the all-platform eMule p2p client
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.amule.org/
 IUSE=daemon debug geoip nls remote stats unicode upnp +X
 KEYWORDS=~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86
@@ -10,4 +10,4 @@ RDEPEND=>=dev-libs/crypto++-5 sys-libs/binutils-libs:0= >=sys-libs/zlib-1.2.1 >=
 SLOT=0
 SRC_URI=mirror://sourceforge/amule/aMule-2.3.1.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46	wxwidgets	9b34ce3ca77f4e418e8fd9951c4c1cb1
-_md5_=7b7972335c677100be430ec47ac2d662
+_md5_=450b098abb78fffe5d81a2eefcbaec52
diff --git a/metadata/md5-cache/net-p2p/bittornado-0.3.18-r3 b/metadata/md5-cache/net-p2p/bittornado-0.3.18-r4
similarity index 69%
rename from metadata/md5-cache/net-p2p/bittornado-0.3.18-r3
rename to metadata/md5-cache/net-p2p/bittornado-0.3.18-r4
index 12c7b2eb4701..3982f369d064 100644
--- a/metadata/md5-cache/net-p2p/bittornado-0.3.18-r3
+++ b/metadata/md5-cache/net-p2p/bittornado-0.3.18-r4
@@ -1,7 +1,7 @@
 DEFINED_PHASES=compile configure install prepare test
 DEPEND=dev-python/pycrypto[python_targets_python2_7(-)?,-python_single_target_python2_7(-)] app-arch/unzip >=sys-apps/sed-4.0.5 python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_python2_7(-)]
 DESCRIPTION=TheShad0w's experimental BitTorrent client
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.bittornado.com/
 IUSE=python_targets_python2_7
 KEYWORDS=~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris
@@ -10,5 +10,5 @@ RDEPEND=dev-python/pycrypto[python_targets_python2_7(-)?,-python_single_target_p
 REQUIRED_USE=|| ( python_targets_python2_7 )
 SLOT=0
 SRC_URI=http://download2.bittornado.com/download/BitTornado-0.3.18.tar.gz
-_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=be4b291dec325481fd4904f2b9177b72
+_eclasses_=distutils-r1	4e8ac1ba76ddacd8f7c0289aa586a34c	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multiprocessing	e32940a7b2a9992ad217eccddb84d548	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=8c09c4d5e5d1db887d63b1347042e98c
diff --git a/metadata/md5-cache/net-p2p/classified-ads-0.10 b/metadata/md5-cache/net-p2p/classified-ads-0.10
deleted file mode 100644
index 42071b934eb5..000000000000
--- a/metadata/md5-cache/net-p2p/classified-ads-0.10
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install prepare test unpack
-DEPEND=dev-libs/openssl:0 >=net-libs/libnatpmp-20130911 <=net-libs/libnatpmp-20140401-r1 >=net-libs/miniupnpc-1.8 sys-apps/file sys-devel/gettext dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtwidgets:5 dev-qt/qtsql:5[sqlite] dev-qt/qtmultimedia:5[widgets] dev-qt/qt-mobility[multimedia] dev-qt/qtprintsupport:5 media-libs/opus dev-qt/qttest:5 sys-devel/gdb:0 doc? ( app-doc/doxygen[dot] ) test? ( dev-libs/libgcrypt:0 !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost ) test? ( !prefix? ( x11-base/xorg-server[xvfb] ) x11-apps/xhost )
-DESCRIPTION=Program for displaying classified advertisement items
-EAPI=6
-HOMEPAGE=http://katiska.org/classified-ads/
-IUSE=debug doc test test
-KEYWORDS=~amd64 ~x86
-LICENSE=LGPL-2.1
-RDEPEND=dev-libs/openssl:0 >=net-libs/libnatpmp-20130911 <=net-libs/libnatpmp-20140401-r1 >=net-libs/miniupnpc-1.8 sys-apps/file sys-devel/gettext dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5[ssl] dev-qt/qtwidgets:5 dev-qt/qtsql:5[sqlite] dev-qt/qtmultimedia:5[widgets] dev-qt/qt-mobility[multimedia] dev-qt/qtprintsupport:5 media-libs/opus
-SLOT=0
-SRC_URI=https://github.com/operatornormal/classified-ads/archive/cd0652c52f86f6284b793f26e5362bc8fb8a7118.tar.gz -> classified-ads-0.10.tar.gz https://github.com/operatornormal/classified-ads/blob/graphics/preprocessed.tar.gz?raw=true -> classified-ads-graphics-0.10.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	qmake-utils	0a242e7177789b0028b4045f336dd4db	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	vcs-snapshot	b45be87e7012be0af8424e8a5644da1d	virtualx	86c9305a59b3e0459e7fbef3a5f30b96
-_md5_=ea6713381f486aa3c6ac626c6b58f133
diff --git a/metadata/md5-cache/net-p2p/mldonkey-3.1.5 b/metadata/md5-cache/net-p2p/mldonkey-3.1.5-r1
similarity index 96%
rename from metadata/md5-cache/net-p2p/mldonkey-3.1.5
rename to metadata/md5-cache/net-p2p/mldonkey-3.1.5-r1
index ef7b73b9c976..df068e44b7dd 100644
--- a/metadata/md5-cache/net-p2p/mldonkey-3.1.5
+++ b/metadata/md5-cache/net-p2p/mldonkey-3.1.5-r1
@@ -1,7 +1,7 @@
 DEFINED_PHASES=compile configure install postinst preinst prepare setup
 DEPEND=dev-lang/perl dev-ml/camlp4:= guionly? ( >=gnome-base/librsvg-2.4.0 >=dev-ml/lablgtk-2.6 ) gtk? ( >=gnome-base/librsvg-2.4.0 >=dev-ml/lablgtk-2.6[svg] ) gd? ( >=media-libs/gd-2.0.28[truetype] ) magic? ( sys-apps/file ) >=dev-lang/ocaml-3.10.2[ocamlopt?] !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=A multi-network P2P application written in Ocaml, with its own Gtk GUI, web and telnet interface
-EAPI=5
+EAPI=6
 HOMEPAGE=http://mldonkey.sourceforge.net/
 IUSE=bittorrent doc fasttrack gd gnutella gtk guionly magic +ocamlopt
 KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ppc ~sparc x86 ~x86-fbsd
@@ -10,4 +10,4 @@ RDEPEND=dev-lang/perl dev-ml/camlp4:= guionly? ( >=gnome-base/librsvg-2.4.0 >=de
 SLOT=0
 SRC_URI=mirror://sourceforge/mldonkey/mldonkey-3.1.5.tar.bz2
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=484b1395b01df2e90bf6bf9a2acb102d
+_md5_=0286e5c8f86124f2d9eee4bd76e86b7e
diff --git a/metadata/md5-cache/net-proxy/bfilter-1.1.4-r3 b/metadata/md5-cache/net-proxy/bfilter-1.1.4-r4
similarity index 100%
rename from metadata/md5-cache/net-proxy/bfilter-1.1.4-r3
rename to metadata/md5-cache/net-proxy/bfilter-1.1.4-r4
diff --git a/metadata/md5-cache/net-proxy/cntlm-0.93_beta5-r1 b/metadata/md5-cache/net-proxy/cntlm-0.93_beta5-r2
similarity index 91%
rename from metadata/md5-cache/net-proxy/cntlm-0.93_beta5-r1
rename to metadata/md5-cache/net-proxy/cntlm-0.93_beta5-r2
index d77d3016c05c..e63ef60b065c 100644
--- a/metadata/md5-cache/net-proxy/cntlm-0.93_beta5-r1
+++ b/metadata/md5-cache/net-proxy/cntlm-0.93_beta5-r2
@@ -1,11 +1,11 @@
 DEFINED_PHASES=compile configure install postinst prepare
 DEPEND=virtual/pkgconfig
 DESCRIPTION=Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy
-EAPI=5
+EAPI=6
 HOMEPAGE=http://cntlm.sourceforge.net/
 KEYWORDS=~amd64 ~x86
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=http://ftp.awk.cz/pub/cntlm-0.93beta5.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=22e1890ab87a34d8e01dba5ee4b05fa8
+_md5_=02f346c4e9d5dcd626e6d998f22db1ec
diff --git a/metadata/md5-cache/net-proxy/dnsproxy-1.16-r1 b/metadata/md5-cache/net-proxy/dnsproxy-1.16-r2
similarity index 91%
rename from metadata/md5-cache/net-proxy/dnsproxy-1.16-r1
rename to metadata/md5-cache/net-proxy/dnsproxy-1.16-r2
index b209ff446443..3c820836802d 100644
--- a/metadata/md5-cache/net-proxy/dnsproxy-1.16-r1
+++ b/metadata/md5-cache/net-proxy/dnsproxy-1.16-r2
@@ -1,7 +1,7 @@
 DEFINED_PHASES=compile install prepare
 DEPEND=dev-libs/libevent
 DESCRIPTION=The dnsproxy daemon is a proxy for DNS queries
-EAPI=4
+EAPI=6
 HOMEPAGE=http://www.wolfermann.org/dnsproxy.html
 KEYWORDS=amd64 x86
 LICENSE=MIT GPL-2
@@ -9,4 +9,4 @@ RDEPEND=dev-libs/libevent
 SLOT=0
 SRC_URI=http://www.wolfermann.org/dnsproxy-1.16.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=082abc8f9661fa7975e9023736cca314
+_md5_=ef5072c59522965d7d8526d074c9bd83
diff --git a/metadata/md5-cache/net-proxy/havp-0.92a-r1 b/metadata/md5-cache/net-proxy/havp-0.92a-r2
similarity index 94%
rename from metadata/md5-cache/net-proxy/havp-0.92a-r1
rename to metadata/md5-cache/net-proxy/havp-0.92a-r2
index 8fe46b04349d..560308321332 100644
--- a/metadata/md5-cache/net-proxy/havp-0.92a-r1
+++ b/metadata/md5-cache/net-proxy/havp-0.92a-r2
@@ -10,4 +10,4 @@ RDEPEND=clamav? ( >=app-antivirus/clamav-0.98.5 )
 SLOT=0
 SRC_URI=http://www.server-side.de/download/havp-0.92a.tar.gz
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=427ec7f00fa5cac8239207c1d642f58b
+_md5_=9778a271e205b51f2f012980d64670dd
diff --git a/metadata/md5-cache/net-proxy/http-replicator-3.0-r5 b/metadata/md5-cache/net-proxy/http-replicator-3.0-r6
similarity index 100%
rename from metadata/md5-cache/net-proxy/http-replicator-3.0-r5
rename to metadata/md5-cache/net-proxy/http-replicator-3.0-r6
diff --git a/metadata/md5-cache/net-proxy/http-replicator-4.0_alpha2-r4 b/metadata/md5-cache/net-proxy/http-replicator-4.0_alpha2-r5
similarity index 94%
rename from metadata/md5-cache/net-proxy/http-replicator-4.0_alpha2-r4
rename to metadata/md5-cache/net-proxy/http-replicator-4.0_alpha2-r5
index 0568b6f8fcbe..42e598a768a3 100644
--- a/metadata/md5-cache/net-proxy/http-replicator-4.0_alpha2-r4
+++ b/metadata/md5-cache/net-proxy/http-replicator-4.0_alpha2-r5
@@ -10,4 +10,4 @@ RESTRICT=test
 SLOT=0
 SRC_URI=mirror://sourceforge/http-replicator/http-replicator_4.0alpha2.tgz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	python-r1	0f6937650a475d673baa5d0c8c0b37b3	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=efa9b3f5a566c24f5406d7a9c1a9704a
+_md5_=6727e6b6a52268f429eef1b75813bafe
diff --git a/metadata/md5-cache/net-proxy/nylon-1.21-r1 b/metadata/md5-cache/net-proxy/nylon-1.21-r2
similarity index 61%
rename from metadata/md5-cache/net-proxy/nylon-1.21-r1
rename to metadata/md5-cache/net-proxy/nylon-1.21-r2
index 4095f691fe2a..daa6ad03b125 100644
--- a/metadata/md5-cache/net-proxy/nylon-1.21-r1
+++ b/metadata/md5-cache/net-proxy/nylon-1.21-r2
@@ -1,12 +1,12 @@
 DEFINED_PHASES=install prepare
 DEPEND=>=dev-libs/libevent-0.6 virtual/pkgconfig !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
 DESCRIPTION=A lightweight SOCKS proxy server
-EAPI=4
+EAPI=6
 HOMEPAGE=http://monkey.org/~marius/nylon/
 KEYWORDS=amd64 ppc ppc64 ~sparc x86
 LICENSE=BSD GPL-2
 RDEPEND=>=dev-libs/libevent-0.6
 SLOT=0
 SRC_URI=http://monkey.org/~marius/nylon/nylon-1.21.tar.gz
-_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=8c3aa1be708da4bb2f3103deedaf43d8
+_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=2e240b930178d51c46cddd5c49751c42
diff --git a/metadata/md5-cache/net-proxy/tinyproxy-1.8.3-r3 b/metadata/md5-cache/net-proxy/tinyproxy-1.8.3-r4
similarity index 63%
rename from metadata/md5-cache/net-proxy/tinyproxy-1.8.3-r3
rename to metadata/md5-cache/net-proxy/tinyproxy-1.8.3-r4
index 3dd7024db23c..48b0a0295afa 100644
--- a/metadata/md5-cache/net-proxy/tinyproxy-1.8.3-r3
+++ b/metadata/md5-cache/net-proxy/tinyproxy-1.8.3-r4
@@ -1,7 +1,7 @@
 DEFINED_PHASES=configure install postinst prepare setup test
 DEPEND=!minimal? ( app-text/asciidoc ) !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig
 DESCRIPTION=A lightweight HTTP/SSL proxy
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.banu.com/tinyproxy/
 IUSE=test debug +filter-proxy minimal reverse-proxy transparent-proxy +upstream-proxy +xtinyproxy-header
 KEYWORDS=alpha amd64 ~arm ia64 ppc sparc x86
@@ -9,5 +9,5 @@ LICENSE=GPL-2
 REQUIRED_USE=test? ( xtinyproxy-header )
 SLOT=0
 SRC_URI=http://www.banu.com/pub/tinyproxy/1.8/tinyproxy-1.8.3.tar.bz2
-_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=874a11ef30c5c2e4bb416eef85401bab
+_eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	systemd	3165c885f3c71ffae7a867d931fb0e07	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=70e921c14c2d66dbdda4347fba6993d5
diff --git a/metadata/md5-cache/net-proxy/wwwoffle-2.9i b/metadata/md5-cache/net-proxy/wwwoffle-2.9i-r1
similarity index 93%
rename from metadata/md5-cache/net-proxy/wwwoffle-2.9i
rename to metadata/md5-cache/net-proxy/wwwoffle-2.9i-r1
index c682928f16ad..ea0f78890d54 100644
--- a/metadata/md5-cache/net-proxy/wwwoffle-2.9i
+++ b/metadata/md5-cache/net-proxy/wwwoffle-2.9i-r1
@@ -1,7 +1,7 @@
 DEFINED_PHASES=configure install postinst preinst prepare
 DEPEND=dev-lang/perl sys-devel/flex gnutls? ( net-libs/gnutls ) zlib? ( sys-libs/zlib )
 DESCRIPTION=Web caching proxy suitable for non-permanent Internet connections
-EAPI=4
+EAPI=6
 HOMEPAGE=http://www.gedanken.org.uk/software/wwwoffle/
 IUSE=gnutls ipv6 zlib
 KEYWORDS=amd64 ppc ppc64 sparc x86
@@ -10,4 +10,4 @@ RDEPEND=gnutls? ( net-libs/gnutls ) zlib? ( sys-libs/zlib )
 SLOT=0
 SRC_URI=http://www.gedanken.org.uk/software/wwwoffle/download/wwwoffle-2.9i.tgz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=2fd7e7714da20bce1482383d6bad6783
+_md5_=eda1541083409c5abb3a3139db27d248
diff --git a/metadata/md5-cache/net-proxy/ziproxy-3.3.1 b/metadata/md5-cache/net-proxy/ziproxy-3.3.1-r1
similarity index 93%
rename from metadata/md5-cache/net-proxy/ziproxy-3.3.1
rename to metadata/md5-cache/net-proxy/ziproxy-3.3.1-r1
index ccbe2369a43e..9d4243f0f114 100644
--- a/metadata/md5-cache/net-proxy/ziproxy-3.3.1
+++ b/metadata/md5-cache/net-proxy/ziproxy-3.3.1-r1
@@ -1,7 +1,7 @@
 DEFINED_PHASES=configure install prepare setup
 DEPEND=media-libs/giflib media-libs/libpng:0= virtual/jpeg sys-libs/zlib jpeg2k? ( media-libs/jasper ) sasl? ( dev-libs/cyrus-sasl ) xinetd? ( virtual/inetd ) app-arch/xz-utils
 DESCRIPTION=A forwarding, non-caching, compressing web proxy server
-EAPI=5
+EAPI=6
 HOMEPAGE=http://ziproxy.sourceforge.net/
 IUSE=jpeg2k sasl xinetd
 KEYWORDS=~amd64 ~ppc ~sparc ~x86
@@ -10,4 +10,4 @@ RDEPEND=media-libs/giflib media-libs/libpng:0= virtual/jpeg sys-libs/zlib jpeg2k
 SLOT=0
 SRC_URI=mirror://sourceforge/ziproxy/ziproxy-3.3.1.tar.xz
 _eclasses_=user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=d4e15340b7330f7ba0d1dee692ffa32a
+_md5_=b225e75279fa7ec3d23473ad2937b086
diff --git a/metadata/md5-cache/net-voip/gnugk-3.4 b/metadata/md5-cache/net-voip/gnugk-3.4-r1
similarity index 96%
rename from metadata/md5-cache/net-voip/gnugk-3.4
rename to metadata/md5-cache/net-voip/gnugk-3.4-r1
index 3041223292eb..a76f2f66157e 100644
--- a/metadata/md5-cache/net-voip/gnugk-3.4
+++ b/metadata/md5-cache/net-voip/gnugk-3.4-r1
@@ -1,7 +1,7 @@
 DEFINED_PHASES=compile configure install prepare
 DEPEND=net-libs/ptlib:= net-libs/h323plus:= dev-libs/openssl firebird? ( dev-db/firebird ) lua? ( dev-lang/lua ) mysql? ( virtual/mysql ) odbc? ( dev-db/unixODBC ) postgres? ( dev-db/postgresql ) snmp? ( net-analyzer/net-snmp ) ssh? ( net-libs/libssh ) sqlite? ( dev-db/sqlite:3 ) doc? ( app-text/linuxdoc-tools )
 DESCRIPTION=GNU H.323 gatekeeper
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.gnugk.org/
 IUSE=doc firebird lua mysql odbc postgres radius snmp sqlite ssh linguas_en linguas_es linguas_fr
 KEYWORDS=~amd64 ~ppc ~x86
@@ -11,4 +11,4 @@ REQUIRED_USE=doc? ( || ( linguas_en linguas_es linguas_fr ) )
 SLOT=0
 SRC_URI=mirror://sourceforge/openh323gk/gnugk-3.4.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=64c1b8c3d097e82108390a3d82a6b6f6
+_md5_=fc1f7b85d45ae6902fbec955008ebccb
diff --git a/metadata/md5-cache/net-voip/openmcu-2.2.5 b/metadata/md5-cache/net-voip/openmcu-2.2.5-r1
similarity index 60%
rename from metadata/md5-cache/net-voip/openmcu-2.2.5
rename to metadata/md5-cache/net-voip/openmcu-2.2.5-r1
index 74d4692bec65..2303debf7cb2 100644
--- a/metadata/md5-cache/net-voip/openmcu-2.2.5
+++ b/metadata/md5-cache/net-voip/openmcu-2.2.5-r1
@@ -1,12 +1,12 @@
 DEFINED_PHASES=compile install postinst preinst prepare
 DEPEND=net-libs/ptlib:= net-libs/h323plus:=
 DESCRIPTION=Simple Multi Conference Unit using H.323
-EAPI=5
+EAPI=6
 HOMEPAGE=http://www.h323plus.org/
 KEYWORDS=~amd64 ~x86
 LICENSE=MPL-1.0 GPL-2
 RDEPEND=net-libs/ptlib:= net-libs/h323plus:=
 SLOT=0
 SRC_URI=mirror://sourceforge/h323plus/h323plus-app-v1_23_0.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=d2701a44152195cd8cce9616bfa52a14
+_eclasses_=user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=14ec5d715e13647c813c7f5099b0bee3
diff --git a/metadata/md5-cache/net-wireless/chillispot-1.1.0 b/metadata/md5-cache/net-wireless/chillispot-1.1.0-r1
similarity index 57%
rename from metadata/md5-cache/net-wireless/chillispot-1.1.0
rename to metadata/md5-cache/net-wireless/chillispot-1.1.0-r1
index bc2265d4ba58..d403234a322c 100644
--- a/metadata/md5-cache/net-wireless/chillispot-1.1.0
+++ b/metadata/md5-cache/net-wireless/chillispot-1.1.0-r1
@@ -1,11 +1,10 @@
-DEFINED_PHASES=install unpack
+DEFINED_PHASES=install prepare
 DEPEND=>=sys-apps/sed-4
 DESCRIPTION=open source captive portal or wireless LAN access point controller
-EAPI=0
+EAPI=6
 HOMEPAGE=http://www.chillispot.info/
 KEYWORDS=~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc s390 sh ~sparc x86
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=http://www.chillispot.info/download/chillispot-1.1.0.tar.gz
-_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=fd60fce06827bff138da3d189de221d0
+_md5_=f46762a549c094bf58bc185f33d21341
diff --git a/metadata/md5-cache/net-wireless/irda-utils-0.9.18-r5 b/metadata/md5-cache/net-wireless/irda-utils-0.9.18-r6
similarity index 100%
rename from metadata/md5-cache/net-wireless/irda-utils-0.9.18-r5
rename to metadata/md5-cache/net-wireless/irda-utils-0.9.18-r6
diff --git a/metadata/md5-cache/sci-mathematics/cgal-4.8 b/metadata/md5-cache/sci-mathematics/cgal-4.8
new file mode 100644
index 000000000000..fc7c5b233ba7
--- /dev/null
+++ b/metadata/md5-cache/sci-mathematics/cgal-4.8
@@ -0,0 +1,13 @@
+DEFINED_PHASES=compile configure install prepare test
+DEPEND=>=dev-cpp/eigen-3.1 dev-libs/boost:= dev-libs/mpfr:0 sys-libs/zlib x11-libs/libX11 virtual/glu virtual/opengl gmp? ( dev-libs/gmp[cxx] ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtopengl:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) mpfi? ( sci-libs/mpfi ) ntl? ( dev-libs/ntl ) app-arch/xz-utils virtual/pkgconfig sys-devel/make >=dev-util/cmake-2.8.12
+DESCRIPTION=C++ library for geometric algorithms and data structures
+EAPI=6
+HOMEPAGE=http://www.cgal.org/
+IUSE=doc examples +gmp mpfi ntl qt5
+KEYWORDS=~amd64 ~x86 ~amd64-linux ~x86-linux
+LICENSE=LGPL-3 GPL-3 Boost-1.0
+RDEPEND=>=dev-cpp/eigen-3.1 dev-libs/boost:= dev-libs/mpfr:0 sys-libs/zlib x11-libs/libX11 virtual/glu virtual/opengl gmp? ( dev-libs/gmp[cxx] ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qtopengl:5 dev-qt/qtsvg:5 dev-qt/qtwidgets:5 ) mpfi? ( sci-libs/mpfi ) ntl? ( dev-libs/ntl )
+SLOT=0
+SRC_URI=https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.8/CGAL-4.8.tar.xz -> cgal-4.8.tar.xz doc? ( https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.8/CGAL-4.8-doc_html.tar.xz -> cgal-4.8-doc_html-1.tar.xz )
+_eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=1693cfd78f90b6b40a59482187986e55
diff --git a/metadata/md5-cache/sci-mathematics/coq-8.5_p1 b/metadata/md5-cache/sci-mathematics/coq-8.5_p1
index d76c6184ddd7..9a3aaaa5f7cb 100644
--- a/metadata/md5-cache/sci-mathematics/coq-8.5_p1
+++ b/metadata/md5-cache/sci-mathematics/coq-8.5_p1
@@ -10,4 +10,4 @@ RDEPEND=>=dev-lang/ocaml-3.11.2:=[ocamlopt?] camlp5? ( >=dev-ml/camlp5-6.02.3:=[
 SLOT=0
 SRC_URI=http://coq.inria.fr/distrib/V8.5pl1/files/coq-8.5pl1.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=41d69cdc48c8ac548f74789126e4f863
+_md5_=f76239774f9bd406414aa2c11ab1e327
diff --git a/metadata/md5-cache/sys-apps/gentoo-functions-0.10 b/metadata/md5-cache/sys-apps/gentoo-functions-0.10
index 4c125f1b3884..2633c3e37f60 100644
--- a/metadata/md5-cache/sys-apps/gentoo-functions-0.10
+++ b/metadata/md5-cache/sys-apps/gentoo-functions-0.10
@@ -2,9 +2,9 @@ DEFINED_PHASES=install prepare
 DESCRIPTION=base functions required by all gentoo systems
 EAPI=5
 HOMEPAGE=https://www.gentoo.org
-KEYWORDS=alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
+KEYWORDS=alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
 LICENSE=GPL-2
 SLOT=0
 SRC_URI=https://github.com/gentoo/gentoo-functions/archive/0.10.tar.gz -> gentoo-functions-0.10.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=6cc3bbfc4787edd9cd01ccb1408d2c8f
+_md5_=2d9d9d7396ac9a6396d05b9aa5fae955
diff --git a/metadata/md5-cache/sys-apps/gentoo-functions-0.8 b/metadata/md5-cache/sys-apps/gentoo-functions-0.8
deleted file mode 100644
index 208f603b7d11..000000000000
--- a/metadata/md5-cache/sys-apps/gentoo-functions-0.8
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFINED_PHASES=install prepare
-DESCRIPTION=base functions required by all gentoo systems
-EAPI=5
-HOMEPAGE=https://www.gentoo.org
-KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
-LICENSE=GPL-2
-SLOT=0
-SRC_URI=https://dev.gentoo.org/~williamh/dist/gentoo-functions-0.8.tar.bz2 prefix? ( https://dev.gentoo.org/~grobian/distfiles/consoletype-1.0.sh )
-_eclasses_=multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
-_md5_=0ab2cc57d0864895bb8ad780be95be61
diff --git a/metadata/md5-cache/sys-apps/paludis-2.6.0 b/metadata/md5-cache/sys-apps/paludis-2.6.0
new file mode 100644
index 000000000000..c47364dd2b7b
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/paludis-2.6.0
@@ -0,0 +1,15 @@
+DEFINED_PHASES=configure install postinst prepare pretend setup test
+DEPEND=>=app-admin/eselect-1.2.13 >=app-shells/bash-3.2:0 dev-libs/libpcre[cxx] sys-apps/file pbins? ( >=app-arch/libarchive-3.1.2 ) python? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-libs/boost-1.41.0[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-lang/ruby:2.1 ) search-index? ( >=dev-db/sqlite-3 ) xml? ( >=dev-libs/libxml2-2.6 ) >=app-text/asciidoc-8.6.3 app-text/htmltidy app-text/xmlto >=sys-devel/gcc-4.7 doc? ( app-doc/doxygen python? ( dev-python/sphinx[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-ruby/syntax[ruby_targets_ruby21] ) ) virtual/pkgconfig test? ( >=dev-cpp/gtest-1.6.0-r1 )
+DESCRIPTION=paludis, the other package mangler
+EAPI=5
+HOMEPAGE=http://paludis.exherbo.org/
+IUSE=doc pbins pink python ruby search-index test +xml python_targets_python2_7
+KEYWORDS=~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86
+LICENSE=GPL-2 vim
+PDEPEND=app-eselect/eselect-package-manager
+RDEPEND=>=app-admin/eselect-1.2.13 >=app-shells/bash-3.2:0 dev-libs/libpcre[cxx] sys-apps/file pbins? ( >=app-arch/libarchive-3.1.2 ) python? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-libs/boost-1.41.0[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-lang/ruby:2.1 ) search-index? ( >=dev-db/sqlite-3 ) xml? ( >=dev-libs/libxml2-2.6 ) sys-apps/sandbox
+REQUIRED_USE=python? ( python_targets_python2_7 )
+SLOT=0
+SRC_URI=http://paludis.exherbo.org/download/paludis-2.6.0.tar.bz2
+_eclasses_=bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
+_md5_=52edecaa11a1b163bb6316e5173b6730
diff --git a/metadata/md5-cache/sys-apps/paludis-9999 b/metadata/md5-cache/sys-apps/paludis-9999
index 48e931af9aca..3c12e9686f4b 100644
--- a/metadata/md5-cache/sys-apps/paludis-9999
+++ b/metadata/md5-cache/sys-apps/paludis-9999
@@ -1,13 +1,13 @@
 DEFINED_PHASES=configure install postinst prepare pretend setup test unpack
-DEPEND=>=app-admin/eselect-1.2.13 >=app-shells/bash-3.2 dev-libs/libpcre[cxx] sys-apps/file pbins? ( >=app-arch/libarchive-3.1.2 ) python? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-libs/boost-1.41.0[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-lang/ruby:2.0 ) search-index? ( >=dev-db/sqlite-3 ) xml? ( >=dev-libs/libxml2-2.6 ) >=app-text/asciidoc-8.6.3 app-text/htmltidy app-text/xmlto >=sys-devel/gcc-4.7 doc? ( || ( >=app-doc/doxygen-1.5.3 <=app-doc/doxygen-1.5.1 ) python? ( dev-python/sphinx[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-ruby/syntax[ruby_targets_ruby20] ) ) virtual/pkgconfig test? ( >=dev-cpp/gtest-1.6.0-r1 ) !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1
+DEPEND=>=app-admin/eselect-1.2.13 >=app-shells/bash-3.2:0 dev-libs/libpcre[cxx] sys-apps/file pbins? ( >=app-arch/libarchive-3.1.2 ) python? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-libs/boost-1.41.0[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-lang/ruby:2.1 ) search-index? ( >=dev-db/sqlite-3 ) xml? ( >=dev-libs/libxml2-2.6 ) >=app-text/asciidoc-8.6.3 app-text/htmltidy app-text/xmlto >=sys-devel/gcc-4.7 doc? ( app-doc/doxygen python? ( dev-python/sphinx[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-ruby/syntax[ruby_targets_ruby21] ) ) virtual/pkgconfig test? ( >=dev-cpp/gtest-1.6.0-r1 ) !=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=dev-vcs/git-1.8.2.1
 DESCRIPTION=paludis, the other package mangler
 EAPI=5
 HOMEPAGE=http://paludis.exherbo.org/
 IUSE=doc pbins pink python ruby search-index test +xml python_targets_python2_7
 LICENSE=GPL-2 vim
 PDEPEND=app-eselect/eselect-package-manager
-RDEPEND=>=app-admin/eselect-1.2.13 >=app-shells/bash-3.2 dev-libs/libpcre[cxx] sys-apps/file pbins? ( >=app-arch/libarchive-3.1.2 ) python? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-libs/boost-1.41.0[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-lang/ruby:2.0 ) search-index? ( >=dev-db/sqlite-3 ) xml? ( >=dev-libs/libxml2-2.6 ) sys-apps/sandbox
+RDEPEND=>=app-admin/eselect-1.2.13 >=app-shells/bash-3.2:0 dev-libs/libpcre[cxx] sys-apps/file pbins? ( >=app-arch/libarchive-3.1.2 ) python? ( >=dev-lang/python-2.7.5-r2:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] >=dev-libs/boost-1.41.0[python,python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),python_single_target_python2_7(+)] ) ruby? ( dev-lang/ruby:2.1 ) search-index? ( >=dev-db/sqlite-3 ) xml? ( >=dev-libs/libxml2-2.6 ) sys-apps/sandbox
 REQUIRED_USE=python? ( python_targets_python2_7 )
 SLOT=0
 _eclasses_=autotools	07e71b3b5690738ef7e8bc097077e00c	bash-completion-r1	acf715fa09463f043fbfdc1640f3fb85	eutils	792f83d5ec9536cb5ccef375469d8bde	git-r3	ef66dfc3db09f327af21cf32f140fb2b	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	user	906f3c8eb3a2350a4f1191a89baa3e46
-_md5_=a8966fc0ce6e073d2cecd5e3261306da
+_md5_=23f084a8b36150baa00539a3377b25da
diff --git a/metadata/md5-cache/sys-fs/fuse-2.9.5 b/metadata/md5-cache/sys-fs/fuse-2.9.5
index f4bf298548a0..b19b9f662d01 100644
--- a/metadata/md5-cache/sys-fs/fuse-2.9.5
+++ b/metadata/md5-cache/sys-fs/fuse-2.9.5
@@ -10,4 +10,4 @@ PDEPEND=kernel_FreeBSD? ( sys-fs/fuse4bsd )
 SLOT=0
 SRC_URI=https://github.com/libfuse/libfuse/releases/download/fuse_2_9_5/fuse-2.9.5.tar.gz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	udev	73058269b3e70e34e084fa3981282338	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=9792dc4edefda41c4195ee1c823fdea2
+_md5_=4e8c854e68040d3dd69857103fefb7d9
diff --git a/metadata/md5-cache/sys-fs/fuse-2.9.6 b/metadata/md5-cache/sys-fs/fuse-2.9.6
new file mode 100644
index 000000000000..2b5b1becf5c8
--- /dev/null
+++ b/metadata/md5-cache/sys-fs/fuse-2.9.6
@@ -0,0 +1,13 @@
+DEFINED_PHASES=configure install prepare setup
+DEPEND=virtual/pkgconfig virtual/pkgconfig
+DESCRIPTION=An interface for filesystems implemented in userspace
+EAPI=5
+HOMEPAGE=https://github.com/libfuse/libfuse
+IUSE=examples kernel_linux kernel_FreeBSD static-libs
+KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux
+LICENSE=GPL-2
+PDEPEND=kernel_FreeBSD? ( sys-fs/fuse4bsd )
+SLOT=0
+SRC_URI=https://github.com/libfuse/libfuse/releases/download/fuse-2.9.6/fuse-2.9.6.tar.gz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	libtool	4890219c51da247200223277f993e054	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	udev	73058269b3e70e34e084fa3981282338	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=04df4473fb836f075e0387a580cac5a0
diff --git a/metadata/md5-cache/sys-kernel/vanilla-sources-3.16.35 b/metadata/md5-cache/sys-kernel/vanilla-sources-3.16.35
new file mode 100644
index 000000000000..8e551862041c
--- /dev/null
+++ b/metadata/md5-cache/sys-kernel/vanilla-sources-3.16.35
@@ -0,0 +1,14 @@
+DEFINED_PHASES=compile install postinst postrm preinst setup test unpack
+DEPEND=!build? ( sys-apps/sed >=sys-devel/binutils-2.11.90.0.31 )
+DESCRIPTION=Full sources for the Linux kernel
+EAPI=5
+HOMEPAGE=https://www.kernel.org
+IUSE=symlink build
+KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86
+LICENSE=GPL-2 freedist
+RDEPEND=!build? ( >=sys-libs/ncurses-5.2 sys-devel/make dev-lang/perl sys-devel/bc )
+RESTRICT=binchecks strip
+SLOT=3.16.35
+SRC_URI=mirror://kernel/linux/kernel/v3.x/patch-3.16.35.xz mirror://kernel/linux/kernel/v3.x/linux-3.16.tar.xz
+_eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	kernel-2	f745fe70cd0e35af07412905687b9a7f	multilib	23ae8c186171e6476af098d2a50d0ee0	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
+_md5_=0dc8fcb8286cc84f96e1568a488616d6
diff --git a/metadata/md5-cache/sys-kernel/vanilla-sources-3.2.79 b/metadata/md5-cache/sys-kernel/vanilla-sources-3.2.80
similarity index 91%
rename from metadata/md5-cache/sys-kernel/vanilla-sources-3.2.79
rename to metadata/md5-cache/sys-kernel/vanilla-sources-3.2.80
index 51bcd4f340ce..236072a4037f 100644
--- a/metadata/md5-cache/sys-kernel/vanilla-sources-3.2.79
+++ b/metadata/md5-cache/sys-kernel/vanilla-sources-3.2.80
@@ -8,7 +8,7 @@ KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86
 LICENSE=GPL-2 freedist
 RDEPEND=!build? ( >=sys-libs/ncurses-5.2 sys-devel/make dev-lang/perl sys-devel/bc )
 RESTRICT=binchecks strip
-SLOT=3.2.79
-SRC_URI=mirror://kernel/linux/kernel/v3.x/patch-3.2.79.xz mirror://kernel/linux/kernel/v3.x/linux-3.2.tar.xz
+SLOT=3.2.80
+SRC_URI=mirror://kernel/linux/kernel/v3.x/patch-3.2.80.xz mirror://kernel/linux/kernel/v3.x/linux-3.2.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	kernel-2	f745fe70cd0e35af07412905687b9a7f	multilib	23ae8c186171e6476af098d2a50d0ee0	python-any-r1	8eb13cdf35f6e43c48107b911900b2cc	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
 _md5_=0dc8fcb8286cc84f96e1568a488616d6
diff --git a/metadata/md5-cache/sys-process/memwatch-0.0.2 b/metadata/md5-cache/sys-process/memwatch-0.0.2
deleted file mode 100644
index 76c08756a541..000000000000
--- a/metadata/md5-cache/sys-process/memwatch-0.0.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=sys-libs/ncurses
-DESCRIPTION=Interactive memory viewer
-EAPI=5
-HOMEPAGE=https://bitbucket.org/PascalRD/memwatch/
-KEYWORDS=~amd64 ~x86
-LICENSE=WTFPL-2
-RDEPEND=sys-libs/ncurses
-SLOT=0
-SRC_URI=http://unixdev.ru/src/memwatch-0.0.2.tar.gz
-_md5_=0a20a2d1ca5ee157511be15a03e37721
diff --git a/metadata/md5-cache/sys-process/memwatch-0.0.2-r1 b/metadata/md5-cache/sys-process/memwatch-0.0.2-r1
deleted file mode 100644
index 7233eb784b90..000000000000
--- a/metadata/md5-cache/sys-process/memwatch-0.0.2-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=sys-libs/ncurses:0=
-DESCRIPTION=Interactive memory viewer
-EAPI=6
-HOMEPAGE=https://bitbucket.org/PascalRD/memwatch/
-KEYWORDS=~amd64 ~x86
-LICENSE=WTFPL-2
-RDEPEND=sys-libs/ncurses:0=
-SLOT=0
-SRC_URI=http://unixdev.ru/src/memwatch-0.0.2.tar.gz
-_md5_=5503c0d46e4bbecd5e9262510f39431f
diff --git a/metadata/md5-cache/sys-process/memwatch-0.1.0 b/metadata/md5-cache/sys-process/memwatch-0.1.0
index a3bb3f7227b2..2f9d772aa831 100644
--- a/metadata/md5-cache/sys-process/memwatch-0.1.0
+++ b/metadata/md5-cache/sys-process/memwatch-0.1.0
@@ -3,10 +3,10 @@ DEPEND=sys-libs/ncurses:0= sys-devel/make >=dev-util/cmake-2.8.12
 DESCRIPTION=Interactive memory viewer
 EAPI=6
 HOMEPAGE=https://bitbucket.org/PascalRD/memwatch/
-KEYWORDS=~amd64 ~x86
+KEYWORDS=amd64 x86
 LICENSE=WTFPL-2
 RDEPEND=sys-libs/ncurses:0=
 SLOT=0
 SRC_URI=http://unixdev.ru/src/memwatch-0.1.0.tar.gz
 _eclasses_=cmake-utils	422bbd1bee2557490177a34dbe0a662b	eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=955bfb110af8dcd934298ac6eb526356
+_md5_=d81c6fb4782bafb30759f95e1e03fca1
diff --git a/metadata/md5-cache/sys-process/watchpid-0.1-r2 b/metadata/md5-cache/sys-process/watchpid-0.1-r2
new file mode 100644
index 000000000000..3c825ec52d40
--- /dev/null
+++ b/metadata/md5-cache/sys-process/watchpid-0.1-r2
@@ -0,0 +1,11 @@
+DEFINED_PHASES=compile configure install test
+DESCRIPTION=Watches a process for termination
+EAPI=6
+HOMEPAGE=http://www.codepark.org/
+IUSE=abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
+KEYWORDS=~amd64 -ppc ~x86
+LICENSE=GPL-2
+SLOT=0
+SRC_URI=mirror://gentoo/watchpid_0.1.tar.gz
+_eclasses_=multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb
+_md5_=749cbee490798c411cd07dd2745838d2
diff --git a/metadata/md5-cache/x11-drivers/xf86-video-virtualbox-5.0.20 b/metadata/md5-cache/x11-drivers/xf86-video-virtualbox-5.0.20
index 48077f9ca2e2..62fdfb8821e8 100644
--- a/metadata/md5-cache/x11-drivers/xf86-video-virtualbox-5.0.20
+++ b/metadata/md5-cache/x11-drivers/xf86-video-virtualbox-5.0.20
@@ -11,4 +11,4 @@ REQUIRED_USE=python_targets_python2_7
 SLOT=0
 SRC_URI=http://download.virtualbox.org/virtualbox/5.0.20/VirtualBox-5.0.20.tar.bz2
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	linux-info	fd1e29abbb02cbc49f1a14299846e9c4	linux-mod	4755518412586c2fd655ff6e55780bcb	multilib	23ae8c186171e6476af098d2a50d0ee0	python-single-r1	2ebea8fbab356d63110245129a67a6dd	python-utils-r1	2e6826f6a93ad2acf904eecf5b5fb6d2	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c
-_md5_=3c6d944f9a245f01a480d907de1281e1
+_md5_=e1d758295a09243f8f72ef526fb80de0
diff --git a/metadata/md5-cache/x11-libs/gdk-pixbuf-2.32.3 b/metadata/md5-cache/x11-libs/gdk-pixbuf-2.32.3
index c82094bda600..95b65127ef86 100644
--- a/metadata/md5-cache/x11-libs/gdk-pixbuf-2.32.3
+++ b/metadata/md5-cache/x11-libs/gdk-pixbuf-2.32.3
@@ -4,10 +4,10 @@ DESCRIPTION=Image loading library for GTK+
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/gdk-pixbuf
 IUSE=X debug +introspection jpeg jpeg2k tiff test abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=>=dev-libs/glib-2.37.6:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libpng-1.4:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) jpeg? ( virtual/jpeg:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) jpeg2k? ( media-libs/jasper:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) tiff? ( >=media-libs/tiff-3.9.2:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) X? ( x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) !=dev-libs/atk-2.10.0[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/fontconfig-2.10.92[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.36.3[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-misc/shared-mime-info cups? ( >=net-print/cups-1.7.1-r2:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-0.9.3:= ) !aqua? ( >=x11-libs/cairo-1.12.14-r4:=[X] >=x11-libs/gdk-pixbuf-2.30.7:2[X] >=x11-libs/libXrender-0.9.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXi-1.7.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXext-1.3.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrandr-1.4.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXfixes-5.0.1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXdamage-1.1.4-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] xinerama? ( >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) >=dev-util/gtk-update-icon-cache-2 !=dev-libs/atk-2.15[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.45.8:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] media-libs/fontconfig[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/libepoxy-1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.14[aqua?,glib,svg,X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gdk-pixbuf-2.30:2[introspection?,X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/pango-1.37.3[introspection?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-misc/shared-mime-info cloudprint? ( >=net-libs/rest-0.7[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/json-glib-1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) colord? ( >=x11-misc/colord-0.1.9:0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) cups? ( >=net-print/cups-1.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) introspection? ( >=dev-libs/gobject-introspection-1.39:= ) wayland? ( >=dev-libs/wayland-1.5.91[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] media-libs/mesa[wayland,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libxkbcommon-0.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) X? ( >=app-accessibility/at-spi2-atk-2.5.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXrender[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libX11[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXi-1.3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXext[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXrandr-1.5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXcursor[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXfixes[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXcomposite[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] x11-libs/libXdamage[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] xinerama? ( x11-libs/libXinerama[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) ) >=dev-util/gtk-update-icon-cache-3 !=x11-themes/adwaita-icon-theme-3.14 X? ( !=dev-libs/glib-2.44:2 >=dev-libs/libxml2-2.6:2 >=x11-libs/gtk+-3.16:3[introspection?] glade? ( >=dev-util/glade-3.9:3.10 ) introspection? ( >=dev-libs/gobject-introspection-1.42:= )
 REQUIRED_USE=vala? ( introspection )
 SLOT=3.0/3
 SRC_URI=mirror://gnome/sources/gtksourceview/3.18/gtksourceview-3.18.2.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	vala	f946609697ad4b4b1d85b997f0c70204	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	virtualx	86c9305a59b3e0459e7fbef3a5f30b96	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=56f52105ad7fc1bb60d09975998c5097
+_md5_=238c25317639b786ec417fb1eb12c125
diff --git a/metadata/md5-cache/x11-libs/libwnck-3.14.1 b/metadata/md5-cache/x11-libs/libwnck-3.14.1
index 9f6ff18402a3..f8a0fdef97b9 100644
--- a/metadata/md5-cache/x11-libs/libwnck-3.14.1
+++ b/metadata/md5-cache/x11-libs/libwnck-3.14.1
@@ -4,10 +4,10 @@ DESCRIPTION=A window navigation construction kit
 EAPI=5
 HOMEPAGE=https://developer.gnome.org/libwnck/stable/
 IUSE=+introspection startup-notification tools
-KEYWORDS=~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=x11-libs/cairo[X] >=x11-libs/gtk+-3.10:3[introspection?] >=dev-libs/glib-2.32:2 x11-libs/libX11 x11-libs/libXres x11-libs/libXext introspection? ( >=dev-libs/gobject-introspection-0.6.14:= ) startup-notification? ( >=x11-libs/startup-notification-0.4 ) x86-interix? ( sys-libs/itx-bind )
 SLOT=3
 SRC_URI=mirror://gnome/sources/libwnck/3.14/libwnck-3.14.1.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	flag-o-matic	d270fa247153df66074f795fa42dba3e	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=32d591b60c952b68c207fb5c2d1f772f
+_md5_=530575cf8d6f7a74dec55b84fc133651
diff --git a/metadata/md5-cache/x11-libs/pango-1.38.1 b/metadata/md5-cache/x11-libs/pango-1.38.1
index 9432bbc18c35..8609751130cb 100644
--- a/metadata/md5-cache/x11-libs/pango-1.38.1
+++ b/metadata/md5-cache/x11-libs/pango-1.38.1
@@ -4,10 +4,10 @@ DESCRIPTION=Internationalized text layout and rendering library
 EAPI=5
 HOMEPAGE=http://www.pango.org/
 IUSE=X +introspection test debug abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+ FTL
 RDEPEND=>=media-libs/harfbuzz-0.9.30:=[glib(+),truetype(+),abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=dev-libs/glib-2.34.3:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/fontconfig-2.10.92:1.0=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=media-libs/freetype-2.5.0.1:2=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/cairo-1.12.14-r4:=[X?,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) X? ( >=x11-libs/libXrender-0.9.8[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libX11-1.6.2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/libXft-2.3.1-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] )
 SLOT=0
 SRC_URI=mirror://gnome/sources/pango/1.38/pango-1.38.1.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multibuild	742139c87a9fa3766f0c2b155e5522bf	multilib	23ae8c186171e6476af098d2a50d0ee0	multilib-build	8fe2e81aeb36cdf8a6cc5f50443879cc	multilib-minimal	0224dee31c0f98405d572e14ad6dee65	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=fabd935da5dbbfec9fb67861ffe077e4
+_md5_=e58b9cd6f8e9bd370d2a442fa80d89ac
diff --git a/metadata/md5-cache/x11-libs/vte-0.42.4 b/metadata/md5-cache/x11-libs/vte-0.42.4
index 5f614269d6c5..1d0d81b73c5f 100644
--- a/metadata/md5-cache/x11-libs/vte-0.42.4
+++ b/metadata/md5-cache/x11-libs/vte-0.42.4
@@ -4,10 +4,10 @@ DESCRIPTION=Library providing a virtual terminal emulator widget
 EAPI=5
 HOMEPAGE=https://wiki.gnome.org/action/show/Apps/Terminal/VTE
 IUSE=+crypt debug glade +introspection vala
-KEYWORDS=~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris
 LICENSE=LGPL-2+
 RDEPEND=>=dev-libs/glib-2.40:2 >=x11-libs/gtk+-3.8:3[introspection?] >=x11-libs/pango-1.22.0 sys-libs/ncurses:0= sys-libs/zlib x11-libs/libX11 x11-libs/libXft glade? ( >=dev-util/glade-3.9:3.10 ) introspection? ( >=dev-libs/gobject-introspection-0.9.0:= ) !x11-libs/vte:2.90[glade]
 SLOT=2.91
 SRC_URI=mirror://gnome/sources/vte/0.42/vte-0.42.4.tar.xz
 _eclasses_=eutils	792f83d5ec9536cb5ccef375469d8bde	gnome.org	ad34f378a3d57a6f2f2b8b4aaca4543e	gnome2	21c81ea94c12e45a63f7f14fba666e3d	gnome2-utils	c6dcdf3a2c22b578b16adb945dc85c35	libtool	4890219c51da247200223277f993e054	multilib	23ae8c186171e6476af098d2a50d0ee0	toolchain-funcs	d513d423d449877e49d99af3f7af7acb	vala	f946609697ad4b4b1d85b997f0c70204	versionator	99ae9d758cbe7cfed19170e7d48f5a9c	xdg	a5c4c5ce4f5ce9a2e777f5d9a40a8723	xdg-utils	e2b2bd56125ce8cf59ce30c642b59d48
-_md5_=9d3b00430a1035ae1e305f4e58b11388
+_md5_=8b04f5124188c85fb8bacb92ad2f6dfc
diff --git a/metadata/md5-cache/x11-themes/adwaita-icon-theme-3.18.0 b/metadata/md5-cache/x11-themes/adwaita-icon-theme-3.18.0
index a116153d9ccf..131fe1382c35 100644
--- a/metadata/md5-cache/x11-themes/adwaita-icon-theme-3.18.0
+++ b/metadata/md5-cache/x11-themes/adwaita-icon-theme-3.18.0
@@ -4,11 +4,11 @@ DESCRIPTION=GNOME default icon theme
 EAPI=5
 HOMEPAGE=https://git.gnome.org/browse/adwaita-icon-theme/
 IUSE=branding
-KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris
+KEYWORDS=~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris
 LICENSE=|| ( LGPL-3 CC-BY-SA-3.0 ) branding? ( CC-Sampling-Plus-1.0 )
 RDEPEND=>=x11-themes/hicolor-icon-theme-0.10 gnome-base/librsvg:2 !=x11-libs/gtk+-2.24.15:2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] >=x11-libs/gtk+-3.12:3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) >=gnome-base/gsettings-desktop-schemas-3.4 !
 		libwebsockets is a C library designed to make development of websockets clients and servers easier (possible).
 	
+	
+		Include SSL support (default dev-libs/openssl)
+		Include zlib support
+		Build the static version of the library
+		Compile with support for http2
+		Compile with support for ipv6
+		The server part of the library
+		The client part of the library
+	
 
diff --git a/net-misc/bird/Manifest b/net-misc/bird/Manifest
index 5738fed8fa2b..be1ecebfa3e8 100644
--- a/net-misc/bird/Manifest
+++ b/net-misc/bird/Manifest
@@ -3,3 +3,4 @@ DIST bird-1.4.3.tar.gz 1277383 SHA256 5d05fdc938af0522414ff38704b908e5f2afb29068
 DIST bird-1.4.4.tar.gz 1282882 SHA256 ef506afa5852202379256c0db71c8db577e59babde79d63b8f40863de2270136 SHA512 12a91eb87002692458dab3674a05a2918e2663303e4af4204b9ac343a2440f888febbc0cea865ecdbb876641947804e0764950214a6db99eb1246cd71c50c6d9 WHIRLPOOL 5224238ccc1984cb5aeeeda44ba07959489ff60b959f3faf9444bee4b8679bb43d87331579dff5f627587dde9d5f2a0627e5fb4d6cdfa9a183585dc600bdc80b
 DIST bird-1.4.5.tar.gz 1284666 SHA256 ff485f0c64c5f762458e0f09e327e2f518a14b0247194c62ffa480d1eb3f9ffc SHA512 fba60e7daacfdf86e3fa9cb4dc627d33928b4b84dca98d3bfbd378265e422b7ecfe10c2d17369d295afe8a5f1f2e771209bbd54710485a19d64e6551f16d6b94 WHIRLPOOL 894401301e1756f2b2cf27d6829a911e51f81569a92b375ec0a504f1aa1563b37396eb929ccf1423e5387ca181ab2669a08a26040da52c4134128ebc5bc36ba4
 DIST bird-1.5.0.tar.gz 1300141 SHA256 79d5c4254e25f5890626830ca42aae03735716bdf152ddd8368473d2b3c17b5d SHA512 6814a1393d192083bc9807fd9c56e4bfe169aa34b70811f10da61c79d2fd4b18827bd4f3ea70d9ceba32125e54afb3f8df388416bff619c6f7e838a171f70ae8 WHIRLPOOL 2bd9429fef41dc4be09c9ece7ea6a109237c8d405ef16f5748516a3ec6ce3423ae05796e9ea875d08e476ea0da91ae617a9a90f574085decdab2bcdc40a7274d
+DIST bird-1.6.0.tar.gz 1273899 SHA256 db3dfe37deac73b38b7d6966e577985f7b8e23f246760cb095ad13b0d8010e13 SHA512 3b73c5aa26ac725547d8ff67c35008b6793ef4dc9f22940bacc3871f60abb77e41d93bef0e493d5808eea455e17a04bbba837f16665d726a0a80e73270fed67a WHIRLPOOL 05abee4f45e687c9ff7e31fef3b9a8385081ead8d13b723cb0c79faf59964f9cec46f337eecc2207d0cf2c67c2ad9ea04c096a13465b81a89eba5effe7bba9d1
diff --git a/net-misc/bird/bird-1.6.0.ebuild b/net-misc/bird/bird-1.6.0.ebuild
new file mode 100644
index 000000000000..d6394ea93ef3
--- /dev/null
+++ b/net-misc/bird/bird-1.6.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+DESCRIPTION="A routing daemon implementing OSPF, RIPv2 & BGP for IPv4 or IPv6"
+HOMEPAGE="http://bird.network.cz"
+SRC_URI="ftp://bird.network.cz/pub/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug ipv6"
+
+RDEPEND="sys-libs/ncurses
+	sys-libs/readline"
+DEPEND="sys-devel/flex
+	sys-devel/bison
+	sys-devel/m4"
+
+src_prepare() {
+	mkdir ipv6
+	tar c --exclude ipv6 . | tar x -C ipv6
+	eapply_user
+}
+
+src_configure() {
+	econf \
+		--enable-client \
+		--disable-ipv6 \
+		--localstatedir="${EPREFIX}/var" \
+		$(use_enable debug)
+
+	if use ipv6; then
+		cd ipv6
+		econf \
+			--enable-client \
+			--enable-ipv6 \
+			--localstatedir="${EPREFIX}/var" \
+			$(use_enable debug)
+	fi
+}
+
+src_compile() {
+	emake
+	if use ipv6; then
+		cd ipv6
+		emake
+	fi
+}
+
+src_install() {
+	if use ipv6; then
+		newbin ipv6/birdc birdc6
+		newsbin ipv6/bird bird6
+		newinitd "${FILESDIR}/initd-v6-${PN}-1.3.8" bird6
+	fi
+	dobin birdc
+	dosbin bird
+	newinitd "${FILESDIR}/initd-v4-${PN}-1.3.8" bird
+	dodoc doc/bird.conf.example
+}
diff --git a/net-misc/blinkperl/blinkperl-20030301-r1.ebuild b/net-misc/blinkperl/blinkperl-20030301-r2.ebuild
similarity index 70%
rename from net-misc/blinkperl/blinkperl-20030301-r1.ebuild
rename to net-misc/blinkperl/blinkperl-20030301-r2.ebuild
index 1a1d0eed9707..dc5df474091a 100644
--- a/net-misc/blinkperl/blinkperl-20030301-r1.ebuild
+++ b/net-misc/blinkperl/blinkperl-20030301-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-inherit eutils
+EAPI=6
 
 MY_P="${PN}-2003-02-08"
 S=${WORKDIR}/${PN}
@@ -18,15 +18,12 @@ IUSE=""
 DEPEND=""
 RDEPEND="dev-lang/perl dev-perl/Term-ANSIScreen"
 
-src_unpack() {
-	unpack ${A}
-
-	epatch "${FILESDIR}"/${P}-non-local.patch
-	epatch "${FILESDIR}"/${P}-Makefile.patch
-}
+PATCHES=( 	"${FILESDIR}"/${P}-fix-pod2man.patch
+			"${FILESDIR}"/${P}-non-local.patch
+			"${FILESDIR}"/${P}-Makefile.patch )
 
 src_install() {
-	make PREFIX=/usr DESTDIR="${D}" install || die
+	default
 
 	newinitd "${FILESDIR}"/blinkperl.rc blinkperl
 	newconfd "${FILESDIR}"/blinkperl.confd blinkperl
diff --git a/net-misc/blinkperl/files/blinkperl-20030301-fix-pod2man.patch b/net-misc/blinkperl/files/blinkperl-20030301-fix-pod2man.patch
new file mode 100644
index 000000000000..01f8703feb95
--- /dev/null
+++ b/net-misc/blinkperl/files/blinkperl-20030301-fix-pod2man.patch
@@ -0,0 +1,11 @@
+--- blinkperl/blinkserver.pl.orig	2016-05-03 16:22:49.510379864 -0500
++++ blinkperl/blinkserver.pl	2016-05-03 16:22:27.172380760 -0500
+@@ -148,6 +148,8 @@
+ 
+ =item B<--port>=I: On which Port should the server listen?
+ 
++=back
++
+ =head1 DESCRIPTION
+ 
+ B will listen on the defined port (current default value: 10001)
diff --git a/net-misc/blinkperl/files/blinkperl.rc b/net-misc/blinkperl/files/blinkperl.rc
index b5b07bda1c1e..4d9aca88eafc 100644
--- a/net-misc/blinkperl/files/blinkperl.rc
+++ b/net-misc/blinkperl/files/blinkperl.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 depend() {
diff --git a/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.20.ebuild b/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.20-r1.ebuild
similarity index 100%
rename from net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.20.ebuild
rename to net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.20-r1.ebuild
diff --git a/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.3-r1.ebuild b/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.3-r2.ebuild
similarity index 99%
rename from net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.3-r1.ebuild
rename to net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.3-r2.ebuild
index 319c72afd147..f60dcb35266a 100644
--- a/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.3-r1.ebuild
+++ b/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.9.ebuild b/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.9-r1.ebuild
similarity index 98%
rename from net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.9.ebuild
rename to net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.9-r1.ebuild
index 760f04b39ef4..10c3a2f71234 100644
--- a/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.9.ebuild
+++ b/net-misc/capi4hylafax/capi4hylafax-01.03.00.99.300.9-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/capi4hylafax/files/capi4hylafax.initd b/net-misc/capi4hylafax/files/capi4hylafax.initd
index bfba068a0285..e7ad4e858a01 100644
--- a/net-misc/capi4hylafax/files/capi4hylafax.initd
+++ b/net-misc/capi4hylafax/files/capi4hylafax.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/cbqinit/cbqinit-0.7.3-r1.ebuild b/net-misc/cbqinit/cbqinit-0.7.3-r2.ebuild
similarity index 86%
rename from net-misc/cbqinit/cbqinit-0.7.3-r1.ebuild
rename to net-misc/cbqinit/cbqinit-0.7.3-r2.ebuild
index a76d03a67850..71296e34a026 100644
--- a/net-misc/cbqinit/cbqinit-0.7.3-r1.ebuild
+++ b/net-misc/cbqinit/cbqinit-0.7.3-r2.ebuild
@@ -1,10 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
-
-inherit eutils
+EAPI=6
 
 DESCRIPTION="Sets up class-based queue traffic control (QoS) with iproute2"
 HOMEPAGE="http://www.sourceforge.net/projects/cbqinit"
@@ -26,7 +24,8 @@ src_unpack() {
 }
 
 src_prepare() {
-	epatch "${FILESDIR}"/${P}-gentoo.patch
+	eapply -p0 "${FILESDIR}"/${P}-gentoo.patch
+	default
 }
 
 src_install() {
diff --git a/net-misc/cbqinit/files/rc_cbqinit b/net-misc/cbqinit/files/rc_cbqinit
deleted file mode 100644
index e4e7351d2fba..000000000000
--- a/net-misc/cbqinit/files/rc_cbqinit
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/sbin/runscript
-
-depend() {
-	need net
-}
-
-start() {
-	ebegin "Starting cbqinit"
-	/usr/sbin/cbqinit start
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping cbqinit"
-	/usr/sbin/cbqinit stop
-	eend $?
-}
diff --git a/net-misc/cbqinit/files/rc_cbqinit-r1 b/net-misc/cbqinit/files/rc_cbqinit-r1
index b6ffad898e87..2c811a54db26 100644
--- a/net-misc/cbqinit/files/rc_cbqinit-r1
+++ b/net-misc/cbqinit/files/rc_cbqinit-r1
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 depend() {
diff --git a/net-misc/dropbox/files/dropbox.initd b/net-misc/dropbox/files/dropbox.initd
index 07dce38e9186..95a230eeea63 100644
--- a/net-misc/dropbox/files/dropbox.initd
+++ b/net-misc/dropbox/files/dropbox.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License, v2 or later
 # $Id$
 
diff --git a/net-misc/fakeidentd/fakeidentd-2.6.ebuild b/net-misc/fakeidentd/fakeidentd-2.6-r1.ebuild
similarity index 92%
rename from net-misc/fakeidentd/fakeidentd-2.6.ebuild
rename to net-misc/fakeidentd/fakeidentd-2.6-r1.ebuild
index 1d7695a1f9ed..6b2098748b9f 100644
--- a/net-misc/fakeidentd/fakeidentd-2.6.ebuild
+++ b/net-misc/fakeidentd/fakeidentd-2.6-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=4
+EAPI=6
 
 inherit toolchain-funcs
 
@@ -33,7 +33,7 @@ src_compile() {
 }
 
 src_install() {
-	dosbin ${PN} || die
+	dosbin ${PN}
 	newdoc ${P}.readme identd.readme
 
 	newinitd "${FILESDIR}"/fakeidentd.rc fakeidentd
diff --git a/net-misc/fakeidentd/files/fakeidentd.rc b/net-misc/fakeidentd/files/fakeidentd.rc
index 79082f069b8f..4510f7450706 100644
--- a/net-misc/fakeidentd/files/fakeidentd.rc
+++ b/net-misc/fakeidentd/files/fakeidentd.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/htbinit/files/htbinit.rc b/net-misc/htbinit/files/htbinit.rc
index 7a27d58dd588..8a779846229d 100644
--- a/net-misc/htbinit/files/htbinit.rc
+++ b/net-misc/htbinit/files/htbinit.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/htbinit/htbinit-0.8.5-r6.ebuild b/net-misc/htbinit/htbinit-0.8.5-r7.ebuild
similarity index 97%
rename from net-misc/htbinit/htbinit-0.8.5-r6.ebuild
rename to net-misc/htbinit/htbinit-0.8.5-r7.ebuild
index 134522da5ede..00dabd98264b 100644
--- a/net-misc/htbinit/htbinit-0.8.5-r6.ebuild
+++ b/net-misc/htbinit/htbinit-0.8.5-r7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/iaxmodem/files/iaxmodem.initd b/net-misc/iaxmodem/files/iaxmodem.initd
index 07b2f2a902d4..ae5b4615f61f 100644
--- a/net-misc/iaxmodem/files/iaxmodem.initd
+++ b/net-misc/iaxmodem/files/iaxmodem.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2008 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/iaxmodem/iaxmodem-1.2.0.ebuild b/net-misc/iaxmodem/iaxmodem-1.2.0-r1.ebuild
similarity index 100%
rename from net-misc/iaxmodem/iaxmodem-1.2.0.ebuild
rename to net-misc/iaxmodem/iaxmodem-1.2.0-r1.ebuild
diff --git a/net-misc/iaxmodem/iaxmodem-1.3.0.ebuild b/net-misc/iaxmodem/iaxmodem-1.3.0-r1.ebuild
similarity index 100%
rename from net-misc/iaxmodem/iaxmodem-1.3.0.ebuild
rename to net-misc/iaxmodem/iaxmodem-1.3.0-r1.ebuild
diff --git a/net-misc/icecast/files/init.d.icecast-2 b/net-misc/icecast/files/icecast.initd
similarity index 86%
rename from net-misc/icecast/files/init.d.icecast-2
rename to net-misc/icecast/files/icecast.initd
index bde5877c62b6..cb658a3907d4 100644
--- a/net-misc/icecast/files/init.d.icecast-2
+++ b/net-misc/icecast/files/icecast.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 extra_started_commands="reload"
diff --git a/net-misc/icecast/icecast-2.4.2.ebuild b/net-misc/icecast/icecast-2.4.2.ebuild
index 31271f707df7..225f05f930dd 100644
--- a/net-misc/icecast/icecast-2.4.2.ebuild
+++ b/net-misc/icecast/icecast-2.4.2.ebuild
@@ -58,7 +58,7 @@ src_install() {
 	dodoc AUTHORS README TODO HACKING NEWS conf/icecast.xml.dist
 	dohtml -A chm,hhc,hhp doc/*
 
-	newinitd "${FILESDIR}"/init.d.icecast-2 icecast
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
 	systemd_dounit "${FILESDIR}"/${PN}.service
 
 	insinto /etc/icecast2
diff --git a/net-misc/icecast/icecast-2.4.3.ebuild b/net-misc/icecast/icecast-2.4.3.ebuild
index caecb9b2443e..e14dda3eb908 100644
--- a/net-misc/icecast/icecast-2.4.3.ebuild
+++ b/net-misc/icecast/icecast-2.4.3.ebuild
@@ -2,8 +2,8 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
-inherit eutils autotools systemd user
+EAPI=6
+inherit autotools systemd user
 
 DESCRIPTION="An opensource alternative to shoutcast that supports mp3, ogg (vorbis/theora) and aac streaming"
 HOMEPAGE="http://www.icecast.org/"
@@ -32,11 +32,16 @@ pkg_setup() {
 	enewuser icecast -1 -1 -1 nogroup
 }
 
-src_prepare() {
+PATCHES=(
 	# bug #368539
-	epatch "${FILESDIR}"/${PN}-2.3.3-libkate.patch
+	"${FILESDIR}"/${PN}-2.3.3-libkate.patch
 	# bug #430434
-	epatch "${FILESDIR}"/${PN}-2.3.3-fix-xiph_openssl.patch
+	"${FILESDIR}"/${PN}-2.3.3-fix-xiph_openssl.patch
+)
+
+src_prepare() {
+	default
+	mv configure.{in,ac} || die
 	eautoreconf
 }
 
@@ -56,9 +61,10 @@ src_configure() {
 src_install() {
 	emake DESTDIR="${D}" install
 	dodoc AUTHORS README TODO HACKING NEWS conf/icecast.xml.dist
-	dohtml -A chm,hhc,hhp doc/*
+	docinto html
+	dodoc doc/*.html
 
-	newinitd "${FILESDIR}"/init.d.icecast-2 icecast
+	newinitd "${FILESDIR}"/${PN}.initd ${PN}
 	systemd_dounit "${FILESDIR}"/${PN}.service
 
 	insinto /etc/icecast2
@@ -74,7 +80,7 @@ src_install() {
 	diropts -m0764 -o icecast -g nogroup
 	dodir /var/log/icecast
 	keepdir /var/log/icecast
-	rm -rf "${D}"/usr/share/doc/icecast
+	rm -r "${D}"/usr/share/doc/icecast || die
 }
 
 pkg_postinst() {
diff --git a/net-misc/igmpproxy/files/igmpproxy-init.d b/net-misc/igmpproxy/files/igmpproxy-init.d
index 0b138c3b5c41..e24952ed18d0 100644
--- a/net-misc/igmpproxy/files/igmpproxy-init.d
+++ b/net-misc/igmpproxy/files/igmpproxy-init.d
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2009 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/igmpproxy/igmpproxy-0.1-r1.ebuild b/net-misc/igmpproxy/igmpproxy-0.1-r2.ebuild
similarity index 92%
rename from net-misc/igmpproxy/igmpproxy-0.1-r1.ebuild
rename to net-misc/igmpproxy/igmpproxy-0.1-r2.ebuild
index 508ca613cc52..bda21a85cbfe 100644
--- a/net-misc/igmpproxy/igmpproxy-0.1-r1.ebuild
+++ b/net-misc/igmpproxy/igmpproxy-0.1-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 inherit linux-info systemd
 
 DESCRIPTION="Multicast Routing Daemon using only IGMP signalling (Internet Group Management Protocol)"
diff --git a/net-misc/ipx-utils/files/ipx.init b/net-misc/ipx-utils/files/ipx.init
index 091c9d8de706..f1db7a2c07e7 100644
--- a/net-misc/ipx-utils/files/ipx.init
+++ b/net-misc/ipx-utils/files/ipx.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/ipx-utils/ipx-utils-1.1-r3.ebuild b/net-misc/ipx-utils/ipx-utils-1.1-r4.ebuild
similarity index 72%
rename from net-misc/ipx-utils/ipx-utils-1.1-r3.ebuild
rename to net-misc/ipx-utils/ipx-utils-1.1-r4.ebuild
index 5ed3c8e796a6..fbf7d50af696 100644
--- a/net-misc/ipx-utils/ipx-utils-1.1-r3.ebuild
+++ b/net-misc/ipx-utils/ipx-utils-1.1-r4.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="4"
+EAPI="6"
 inherit eutils
 
 DESCRIPTION="The IPX Utilities"
@@ -20,15 +20,16 @@ S=${WORKDIR}/${P/-utils}
 
 src_prepare() {
 	sed -i "s:-O2 -Wall:${CFLAGS}:" "${S}"/Makefile
-	epatch "${FILESDIR}"/${P}-makefile.patch
-	epatch "${FILESDIR}"/${P}-proc.patch #67642
+	eapply "${FILESDIR}"/${P}-makefile.patch
+	eapply "${FILESDIR}"/${P}-proc.patch #67642
+
+	default
 }
 
 src_install() {
-	dodir /sbin /usr/share/man/man8
-	dodoc "${S}"/README
-	emake DESTDIR="${D}" install
-
+	doman *.8
 	newconfd "${FILESDIR}"/ipx.confd ipx
 	newinitd "${FILESDIR}"/ipx.init ipx
+
+	default
 }
diff --git a/net-misc/lambdamoo/files/lambdamoo.rc b/net-misc/lambdamoo/files/lambdamoo.rc
index 142ce15dc8a9..579076f26cb1 100644
--- a/net-misc/lambdamoo/files/lambdamoo.rc
+++ b/net-misc/lambdamoo/files/lambdamoo.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/lambdamoo/lambdamoo-1.8.1-r2.ebuild b/net-misc/lambdamoo/lambdamoo-1.8.1-r3.ebuild
similarity index 82%
rename from net-misc/lambdamoo/lambdamoo-1.8.1-r2.ebuild
rename to net-misc/lambdamoo/lambdamoo-1.8.1-r3.ebuild
index 423f46ff2c74..de08a462f918 100644
--- a/net-misc/lambdamoo/lambdamoo-1.8.1-r2.ebuild
+++ b/net-misc/lambdamoo/lambdamoo-1.8.1-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="2"
+EAPI="6"
 
-inherit eutils autotools
+inherit autotools
 
 DESCRIPTION="networked mud that can be used for different types of collaborative software"
 HOMEPAGE="http://sourceforge.net/projects/lambdamoo/"
@@ -21,7 +21,9 @@ RDEPEND=""
 S=${WORKDIR}/MOO-${PV}
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PV}-enable-outbound.patch
+	default
+
+	eapply "${FILESDIR}"/${PV}-enable-outbound.patch
 	sed -i Makefile.in \
 		-e '/ -o /s|$(CFLAGS)|& $(LDFLAGS)|g' \
 		|| die "sed Makefile.in"
@@ -32,8 +34,7 @@ src_compile() {
 	emake \
 		CC=$(tc-getCC) \
 		CFLAGS="${CFLAGS} \
-		-DHAVE_MKFIFO=1" \
-		|| die "emake failed!"
+		-DHAVE_MKFIFO=1"
 }
 
 src_install() {
diff --git a/net-misc/linux-identd/files/identd.init b/net-misc/linux-identd/files/identd.init
index d5ffc5d1a391..1e4629c1eed8 100644
--- a/net-misc/linux-identd/files/identd.init
+++ b/net-misc/linux-identd/files/identd.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/linux-identd/linux-identd-1.3-r1.ebuild b/net-misc/linux-identd/linux-identd-1.3-r2.ebuild
similarity index 94%
rename from net-misc/linux-identd/linux-identd-1.3-r1.ebuild
rename to net-misc/linux-identd/linux-identd-1.3-r2.ebuild
index d6607ef5fb23..2bf239495a88 100644
--- a/net-misc/linux-identd/linux-identd-1.3-r1.ebuild
+++ b/net-misc/linux-identd/linux-identd-1.3-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
 inherit toolchain-funcs
 
diff --git a/net-misc/mdidentd/files/mdidentd.init.d b/net-misc/mdidentd/files/mdidentd.init.d
index a21e287d6fe1..8144c09c94be 100644
--- a/net-misc/mdidentd/files/mdidentd.init.d
+++ b/net-misc/mdidentd/files/mdidentd.init.d
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/mdidentd/mdidentd-1.04c.ebuild b/net-misc/mdidentd/mdidentd-1.04c-r1.ebuild
similarity index 70%
rename from net-misc/mdidentd/mdidentd-1.04c.ebuild
rename to net-misc/mdidentd/mdidentd-1.04c-r1.ebuild
index c028d3059166..8dd559ef2778 100644
--- a/net-misc/mdidentd/mdidentd-1.04c.ebuild
+++ b/net-misc/mdidentd/mdidentd-1.04c-r1.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-inherit eutils user
+EAPI=6
+
+inherit user
 
 DESCRIPTION="This is an identd with provides registering of idents"
 HOMEPAGE="http://druglord.freelsd.org/ezbounce/"
@@ -23,21 +25,24 @@ pkg_setup() {
 	enewuser mdidentd -1 -1 /dev/null mdidentd
 }
 
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	epatch "${FILESDIR}"/1.04a-security.patch
-	epatch "${FILESDIR}"/1.04a-pidfile.patch
-	epatch "${FILESDIR}"/1.04a-glibc210.patch
+src_prepare() {
+	eapply "${FILESDIR}"/1.04a-security.patch
+	eapply -p0 "${FILESDIR}"/1.04a-pidfile.patch
+	eapply -p1 "${FILESDIR}"/1.04a-glibc210.patch
+
+	default
+}
+
+src_configure() {
+	econf $(use_with ssl)
 }
 
 src_compile() {
-	econf $(use_with ssl) || die
-	emake CXX="$(tc-getCXX)" -C mdidentd CXX_OPTIMIZATIONS="${CXXFLAGS}" || die
+	emake CXX="$(tc-getCXX)" -C mdidentd CXX_OPTIMIZATIONS="${CXXFLAGS}"
 }
 
 src_install() {
-	dosbin mdidentd/mdidentd || die
+	dosbin mdidentd/mdidentd
 	dodoc mdidentd/README
 
 	newinitd "${FILESDIR}"/mdidentd.init.d mdidentd
diff --git a/net-misc/midentd/files/midentd.rc b/net-misc/midentd/files/midentd.rc
index ed89ba4d0fa0..12ed1a6cc7c7 100644
--- a/net-misc/midentd/files/midentd.rc
+++ b/net-misc/midentd/files/midentd.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/midentd/midentd-2.3.1-r1.ebuild b/net-misc/midentd/midentd-2.3.1-r2.ebuild
similarity index 88%
rename from net-misc/midentd/midentd-2.3.1-r1.ebuild
rename to net-misc/midentd/midentd-2.3.1-r2.ebuild
index 16c0c10cebfb..07d4e6d98418 100644
--- a/net-misc/midentd/midentd-2.3.1-r1.ebuild
+++ b/net-misc/midentd/midentd-2.3.1-r2.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
-inherit eutils
+EAPI=6
 
 DESCRIPTION="ident daemon with masquerading and fake replies support"
 HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
@@ -18,7 +17,9 @@ DEPEND=""
 RDEPEND="dev-lang/perl"
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PV}-pidfile.patch
+	default
+
+	eapply "${FILESDIR}"/${PV}-pidfile.patch
 	sed -i \
 		-e 's:/usr/local:/usr:' \
 		-e 's:service ident:service auth:' \
diff --git a/net-misc/mobile-broadband-provider-info/mobile-broadband-provider-info-20151214.ebuild b/net-misc/mobile-broadband-provider-info/mobile-broadband-provider-info-20151214.ebuild
index 1c8102432483..a8532d96fe74 100644
--- a/net-misc/mobile-broadband-provider-info/mobile-broadband-provider-info-20151214.ebuild
+++ b/net-misc/mobile-broadband-provider-info/mobile-broadband-provider-info-20151214.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager/MobileBroadband"
 
 LICENSE="CC-PD"
 SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~ppc ppc64 ~sparc x86"
 IUSE="test"
 
 DEPEND="
diff --git a/net-misc/monmotha/files/monmotha.rc6 b/net-misc/monmotha/files/monmotha.rc6
index 50f31b9811cd..30bcca24ab19 100644
--- a/net-misc/monmotha/files/monmotha.rc6
+++ b/net-misc/monmotha/files/monmotha.rc6
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/monmotha/monmotha-2.3.8.ebuild b/net-misc/monmotha/monmotha-2.3.8-r1.ebuild
similarity index 96%
rename from net-misc/monmotha/monmotha-2.3.8.ebuild
rename to net-misc/monmotha/monmotha-2.3.8-r1.ebuild
index 9ee024bf147c..4f163ff08f92 100644
--- a/net-misc/monmotha/monmotha-2.3.8.ebuild
+++ b/net-misc/monmotha/monmotha-2.3.8-r1.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+EAPI=6
+
 DESCRIPTION="MonMotha IPTables-based firewall script"
 HOMEPAGE="http://monmotha.mplug.org/firewall/"
 LICENSE="GPL-2"
diff --git a/net-misc/mrouted/files/mrouted.rc b/net-misc/mrouted/files/mrouted.rc
index fa47acbd6eff..ac76f639bb13 100644
--- a/net-misc/mrouted/files/mrouted.rc
+++ b/net-misc/mrouted/files/mrouted.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/mrouted/mrouted-3.9.5.ebuild b/net-misc/mrouted/mrouted-3.9.5-r1.ebuild
similarity index 66%
rename from net-misc/mrouted/mrouted-3.9.5.ebuild
rename to net-misc/mrouted/mrouted-3.9.5-r1.ebuild
index 9b0dd9b4f073..53de0f007b71 100644
--- a/net-misc/mrouted/mrouted-3.9.5.ebuild
+++ b/net-misc/mrouted/mrouted-3.9.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="2"
+EAPI="6"
 
-inherit eutils toolchain-funcs
+inherit toolchain-funcs
 
 DESCRIPTION="IP multicast routing daemon"
 HOMEPAGE="http://troglobit.com/mrouted.shtml"
@@ -23,18 +23,19 @@ src_prepare() {
 	sed -i Makefile \
 		-e '/^CFLAGS/{s|[[:space:]]=| +=|g;s|-O2||g;s|-Werror||g}' \
 		|| die
+	default
 }
 
 src_compile() {
-	emake CC=$(tc-getCC) || die
+	emake CC=$(tc-getCC)
 }
 
 src_install() {
-	dobin mrouted || die
-	dosbin mtrace mrinfo map-mbone || die
-	doman mrouted.8 mtrace.8 mrinfo.8 map-mbone.8 || die
+	dobin mrouted
+	dosbin mtrace mrinfo map-mbone
+	doman mrouted.8 mtrace.8 mrinfo.8 map-mbone.8
 
 	insinto /etc
-	doins mrouted.conf || die
-	newinitd "${FILESDIR}"/mrouted.rc mrouted || die
+	doins mrouted.conf
+	newinitd "${FILESDIR}"/mrouted.rc mrouted
 }
diff --git a/net-misc/netkit-routed/files/routed.initd b/net-misc/netkit-routed/files/routed.initd
index 562af6f10adb..0b821fd19e83 100644
--- a/net-misc/netkit-routed/files/routed.initd
+++ b/net-misc/netkit-routed/files/routed.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/netkit-routed/netkit-routed-0.17-r4.ebuild b/net-misc/netkit-routed/netkit-routed-0.17-r5.ebuild
similarity index 96%
rename from net-misc/netkit-routed/netkit-routed-0.17-r4.ebuild
rename to net-misc/netkit-routed/netkit-routed-0.17-r5.ebuild
index 8910c4453c6d..23568572cdcb 100644
--- a/net-misc/netkit-routed/netkit-routed-0.17-r4.ebuild
+++ b/net-misc/netkit-routed/netkit-routed-0.17-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/netkit-timed/files/timed.rc6 b/net-misc/netkit-timed/files/timed.rc6
index f6345262c2cb..0aaa477a16f9 100644
--- a/net-misc/netkit-timed/files/timed.rc6
+++ b/net-misc/netkit-timed/files/timed.rc6
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/netkit-timed/netkit-timed-0.17-r9.ebuild b/net-misc/netkit-timed/netkit-timed-0.17-r10.ebuild
similarity index 61%
rename from net-misc/netkit-timed/netkit-timed-0.17-r9.ebuild
rename to net-misc/netkit-timed/netkit-timed-0.17-r10.ebuild
index a745dd2f0bf2..80ed9172b717 100644
--- a/net-misc/netkit-timed/netkit-timed-0.17-r9.ebuild
+++ b/net-misc/netkit-timed/netkit-timed-0.17-r10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="2"
+EAPI="6"
 
-inherit eutils flag-o-matic toolchain-funcs
+inherit flag-o-matic toolchain-funcs
 
 IUSE=""
 DESCRIPTION="Netkit - timed"
@@ -18,11 +18,12 @@ DEPEND=""
 RDEPEND=""
 
 src_prepare() {
-	epatch "${FILESDIR}"/0.17-CFLAG-DEF-fix.patch
-	epatch "${FILESDIR}"/0.17-timed-opt-parsing.patch
+	eapply "${FILESDIR}"/0.17-CFLAG-DEF-fix.patch
+	eapply "${FILESDIR}"/0.17-timed-opt-parsing.patch
 	sed -i configure \
 		-e '/^LDFLAGS=/d' \
 		|| die "sed configure"
+	default
 }
 
 src_configure() {
@@ -32,11 +33,11 @@ src_configure() {
 }
 
 src_install() {
-	dosbin timed/timed/timed || die
-	doman  timed/timed/timed.8 || die
-	dosbin timed/timedc/timedc || die
-	doman  timed/timedc/timedc.8 || die
-	dodoc  README ChangeLog BUGS || die
+	dosbin timed/timed/timed
+	doman  timed/timed/timed.8
+	dosbin timed/timedc/timedc
+	doman  timed/timedc/timedc.8
+	dodoc  README ChangeLog BUGS
 
-	newinitd "${FILESDIR}"/timed.rc6 timed || die
+	newinitd "${FILESDIR}"/timed.rc6 timed
 }
diff --git a/net-misc/networkmanager/networkmanager-1.0.10-r1.ebuild b/net-misc/networkmanager/networkmanager-1.0.10-r1.ebuild
index 1c3e445029da..ac5e50ad504f 100644
--- a/net-misc/networkmanager/networkmanager-1.0.10-r1.ebuild
+++ b/net-misc/networkmanager/networkmanager-1.0.10-r1.ebuild
@@ -22,7 +22,7 @@ IUSE="bluetooth connection-sharing consolekit +dhclient dhcpcd gnutls +introspec
 kernel_linux +nss +modemmanager ncurses +ppp resolvconf selinux systemd teamd test \
 vala +wext +wifi zeroconf" # wimax
 
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~ppc ppc64 ~sparc x86"
 
 REQUIRED_USE="
 	modemmanager? ( ppp )
diff --git a/net-misc/orbited/files/orbited.init b/net-misc/orbited/files/orbited.init
index 28a9a6c03aed..ce45f0c1a3fd 100644
--- a/net-misc/orbited/files/orbited.init
+++ b/net-misc/orbited/files/orbited.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2009 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/orbited/orbited-0.7.10-r2.ebuild b/net-misc/orbited/orbited-0.7.10-r3.ebuild
similarity index 83%
rename from net-misc/orbited/orbited-0.7.10-r2.ebuild
rename to net-misc/orbited/orbited-0.7.10-r3.ebuild
index 89c57c034ce7..2a70d9c31475 100644
--- a/net-misc/orbited/orbited-0.7.10-r2.ebuild
+++ b/net-misc/orbited/orbited-0.7.10-r3.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 PYTHON_COMPAT=( python2_7 )
 DISTUTILS_SINGLE_IMPL=1
 
@@ -32,6 +32,6 @@ pkg_setup() {
 src_install() {
 	distutils-r1_src_install
 	insinto /etc
-	doins "${FILESDIR}/orbited.cfg" || die
-	newinitd "${FILESDIR}/orbited.init" orbited || die
+	doins "${FILESDIR}/orbited.cfg"
+	newinitd "${FILESDIR}/orbited.init" orbited
 }
diff --git a/net-misc/portfwd/files/portfwd.init b/net-misc/portfwd/files/portfwd.init
index a73b7961c48a..81452bac5b99 100644
--- a/net-misc/portfwd/files/portfwd.init
+++ b/net-misc/portfwd/files/portfwd.init
@@ -1,4 +1,4 @@
-#!/sbin/runscript
+#!/sbin/openrc-run
 # $Id$
 
 depend() {
diff --git a/net-misc/portfwd/portfwd-0.29.ebuild b/net-misc/portfwd/portfwd-0.29-r1.ebuild
similarity index 95%
rename from net-misc/portfwd/portfwd-0.29.ebuild
rename to net-misc/portfwd/portfwd-0.29-r1.ebuild
index 155dc8686e22..747d39275289 100644
--- a/net-misc/portfwd/portfwd-0.29.ebuild
+++ b/net-misc/portfwd/portfwd-0.29-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 inherit autotools eutils systemd
 
 DESCRIPTION="Port Forwarding Daemon"
@@ -18,6 +18,8 @@ DEPEND=">=sys-apps/sed-4"
 RDEPEND=""
 
 src_prepare() {
+	default
+
 	cd src
 	sed -iorig \
 		-e "s:^CFLAGS   =.*:CFLAGS   = @CFLAGS@ -Wall -DPORTFWD_CONF=\\\\\"\$(sysconfdir)/portfwd.cfg\\\\\":" \
diff --git a/net-misc/rinetd/files/rinetd.rc b/net-misc/rinetd/files/rinetd.rc
index 9fe4d41e92cf..88807c95c7bc 100644
--- a/net-misc/rinetd/files/rinetd.rc
+++ b/net-misc/rinetd/files/rinetd.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/rinetd/rinetd-0.62-r1.ebuild b/net-misc/rinetd/rinetd-0.62-r2.ebuild
similarity index 75%
rename from net-misc/rinetd/rinetd-0.62-r1.ebuild
rename to net-misc/rinetd/rinetd-0.62-r2.ebuild
index 911007719253..862eb5cc3739 100644
--- a/net-misc/rinetd/rinetd-0.62-r1.ebuild
+++ b/net-misc/rinetd/rinetd-0.62-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="2"
+EAPI="6"
 
 inherit toolchain-funcs
 
@@ -18,17 +18,17 @@ IUSE=""
 S=${WORKDIR}/${PN}
 
 src_prepare() {
+	default
 	sed -i -e "s:gcc:$(tc-getCC) \$(CFLAGS) \$(LDFLAGS):" Makefile
 }
 
 src_compile() {
-	emake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}" || die
+	emake CFLAGS="${CFLAGS} -DLINUX" LDFLAGS="${LDFLAGS}"
 }
 
 src_install() {
-	dosbin rinetd || die
+	dosbin rinetd
 	newinitd "${FILESDIR}"/rinetd.rc rinetd
 	doman rinetd.8
-	dodoc CHANGES README
-	dohtml index.html
+	dodoc CHANGES README index.html
 }
diff --git a/net-misc/rwbs/files/rwbs.rc b/net-misc/rwbs/files/rwbs.rc
index 88528a7fa7cf..58bdd20f43e6 100644
--- a/net-misc/rwbs/files/rwbs.rc
+++ b/net-misc/rwbs/files/rwbs.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/rwbs/rwbs-0.27-r1.ebuild b/net-misc/rwbs/rwbs-0.27-r2.ebuild
similarity index 94%
rename from net-misc/rwbs/rwbs-0.27-r1.ebuild
rename to net-misc/rwbs/rwbs-0.27-r2.ebuild
index 94b40927c68f..a70ebf654693 100644
--- a/net-misc/rwbs/rwbs-0.27-r1.ebuild
+++ b/net-misc/rwbs/rwbs-0.27-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=4
+EAPI=6
 
 DESCRIPTION="Roger Wilco base station"
 HOMEPAGE="http://rogerwilco.gamespy.com/"
diff --git a/net-misc/rwhoisd/files/rwhoisd b/net-misc/rwhoisd/files/rwhoisd
index 8e02214c8d07..f6978f662e27 100644
--- a/net-misc/rwhoisd/files/rwhoisd
+++ b/net-misc/rwhoisd/files/rwhoisd
@@ -1,4 +1,4 @@
-#!/sbin/runscript
+#!/sbin/openrc-run
 
 depend() {
 	use logger
diff --git a/net-misc/rwhoisd/rwhoisd-1.5.9.5-r2.ebuild b/net-misc/rwhoisd/rwhoisd-1.5.9.5-r3.ebuild
similarity index 95%
rename from net-misc/rwhoisd/rwhoisd-1.5.9.5-r2.ebuild
rename to net-misc/rwhoisd/rwhoisd-1.5.9.5-r3.ebuild
index 2deb2360d574..3acff499f3e7 100644
--- a/net-misc/rwhoisd/rwhoisd-1.5.9.5-r2.ebuild
+++ b/net-misc/rwhoisd/rwhoisd-1.5.9.5-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/ser/files/ser.rc6 b/net-misc/ser/files/ser.rc6
index dfe74b0409cf..61c0a3385d25 100644
--- a/net-misc/ser/files/ser.rc6
+++ b/net-misc/ser/files/ser.rc6
@@ -1,4 +1,4 @@
-#!/sbin/runscript
+#!/sbin/openrc-run
 # Copyright 2002 Frauenhofer Gesellschaft FOKUS, Germany.
 # Distributed under the terms of the GNU General Public License, v2 or later
 # $Id$
diff --git a/net-misc/ser/ser-0.9.7-r1.ebuild b/net-misc/ser/ser-0.9.7-r2.ebuild
similarity index 99%
rename from net-misc/ser/ser-0.9.7-r1.ebuild
rename to net-misc/ser/ser-0.9.7-r2.ebuild
index 78d28c618340..77f0459a7822 100644
--- a/net-misc/ser/ser-0.9.7-r1.ebuild
+++ b/net-misc/ser/ser-0.9.7-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/siproxd/files/siproxd.rc6 b/net-misc/siproxd/files/siproxd.rc6
index 9d7fae75808b..63ffe152cafb 100644
--- a/net-misc/siproxd/files/siproxd.rc6
+++ b/net-misc/siproxd/files/siproxd.rc6
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/siproxd/files/siproxd.rc7 b/net-misc/siproxd/files/siproxd.rc7
deleted file mode 100644
index 88ba0331f466..000000000000
--- a/net-misc/siproxd/files/siproxd.rc7
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-depend() {
-	need net
-}
-
-check_config() {
-	if [[ ! -f /etc/siproxd.conf ]]; then
-		eerror "Please create /etc/siproxd.conf first!"
-		return 1
-	fi
-	return 0
-}
-
-start() {
-	check_config || return 1
-	checkpath -q -d /var/run/siproxd -o siproxd:siproxd
-	ebegin "Starting siproxd"
-	start-stop-daemon --start --exec /usr/sbin/siproxd -- \
-		-p /var/run/siproxd/siproxd.pid -c /etc/siproxd.conf
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping siproxd"
-	start-stop-daemon --stop --pidfile /var/run/siproxd/siproxd.pid
-	eend $?
-}
diff --git a/net-misc/siproxd/files/siproxd.rc8 b/net-misc/siproxd/files/siproxd.rc8
index d85b32f22d33..146fefbc81ad 100644
--- a/net-misc/siproxd/files/siproxd.rc8
+++ b/net-misc/siproxd/files/siproxd.rc8
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/siproxd/siproxd-0.8.0-r2.ebuild b/net-misc/siproxd/siproxd-0.8.0-r3.ebuild
similarity index 84%
rename from net-misc/siproxd/siproxd-0.8.0-r2.ebuild
rename to net-misc/siproxd/siproxd-0.8.0-r3.ebuild
index 3d507c8213c8..211c60578e6c 100644
--- a/net-misc/siproxd/siproxd-0.8.0-r2.ebuild
+++ b/net-misc/siproxd/siproxd-0.8.0-r3.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="2"
+EAPI="5"
 
 inherit eutils autotools user
 
@@ -33,6 +33,8 @@ pkg_setup() {
 }
 
 src_prepare() {
+	default
+
 	# make the daemon run as user 'siproxd' by default
 	sed -i -e "s:nobody:siproxd:" doc/siproxd.conf.example \
 		|| die "patching doc/siproxd.conf.example failed"
@@ -70,33 +72,32 @@ src_configure() {
 }
 
 src_install() {
-	einstall || die "einstall failed"
+	einstall
 
-	newinitd "${FILESDIR}"/${PN}.rc6 ${PN} || die "newinitd failed"
+	newinitd "${FILESDIR}"/${PN}.rc6 ${PN}
 
 	dodoc AUTHORS ChangeLog NEWS README RELNOTES TODO \
-		doc/FAQ doc/FLI4L_HOWTO.txt doc/KNOWN_BUGS \
-		|| die "dodoc failed"
+		doc/FAQ doc/FLI4L_HOWTO.txt doc/KNOWN_BUGS
 
 	if use doc; then
-		dodoc doc/RFC3261_compliance.txt || die "dodoc failed"
+		dodoc doc/RFC3261_compliance.txt
 		# auto-generated doc is not auto-installed
 		# upstream has been contacted, see bug 2649333 in their bugtracker
-		dohtml -r doc/html/ || die "dohtml failed"
+		dohtml -r doc/html/
 		# pdf is not build all the time
 		if has_version app-text/docbook-sgml-utils[jadetex]; then
-			dodoc doc/pdf/*.pdf || die "dodoc failed"
+			dodoc doc/pdf/*.pdf
 		fi
 	fi
 
 	if use examples; then
 		docinto examples
-		dodoc doc/sample_*.txt || die "dodoc failed"
+		dodoc doc/sample_*.txt
 	fi
 
 	# set up siproxd directories
-	keepdir /var/{lib,run}/${PN} || die "keepdir failed"
-	fowners siproxd:siproxd /var/{lib,run}/${PN} || die "fowners failed"
+	keepdir /var/{lib,run}/${PN}
+	fowners siproxd:siproxd /var/{lib,run}/${PN}
 }
 
 pkg_postinst() {
diff --git a/net-misc/siproxd/siproxd-0.8.1-r1.ebuild b/net-misc/siproxd/siproxd-0.8.1-r2.ebuild
similarity index 98%
rename from net-misc/siproxd/siproxd-0.8.1-r1.ebuild
rename to net-misc/siproxd/siproxd-0.8.1-r2.ebuild
index 80f74e528b7e..15e884fb8720 100644
--- a/net-misc/siproxd/siproxd-0.8.1-r1.ebuild
+++ b/net-misc/siproxd/siproxd-0.8.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/spread/files/spread.init.d b/net-misc/spread/files/spread.init.d
index b62ec6e33a79..9d551840a344 100644
--- a/net-misc/spread/files/spread.init.d
+++ b/net-misc/spread/files/spread.init.d
@@ -1,8 +1,7 @@
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
-# $Id$
 
 depend() {
 	need net
diff --git a/net-misc/spread/spread-4.1.0.ebuild b/net-misc/spread/spread-4.1.0-r1.ebuild
similarity index 90%
rename from net-misc/spread/spread-4.1.0.ebuild
rename to net-misc/spread/spread-4.1.0-r1.ebuild
index b40b89d5e1b1..67438ab76dfc 100644
--- a/net-misc/spread/spread-4.1.0.ebuild
+++ b/net-misc/spread/spread-4.1.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="4"
-inherit eutils user
+EAPI="6"
+inherit user
 
 MY_PN="spread-src"
 
@@ -27,6 +27,8 @@ pkg_setup() {
 }
 
 src_prepare() {
+	default
+
 	# don't strip binaries
 	sed -i -e 's/0755 -s/0755/g' daemon/Makefile.in examples/Makefile.in
 }
diff --git a/net-misc/spread/spread-4.3.0.ebuild b/net-misc/spread/spread-4.3.0-r1.ebuild
similarity index 89%
rename from net-misc/spread/spread-4.3.0.ebuild
rename to net-misc/spread/spread-4.3.0-r1.ebuild
index 16128268988b..57978f74da80 100644
--- a/net-misc/spread/spread-4.3.0.ebuild
+++ b/net-misc/spread/spread-4.3.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="4"
-inherit eutils user
+EAPI="6"
+inherit user
 
 MY_PN="spread-src"
 
@@ -27,6 +27,8 @@ pkg_setup() {
 }
 
 src_prepare() {
+	default
+
 	# don't strip binaries
 	sed -i -e 's/0755 -s/0755/g' daemon/Makefile.in examples/Makefile.in
 }
diff --git a/net-misc/stunnel/Manifest b/net-misc/stunnel/Manifest
index 48bff4d82f7c..aa9924f3cdda 100644
--- a/net-misc/stunnel/Manifest
+++ b/net-misc/stunnel/Manifest
@@ -2,3 +2,4 @@ DIST stunnel-5.24.tar.gz 631730 SHA256 ab2e5a1034d422951ddad21b572eb7fa8efb4c4ce
 DIST stunnel-5.29.tar.gz 637806 SHA256 43909625403ea634fa7cb8399d58faf8e7f11c1b7b29097491469951f56df551 SHA512 1a7017921e29416dfb934d258c89b9b47db9922e6af1a29bd53895cb153d7de3908fd4cfd6e65e6aa8992cb26670dbfeab366c0f7ce0317d9045a67d1e30a934 WHIRLPOOL c15e09aa9777f6150f9cf3663c8e1dc32e3556295a63945aa7b4186e2c7a52e0d766f010afce548798aba2d7a2165b6af46613457e0b7339da8f438cb4694085
 DIST stunnel-5.30.tar.gz 638771 SHA256 7d6eb389f6a1954b3bcf6c71d4ae3c5f9dde1990dd0b9e0cb1c7caf138d60570 SHA512 66bb610241e70881f8b14bfaec712a48361ec43a631db8b38ea0c94547fa184896e2d1fbbce52eb13c65411aa1ca10b3e9e42bde1651b38a5d551504b3b38f3c WHIRLPOOL 6b375be08c52088de065028d4d2e4d99301dbeb3a6771bbfe19f715d1dd9f7ccf893b87b973dbb19bfc5decf7f6e487322d857e04fdccdd535140ebecef358f8
 DIST stunnel-5.31.tar.gz 639381 SHA256 a746b71ab3dc6c23eacb0daf7342467870e43ac933430905eb1b1d050bbae0b7 SHA512 250d55e684311ed79d43f25f7980e67627d8d58cfe8c13d4f90a8e0b00f13819adc1732bbc94ebba7dccc183384ea75c8ff3171f697d147f204b62fa60f63b67 WHIRLPOOL 61664e7e7d075627d6cbbfd0663d6d4770243ed2b469199a06d3d6b0ff338f631a51f6510bef5d761e56301c3f2c46a622c949f14b0560117fd756780c2945bb
+DIST stunnel-5.32.tar.gz 641907 SHA256 0ee64774d7a720f3ffd129b08557ee0882704c7f65b859c40e315a175b68a6fd SHA512 aad3b718a727ae23bc88bda027017a5e4e19d2d08c1d4e95087dae20d4ed994d0ce29e9ae4b4d40456a7d7aaeb10c30a4283c6be2965d7183982204a347781bc WHIRLPOOL e2ec5471a33e033670ba23323ee86f02a1a368572138dd30075d1cee408a8fc298e98bdfc64143399ffbb0ead2dd62b834cacdca0adab0b7c72eef08dd2f3f38
diff --git a/net-misc/stunnel/stunnel-5.32.ebuild b/net-misc/stunnel/stunnel-5.32.ebuild
new file mode 100644
index 000000000000..4eac53ed941b
--- /dev/null
+++ b/net-misc/stunnel/stunnel-5.32.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit ssl-cert eutils multilib systemd user
+
+DESCRIPTION="TLS/SSL - Port Wrapper"
+HOMEPAGE="http://www.stunnel.org/index.html"
+SRC_URI="ftp://ftp.stunnel.org/stunnel/archive/${PV%%.*}.x/${P}.tar.gz
+	http://www.usenix.org.uk/mirrors/stunnel/archive/${PV%%.*}.x/${P}.tar.gz
+	http://ftp.nluug.nl/pub/networking/stunnel/archive/${PV%%.*}.x/${P}.tar.gz
+	http://www.namesdir.com/mirrors/stunnel/archive/${PV%%.*}.x/${P}.tar.gz
+	http://stunnel.cybermirror.org/archive/${PV%%.*}.x/${P}.tar.gz
+	http://mirrors.zerg.biz/stunnel/archive/${PV%%.*}.x/${P}.tar.gz
+	ftp://mirrors.go-parts.com/stunnel/archive/${PV%%.*}.x/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="ipv6 libressl selinux stunnel3 tcpd"
+
+DEPEND="tcpd? ( sys-apps/tcp-wrappers )
+	!libressl? ( dev-libs/openssl:0 )
+	libressl? ( dev-libs/libressl )"
+RDEPEND="${DEPEND}
+	stunnel3? ( dev-lang/perl )
+	selinux? ( sec-policy/selinux-stunnel )"
+
+RESTRICT="test"
+
+pkg_setup() {
+	enewgroup stunnel
+	enewuser stunnel -1 -1 -1 stunnel
+}
+
+src_prepare() {
+	# Hack away generation of certificate
+	sed -i -e "s/^install-data-local:/do-not-run-this:/" \
+		tools/Makefile.in || die "sed failed"
+
+	echo "CONFIG_PROTECT=\"/etc/stunnel/stunnel.conf\"" > "${T}"/20stunnel
+}
+
+src_configure() {
+	econf \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
+		$(use_enable ipv6) \
+		$(use_enable tcpd libwrap) \
+		--with-ssl="${EPREFIX}"/usr \
+		--disable-fips
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+	rm -rf "${ED}"/usr/share/doc/${PN}
+	rm -f "${ED}"/etc/stunnel/stunnel.conf-sample \
+		"${ED}"/usr/share/man/man8/stunnel.{fr,pl}.8
+	use stunnel3 || rm -f "${ED}"/usr/bin/stunnel3
+
+	# The binary was moved to /usr/bin with 4.21,
+	# symlink for backwards compatibility
+	dosym ../bin/stunnel /usr/sbin/stunnel
+
+	dodoc AUTHORS BUGS CREDITS PORTS README TODO ChangeLog
+	dohtml doc/stunnel.html doc/en/VNC_StunnelHOWTO.html tools/ca.html \
+		tools/importCA.html
+
+	insinto /etc/stunnel
+	doins "${FILESDIR}"/stunnel.conf
+	doinitd "${FILESDIR}"/stunnel
+
+	doenvd "${T}"/20stunnel
+
+	systemd_dounit "${S}/tools/stunnel.service"
+	systemd_newtmpfilesd "${FILESDIR}"/stunnel.tmpfiles.conf stunnel.conf
+}
+
+pkg_postinst() {
+	if [ ! -f "${EROOT}"/etc/stunnel/stunnel.key ]; then
+		install_cert /etc/stunnel/stunnel
+		chown stunnel:stunnel "${EROOT}"/etc/stunnel/stunnel.{crt,csr,key,pem}
+		chmod 0640 "${EROOT}"/etc/stunnel/stunnel.{crt,csr,key,pem}
+	fi
+
+	einfo "If you want to run multiple instances of stunnel, create a new config"
+	einfo "file ending with .conf in /etc/stunnel/. **Make sure** you change "
+	einfo "\'pid= \' with a unique filename."
+}
diff --git a/net-misc/termpkg/files/termnetd.initd b/net-misc/termpkg/files/termnetd.initd
index 90e2462f4fd0..010c5c351c0d 100644
--- a/net-misc/termpkg/files/termnetd.initd
+++ b/net-misc/termpkg/files/termnetd.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/termpkg/files/ttyd.initd b/net-misc/termpkg/files/ttyd.initd
index abcb691f3602..31930531a1e2 100644
--- a/net-misc/termpkg/files/ttyd.initd
+++ b/net-misc/termpkg/files/ttyd.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/termpkg/termpkg-3.3.9.1-r1.ebuild b/net-misc/termpkg/termpkg-3.3.9.1-r2.ebuild
similarity index 97%
rename from net-misc/termpkg/termpkg-3.3.9.1-r1.ebuild
rename to net-misc/termpkg/termpkg-3.3.9.1-r2.ebuild
index a92fbf0b1478..5cdb58f63726 100644
--- a/net-misc/termpkg/termpkg-3.3.9.1-r1.ebuild
+++ b/net-misc/termpkg/termpkg-3.3.9.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/termpkg/termpkg-3.3.9.1.ebuild b/net-misc/termpkg/termpkg-3.3.9.1.ebuild
deleted file mode 100644
index b571c2cbf00d..000000000000
--- a/net-misc/termpkg/termpkg-3.3.9.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="2"
-
-inherit eutils versionator
-
-MY_PV=$(get_version_component_range 1-2)
-MY_PF=$(replace_version_separator 2 '-')
-
-DESCRIPTION="Termpkg, the Poor Man's Terminal Server"
-HOMEPAGE="http://www.linuxlots.com/~termpkg/"
-SRC_URI="mirror://debian/pool/main/t/termpkg/${PN}_${MY_PV}.orig.tar.gz
-	mirror://debian/pool/main/t/termpkg/${PN}_${MY_PF}.diff.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="uucp"
-
-DEPEND="sys-devel/flex"
-RDEPEND="sys-process/procps"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-src_prepare() {
-	# apply debian patches
-	epatch "${WORKDIR}/${PN}_${MY_PF}.diff"
-
-	# apply gentoo patches
-	epatch "${FILESDIR}/${P}-gcc43.diff"
-
-	# apply iaxmodem patches
-	epatch "${FILESDIR}/${PN}-${MY_PV}-ttydforfax.diff"
-}
-
-src_configure() {
-	./configure LINUX $(use uucp && echo UUCP_LOCKING)
-}
-
-src_compile() {
-	emake -C linux CC=$(tc-getCC) LIBS="${LDFLAGS}" || die "emake failed"
-}
-
-src_install() {
-	dobin linux/bin/termnet
-	dosbin linux/bin/{termnetd,ttyd}
-	dodoc CHANGES README termpkg.lsm
-	newdoc debian/changelog ChangeLog.debian
-	doman doc/*.1
-	insinto /etc
-	newins debian/termnetd.conf termnetd.conf.dist
-	for X in termnetd ttyd; do
-		newinitd "${FILESDIR}/${X}.initd" "${X}"
-		newconfd "${FILESDIR}/${X}.confd" "${X}"
-	done
-}
diff --git a/net-misc/udpxy/files/udpxy.initd b/net-misc/udpxy/files/udpxy.initd
index c5bc1be01bd7..7a698d8d543c 100644
--- a/net-misc/udpxy/files/udpxy.initd
+++ b/net-misc/udpxy/files/udpxy.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/udpxy/udpxy-1.0.23.7-r1.ebuild b/net-misc/udpxy/udpxy-1.0.23.7-r2.ebuild
similarity index 92%
rename from net-misc/udpxy/udpxy-1.0.23.7-r1.ebuild
rename to net-misc/udpxy/udpxy-1.0.23.7-r2.ebuild
index d03143555e8c..f188248ade07 100644
--- a/net-misc/udpxy/udpxy-1.0.23.7-r1.ebuild
+++ b/net-misc/udpxy/udpxy-1.0.23.7-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 inherit eutils systemd toolchain-funcs versionator
 
 MY_PV=$(replace_version_separator 3 -)
@@ -17,7 +17,7 @@ KEYWORDS="~amd64 ~x86"
 S="${WORKDIR}/${PN}-${MY_PV}"
 
 src_prepare() {
-	epatch_user
+	eapply_user
 	tc-export CC
 }
 
diff --git a/net-misc/utelnetd/files/utelnetd.initd b/net-misc/utelnetd/files/utelnetd.initd
index fe87e80f6798..3e84801be844 100644
--- a/net-misc/utelnetd/files/utelnetd.initd
+++ b/net-misc/utelnetd/files/utelnetd.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/utelnetd/utelnetd-0.1.11.ebuild b/net-misc/utelnetd/utelnetd-0.1.11-r1.ebuild
similarity index 94%
rename from net-misc/utelnetd/utelnetd-0.1.11.ebuild
rename to net-misc/utelnetd/utelnetd-0.1.11-r1.ebuild
index 15b565708551..ad00d89bb2bf 100644
--- a/net-misc/utelnetd/utelnetd-0.1.11.ebuild
+++ b/net-misc/utelnetd/utelnetd-0.1.11-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-misc/utelnetd/utelnetd-0.1.9-r1.ebuild b/net-misc/utelnetd/utelnetd-0.1.9-r2.ebuild
similarity index 84%
rename from net-misc/utelnetd/utelnetd-0.1.9-r1.ebuild
rename to net-misc/utelnetd/utelnetd-0.1.9-r2.ebuild
index a7b58fc0458c..1c55b5b9ea31 100644
--- a/net-misc/utelnetd/utelnetd-0.1.9-r1.ebuild
+++ b/net-misc/utelnetd/utelnetd-0.1.9-r2.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+EAPI=6
+
 inherit toolchain-funcs
 
 DESCRIPTION="A small Telnet daemon, derived from the Axis tools"
@@ -15,17 +17,16 @@ IUSE=""
 
 DEPEND="virtual/shadow"
 
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
+src_prepare() {
 	sed -i \
 		-e "/(STRIP)/d" \
 		-e "/^CC/s:=.*:= $(tc-getCC):" \
 		Makefile || die
+	default
 }
 
 src_install() {
-	dosbin utelnetd || die
+	dosbin utelnetd
 	dodoc ChangeLog README
 
 	newinitd "${FILESDIR}"/utelnetd.initd utelnetd
diff --git a/net-nntp/nzb/metadata.xml b/net-nntp/nzb/metadata.xml
index 9197bf2f95d2..388114383bae 100644
--- a/net-nntp/nzb/metadata.xml
+++ b/net-nntp/nzb/metadata.xml
@@ -1,10 +1,7 @@
 
 
 
-	
-		qt@gentoo.org
-		Gentoo Qt Project
-	
+	
 	
 		nzb
 		http://sourceforge.net/tracker/?group_id=113793
diff --git a/net-p2p/amule/amule-2.3.1-r1.ebuild b/net-p2p/amule/amule-2.3.1-r2.ebuild
similarity index 92%
rename from net-p2p/amule/amule-2.3.1-r1.ebuild
rename to net-p2p/amule/amule-2.3.1-r2.ebuild
index 565019e13b02..dceb2cd3be7c 100644
--- a/net-p2p/amule/amule-2.3.1-r1.ebuild
+++ b/net-p2p/amule/amule-2.3.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-inherit eutils wxwidgets user
+inherit wxwidgets user
 
 MY_P=${PN/m/M}-${PV}
 S="${WORKDIR}"/${MY_P}
@@ -46,9 +46,11 @@ pkg_preinst() {
 }
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.2.6-fallocate.diff
+	eapply "${FILESDIR}"/${PN}-2.2.6-fallocate.diff
 	# Bug 412371
-	epatch "${FILESDIR}"/${PN}-2.3.1-gcc47.patch
+	eapply "${FILESDIR}"/${PN}-2.3.1-gcc47.patch
+
+	default
 }
 
 src_configure() {
diff --git a/net-p2p/amule/files/amuled.initd b/net-p2p/amule/files/amuled.initd
index 082e2ffe15f2..1c070e6da850 100644
--- a/net-p2p/amule/files/amuled.initd
+++ b/net-p2p/amule/files/amuled.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-p2p/amule/files/amuleweb.initd b/net-p2p/amule/files/amuleweb.initd
index 05e7d9f192b8..d091e2a28cae 100644
--- a/net-p2p/amule/files/amuleweb.initd
+++ b/net-p2p/amule/files/amuleweb.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2007 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-p2p/bittornado/bittornado-0.3.18-r3.ebuild b/net-p2p/bittornado/bittornado-0.3.18-r4.ebuild
similarity index 91%
rename from net-p2p/bittornado/bittornado-0.3.18-r3.ebuild
rename to net-p2p/bittornado/bittornado-0.3.18-r4.ebuild
index 65f330df2580..b66a1e448a22 100644
--- a/net-p2p/bittornado/bittornado-0.3.18-r3.ebuild
+++ b/net-p2p/bittornado/bittornado-0.3.18-r4.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
 # note: wxGTK interface has been removed wrt #391685. this ebuild is only for
 # cmdline tools as is.
 
-EAPI=5
+EAPI=6
 
 PYTHON_COMPAT=( python2_7 )
 
-inherit distutils-r1 eutils
+inherit distutils-r1
 
 MY_PN=BitTornado
 MY_P=${MY_PN}-${PV}
@@ -35,7 +35,7 @@ python_prepare_all() {
 	# fixes wrong icons path
 	sed -i "s:os.path.abspath(os.path.dirname(os.path.realpath(sys.argv\[0\]))):\"${PIXMAPLOC}/\":" btdownloadgui.py
 	# Needs wxpython-2.6 only, bug #201247
-	epatch "${FILESDIR}"/${P}-wxversion.patch
+	eapply "${FILESDIR}"/${P}-wxversion.patch
 
 	distutils-r1_python_prepare_all
 }
diff --git a/net-p2p/bittornado/files/bttrack.rc b/net-p2p/bittornado/files/bttrack.rc
index d08110fe215d..dcb40f747b0b 100644
--- a/net-p2p/bittornado/files/bttrack.rc
+++ b/net-p2p/bittornado/files/bttrack.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-p2p/classified-ads/Manifest b/net-p2p/classified-ads/Manifest
index b87d10b734ca..355c7689887c 100644
--- a/net-p2p/classified-ads/Manifest
+++ b/net-p2p/classified-ads/Manifest
@@ -2,9 +2,7 @@ DIST classified-ads-0.07.tar.gz 2194177 SHA256 882874da2d1610d64c952969222b9295b
 DIST classified-ads-0.07_p20150728.tar.gz 2197413 SHA256 e8d488b6c44b198bf1150c7a33ae698887cfb345cb4473d91a5949abeb846d95 SHA512 1cb42252ab695e90212d05144255a66b0d8dc63d8d010b5781e470a4c5e9cdf9c4dce1b9e44cba83d5fb2fef99e3d46fd5cc1b9880db69c9c163475b7e4349fc WHIRLPOOL 458d3947f00709c633d652b753b7801496479f610da0d249e8e2f5f7ddecb341fb885184c027b453aa2f9db7998a74fcbd60bbb9d0bb5765b7b7e45bcdcfc2c0
 DIST classified-ads-0.09.tar.gz 2288561 SHA256 c6c0809c269e7596386b612f0a43c705801bad71c64a23a81f763656b22db125 SHA512 3639854cb797830f71261097ba315426be74f0dbcb5190522d50f4507d488d309c0793d1cad5bbc29bc43bd06de16392afc82172cefa766458764b4ac5b90357 WHIRLPOOL 7149c2772ca61a5067722f6aa5066e4dee3aec758b1998633d129cd4704723e6c633522a241cc4332dca94cac0bb59ada9a5472c750d335a764e1ff2f09c9d8f
 DIST classified-ads-0.09_p20151220.tar.gz 2288916 SHA256 4703c8f0183248376c9a0ce220115f44940c8c82efb93082bf313f42c73e1a7f SHA512 2a167e0bf8fe74014ae797cebb6577e481d75afbfd9a4a49587e857777eadd71285f0431ca22fa0a83efde2192d792a4517fbdbfe37cbb2ae1e6ab19f6e89e1e WHIRLPOOL ee12913ae813631e711d33cc62deedc50a4e173dcb3d793757f042eae04ec63c6062e9543a42aac50164a2e68fac59030f3ac43c232fc787b9b2e7020c4c9c84
-DIST classified-ads-0.10.tar.gz 2527827 SHA256 9b2f653d239e78c41505f6ee44e41cf4e176eb8aa5f4e26549e32afadf0045d7 SHA512 54c94c799ee99b9d362cefb7587e100fac807dd2583ddad2e7e9f046823fe4f8a206cbde8b839658c0e78ad50e056faa30cda7d45de9aa518b9483e3e36910a4 WHIRLPOOL b6ba9036adf8f104a58488b7eba45349cc12f0c2fa80fa370873640b0b3f2e95895136efbda6471b7188a8e5ffe9575af2fae2b676cc0a29f48860ba48ac47aa
 DIST classified-ads-graphics-0.07.tar.gz 340476 SHA256 12bd4f581f82c4c805bbf19cc794f7462f9ec0e71358fbc1628fd872169295e2 SHA512 c59f65f37a8e4dddb753dbcdec835e946d9de021c5273319b3cd95ef1c3343715ce4b87d76b2d96264acc791a6cced32967521c74978131bd76fbcfc37bb344d WHIRLPOOL 2535170cdc4cc1d4ad2e204e85b546089b3aa404e4cee0e2ab9d094d6cda869043f24fba29d6f68b37f450ff947c13f02336e63b3236b404cbae528f801cc1ad
 DIST classified-ads-graphics-0.07_p20150728.tar.gz 340476 SHA256 12bd4f581f82c4c805bbf19cc794f7462f9ec0e71358fbc1628fd872169295e2 SHA512 c59f65f37a8e4dddb753dbcdec835e946d9de021c5273319b3cd95ef1c3343715ce4b87d76b2d96264acc791a6cced32967521c74978131bd76fbcfc37bb344d WHIRLPOOL 2535170cdc4cc1d4ad2e204e85b546089b3aa404e4cee0e2ab9d094d6cda869043f24fba29d6f68b37f450ff947c13f02336e63b3236b404cbae528f801cc1ad
 DIST classified-ads-graphics-0.09.tar.gz 340476 SHA256 12bd4f581f82c4c805bbf19cc794f7462f9ec0e71358fbc1628fd872169295e2 SHA512 c59f65f37a8e4dddb753dbcdec835e946d9de021c5273319b3cd95ef1c3343715ce4b87d76b2d96264acc791a6cced32967521c74978131bd76fbcfc37bb344d WHIRLPOOL 2535170cdc4cc1d4ad2e204e85b546089b3aa404e4cee0e2ab9d094d6cda869043f24fba29d6f68b37f450ff947c13f02336e63b3236b404cbae528f801cc1ad
 DIST classified-ads-graphics-0.09_p20151220.tar.gz 340476 SHA256 12bd4f581f82c4c805bbf19cc794f7462f9ec0e71358fbc1628fd872169295e2 SHA512 c59f65f37a8e4dddb753dbcdec835e946d9de021c5273319b3cd95ef1c3343715ce4b87d76b2d96264acc791a6cced32967521c74978131bd76fbcfc37bb344d WHIRLPOOL 2535170cdc4cc1d4ad2e204e85b546089b3aa404e4cee0e2ab9d094d6cda869043f24fba29d6f68b37f450ff947c13f02336e63b3236b404cbae528f801cc1ad
-DIST classified-ads-graphics-0.10.tar.gz 340476 SHA256 12bd4f581f82c4c805bbf19cc794f7462f9ec0e71358fbc1628fd872169295e2 SHA512 c59f65f37a8e4dddb753dbcdec835e946d9de021c5273319b3cd95ef1c3343715ce4b87d76b2d96264acc791a6cced32967521c74978131bd76fbcfc37bb344d WHIRLPOOL 2535170cdc4cc1d4ad2e204e85b546089b3aa404e4cee0e2ab9d094d6cda869043f24fba29d6f68b37f450ff947c13f02336e63b3236b404cbae528f801cc1ad
diff --git a/net-p2p/classified-ads/classified-ads-0.10.ebuild b/net-p2p/classified-ads/classified-ads-0.10.ebuild
deleted file mode 100644
index d7f75da81b02..000000000000
--- a/net-p2p/classified-ads/classified-ads-0.10.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-PLOCALES="en fi sv da uk"
-PLOCALE_BACKUP="en"
-inherit qmake-utils virtualx vcs-snapshot
-
-COMMIT_ID="cd0652c52f86f6284b793f26e5362bc8fb8a7118"
-DESCRIPTION="Program for displaying classified advertisement items"
-HOMEPAGE="http://katiska.org/classified-ads/"
-SRC_URI="https://github.com/operatornormal/classified-ads/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz \
-	https://github.com/operatornormal/classified-ads/blob/graphics/preprocessed.tar.gz?raw=true \
-		-> classified-ads-graphics-${PV}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="debug doc test"
-
-RDEPEND="dev-libs/openssl:0
-		>=net-libs/libnatpmp-20130911
-		<=net-libs/libnatpmp-20140401-r1
-		>=net-libs/miniupnpc-1.8
-		sys-apps/file
-		sys-devel/gettext
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtnetwork:5[ssl]
-		dev-qt/qtwidgets:5
-		dev-qt/qtsql:5[sqlite]
-		dev-qt/qtmultimedia:5[widgets]
-		dev-qt/qt-mobility[multimedia]
-		dev-qt/qtprintsupport:5
-		media-libs/opus"
-
-DEPEND="${RDEPEND}
-	dev-qt/qttest:5
-		sys-devel/gdb:0
-	doc? ( app-doc/doxygen[dot] )
-	test? ( dev-libs/libgcrypt:0
-		${VIRTUALX_DEPEND} )"
-
-src_prepare() {
-	# preprocessed graphics are unpacked into wrong directory
-	# so lets move them into correct location:
-	mv ../classified-ads-graphics-${PV}/* ui/ || die
-	# possible patches
-	eapply_user
-	# then just run qmake
-	eqmake5
-}
-
-src_compile() {
-	emake
-	if use doc; then
-		cd doc || die
-		doxygen || die
-	fi
-}
-
-src_test() {
-	virtx test_suite
-}
-
-src_install() {
-	emake install INSTALL_ROOT="${D}" DESTDIR="${D}"
-	use doc && dodoc -r doc/doxygen.generated/html/
-}
-
-# virtualx requires a command that returns number, and does not just die:
-test_suite() {
-	cd test || return -1
-	eqmake5 || return -2
-	emake
-	# test suite will create files under $HOME, set $HOME to point to
-	# safe location, ideas stolen from
-	# eclass/distutils-r1.eclass func distutils_install_for_testing
-	BACKUP_HOME=$HOME
-	export HOME=${BUILD_DIR}/tmp
-	mkdir -p $HOME || true
-	./testca
-	result=$?
-	export HOME=$BACKUP_HOME
-	if [ $result != "0" ]; then
-		echo "test suite failed with error code " `echo $result`
-		return $result
-	else
-		return 0
-	fi
-}
diff --git a/net-p2p/mldonkey/files/mldonkey.initd b/net-p2p/mldonkey/files/mldonkey.initd
index 7a007dededf0..12dd599de7be 100644
--- a/net-p2p/mldonkey/files/mldonkey.initd
+++ b/net-p2p/mldonkey/files/mldonkey.initd
@@ -1,4 +1,4 @@
-#!/sbin/runscript
+#!/sbin/openrc-run
 
 extra_started_commands="reload slow fast info"
 
diff --git a/net-p2p/mldonkey/files/ocaml-4.03.patch b/net-p2p/mldonkey/files/ocaml-4.03.patch
new file mode 100644
index 000000000000..fce94c851e2d
--- /dev/null
+++ b/net-p2p/mldonkey/files/ocaml-4.03.patch
@@ -0,0 +1,145 @@
+Index: mldonkey-3.1.5/src/config/unix/os_stubs_c.c
+===================================================================
+--- mldonkey-3.1.5.orig/src/config/unix/os_stubs_c.c
++++ mldonkey-3.1.5/src/config/unix/os_stubs_c.c
+@@ -66,7 +66,7 @@ ssize_t os_read(OS_FD fd, char *buf, siz
+ 
+ void os_ftruncate(OS_FD fd, OFF_T len, /* bool */ int sparse)
+ {
+-  int64 cursize;
++  int64_t cursize;
+   if(!fd) failwith("ftruncate32: file is closed");
+   
+   cursize = os_getfdsize(fd);
+@@ -109,7 +109,7 @@ int os_getdtablesize()
+ 
+ *******************************************************************/
+ 
+-int64 os_getfdsize(OS_FD fd)
++int64_t os_getfdsize(OS_FD fd)
+ {
+   struct stat buf;
+ 
+@@ -127,7 +127,7 @@ int64 os_getfdsize(OS_FD fd)
+ 
+ *******************************************************************/
+ 
+-int64 os_getfilesize(char *path)
++int64_t os_getfilesize(char *path)
+ {
+   struct stat buf;
+ 
+Index: mldonkey-3.1.5/src/networks/donkey/donkeyGlobals.ml
+===================================================================
+--- mldonkey-3.1.5.orig/src/networks/donkey/donkeyGlobals.ml
++++ mldonkey-3.1.5/src/networks/donkey/donkeyGlobals.ml
+@@ -781,7 +781,6 @@ let set_client_name c name md4 =
+       c.client_md4 <- md4;
+     end
+ 
+-exception ClientFound of client
+ let find_client_by_name name =
+   try
+     H.iter (fun c ->
+Index: mldonkey-3.1.5/src/utils/cdk/zip.ml
+===================================================================
+--- mldonkey-3.1.5.orig/src/utils/cdk/zip.ml
++++ mldonkey-3.1.5/src/utils/cdk/zip.ml
+@@ -72,8 +72,6 @@ type out_file =
+     mutable of_entries: entry list;
+     of_comment: string }
+ 
+-exception Error of string * string * string
+-
+ (* Return the position of the last occurrence of s1 in s2, or -1 if not
+    found. *)
+ 
+Index: mldonkey-3.1.5/src/utils/cdk/zlibstubs.c
+===================================================================
+--- mldonkey-3.1.5.orig/src/utils/cdk/zlibstubs.c
++++ mldonkey-3.1.5/src/utils/cdk/zlibstubs.c
+@@ -191,7 +191,7 @@ value camlzip_inflateEnd(value vzs)
+ 
+ value camlzip_update_crc32(value crc, value buf, value pos, value len)
+ {
+-  return copy_int32(crc32((uint32) Int32_val(crc), 
++  return copy_int32(crc32((uint32_t) Int32_val(crc), 
+                           &Byte_u(buf, Long_val(pos)),
+                           Long_val(len)));
+ }
+Index: mldonkey-3.1.5/src/utils/lib/fst_hash.c
+===================================================================
+--- mldonkey-3.1.5.orig/src/utils/lib/fst_hash.c
++++ mldonkey-3.1.5/src/utils/lib/fst_hash.c
+@@ -197,7 +197,7 @@ unsigned short fst_hash_checksum (unsign
+ /*****************************************************************************/
+ 
+ // hash file
+-int fst_hash_file (unsigned char *fth, char *file, int64 filesize)
++int fst_hash_file (unsigned char *fth, char *file, int64_t filesize)
+ {
+   FILE *fp;
+   unsigned char *buf;
+@@ -271,7 +271,7 @@ int fst_hash_file (unsigned char *fth, c
+ }
+ 
+ 
+-void fst_hash_string (unsigned char *fth, unsigned char *file, int64 filesize)
++void fst_hash_string (unsigned char *fth, unsigned char *file, int64_t filesize)
+ {
+   unsigned char * buf = file;
+   size_t len = filesize;
+Index: mldonkey-3.1.5/src/utils/lib/options.ml4
+===================================================================
+--- mldonkey-3.1.5.orig/src/utils/lib/options.ml4
++++ mldonkey-3.1.5/src/utils/lib/options.ml4
+@@ -332,7 +332,6 @@ let exit_exn = Exit
+ 
+ 
+ let unsafe_get = String.unsafe_get
+-external is_printable : char -> bool = "caml_is_printable"
+ let unsafe_set = String.unsafe_set
+   
+ let escaped s =
+@@ -343,7 +342,7 @@ let escaped s =
+         (match unsafe_get s i with
+            '"' | '\\' -> 2
+          | '\n' | '\t' -> 1
+-         | c -> if is_printable c then 1 else 4)
++         | c -> 1)
+   done;
+   if !n = String.length s then s
+   else
+@@ -354,16 +353,7 @@ let escaped s =
+         '"' | '\\' as c -> unsafe_set s' !n '\\'; incr n; unsafe_set s' !n c
+       | '\n' | '\t' as c -> unsafe_set s' !n c
+       | c ->
+-          if is_printable c then unsafe_set s' !n c
+-          else
+-            let a = int_of_char c in
+-            unsafe_set s' !n '\\';
+-            incr n;
+-            unsafe_set s' !n (char_of_int (48 + a / 100));
+-            incr n;
+-            unsafe_set s' !n (char_of_int (48 + a / 10 mod 10));
+-            incr n;
+-            unsafe_set s' !n (char_of_int (48 + a mod 10))
++          unsafe_set s' !n c
+       end;
+       incr n
+     done;
+Index: mldonkey-3.1.5/src/utils/lib/os_stubs.h
+===================================================================
+--- mldonkey-3.1.5.orig/src/utils/lib/os_stubs.h
++++ mldonkey-3.1.5/src/utils/lib/os_stubs.h
+@@ -155,8 +155,8 @@ extern OFF_T os_lseek(OS_FD fd, OFF_T po
+ extern void os_ftruncate(OS_FD fd, OFF_T len, int sparse);
+ extern ssize_t os_read(OS_FD fd, char *buf, size_t len);
+ extern int os_getdtablesize();
+-extern int64 os_getfdsize(OS_FD fd);
+-extern int64 os_getfilesize(char *path);
++extern int64_t os_getfdsize(OS_FD fd);
++extern int64_t os_getfilesize(char *path);
+ extern void os_set_nonblock(OS_SOCKET fd);
+ extern void os_uname(char buf[]);
+ extern int os_os_supported();
diff --git a/net-p2p/mldonkey/mldonkey-3.1.5.ebuild b/net-p2p/mldonkey/mldonkey-3.1.5-r1.ebuild
similarity index 96%
rename from net-p2p/mldonkey/mldonkey-3.1.5.ebuild
rename to net-p2p/mldonkey/mldonkey-3.1.5-r1.ebuild
index 84b99e1c12f8..7a35089b19c0 100644
--- a/net-p2p/mldonkey/mldonkey-3.1.5.ebuild
+++ b/net-p2p/mldonkey/mldonkey-3.1.5-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="5"
+EAPI="6"
 WANT_AUTOCONF=2.5
 
 inherit flag-o-matic eutils autotools toolchain-funcs user
@@ -58,7 +58,10 @@ src_prepare() {
 	eautoconf
 	cd "${S}"
 	use ocamlopt || sed -i -e "s/ocamlopt/idontwantocamlopt/g" "${S}/config/configure" || die "failed to disable ocamlopt"
-	epatch "${FILESDIR}/ocaml4.patch"
+	eapply "${FILESDIR}/ocaml4.patch"
+	has_version '>=dev-lang/ocaml-4.03' && eapply "${FILESDIR}/ocaml-4.03.patch"
+
+	default
 }
 
 src_configure() {
diff --git a/net-proxy/bfilter/bfilter-1.1.4-r3.ebuild b/net-proxy/bfilter/bfilter-1.1.4-r4.ebuild
similarity index 100%
rename from net-proxy/bfilter/bfilter-1.1.4-r3.ebuild
rename to net-proxy/bfilter/bfilter-1.1.4-r4.ebuild
diff --git a/net-proxy/bfilter/files/bfilter.init b/net-proxy/bfilter/files/bfilter.init
index 76437f6b41eb..b4481aeb313a 100644
--- a/net-proxy/bfilter/files/bfilter.init
+++ b/net-proxy/bfilter/files/bfilter.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/cntlm/cntlm-0.93_beta5-r1.ebuild b/net-proxy/cntlm/cntlm-0.93_beta5-r2.ebuild
similarity index 89%
rename from net-proxy/cntlm/cntlm-0.93_beta5-r1.ebuild
rename to net-proxy/cntlm/cntlm-0.93_beta5-r2.ebuild
index d206912adda0..bd7cbb177ab2 100644
--- a/net-proxy/cntlm/cntlm-0.93_beta5-r1.ebuild
+++ b/net-proxy/cntlm/cntlm-0.93_beta5-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 inherit eutils systemd toolchain-funcs user
 
 DESCRIPTION="Cntlm is an NTLM/NTLMv2 authenticating HTTP proxy"
@@ -20,7 +20,9 @@ RDEPEND=""
 S="${WORKDIR}/${P//_}"
 
 src_prepare() {
-	epatch "${FILESDIR}"/${P}-buildsystem.patch # 334647
+	eapply -p0 "${FILESDIR}"/${P}-buildsystem.patch # 334647
+
+	default
 }
 
 src_configure() {
diff --git a/net-proxy/cntlm/files/cntlm.initd b/net-proxy/cntlm/files/cntlm.initd
index daa19e32313a..6ebe83814424 100644
--- a/net-proxy/cntlm/files/cntlm.initd
+++ b/net-proxy/cntlm/files/cntlm.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2011 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/dnsproxy/dnsproxy-1.16-r1.ebuild b/net-proxy/dnsproxy/dnsproxy-1.16-r2.ebuild
similarity index 82%
rename from net-proxy/dnsproxy/dnsproxy-1.16-r1.ebuild
rename to net-proxy/dnsproxy/dnsproxy-1.16-r2.ebuild
index 7e7b39a5fb7c..73eead3504b4 100644
--- a/net-proxy/dnsproxy/dnsproxy-1.16-r1.ebuild
+++ b/net-proxy/dnsproxy/dnsproxy-1.16-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=4
+EAPI=6
 
 inherit eutils flag-o-matic
 
@@ -19,8 +19,10 @@ DEPEND="dev-libs/libevent"
 RDEPEND="${DEPEND}"
 
 src_prepare() {
-	epatch "${FILESDIR}"/${P}-include.patch
-	append-flags -D_GNU_SOURCE
+	eapply -p0 "${FILESDIR}"/${P}-include.patch
+	append-cppflags -D_GNU_SOURCE
+
+	default
 }
 
 src_compile() {
diff --git a/net-proxy/havp/files/havp.initd b/net-proxy/havp/files/havp.initd
index 44b00fcd0fbe..1c42fca33a50 100644
--- a/net-proxy/havp/files/havp.initd
+++ b/net-proxy/havp/files/havp.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 depend() {
diff --git a/net-proxy/havp/havp-0.92a-r1.ebuild b/net-proxy/havp/havp-0.92a-r2.ebuild
similarity index 97%
rename from net-proxy/havp/havp-0.92a-r1.ebuild
rename to net-proxy/havp/havp-0.92a-r2.ebuild
index 8f5a0177c05b..60fd0c143ede 100644
--- a/net-proxy/havp/havp-0.92a-r1.ebuild
+++ b/net-proxy/havp/havp-0.92a-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/http-replicator/files/http-replicator-3.0.init b/net-proxy/http-replicator/files/http-replicator-3.0.init
index 85f773ed7339..1aac72b7f0f3 100644
--- a/net-proxy/http-replicator/files/http-replicator-3.0.init
+++ b/net-proxy/http-replicator/files/http-replicator-3.0.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Technologies, Inc.
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init b/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init
index b1eae998553e..21d1aede6c75 100644
--- a/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init
+++ b/net-proxy/http-replicator/files/http-replicator-4.0_alpha2-r3.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Technologies, Inc.
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/http-replicator/http-replicator-3.0-r5.ebuild b/net-proxy/http-replicator/http-replicator-3.0-r6.ebuild
similarity index 100%
rename from net-proxy/http-replicator/http-replicator-3.0-r5.ebuild
rename to net-proxy/http-replicator/http-replicator-3.0-r6.ebuild
diff --git a/net-proxy/http-replicator/http-replicator-4.0_alpha2-r4.ebuild b/net-proxy/http-replicator/http-replicator-4.0_alpha2-r5.ebuild
similarity index 97%
rename from net-proxy/http-replicator/http-replicator-4.0_alpha2-r4.ebuild
rename to net-proxy/http-replicator/http-replicator-4.0_alpha2-r5.ebuild
index d13e0fc7d0dd..607e3e2c11ab 100644
--- a/net-proxy/http-replicator/http-replicator-4.0_alpha2-r4.ebuild
+++ b/net-proxy/http-replicator/http-replicator-4.0_alpha2-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/nylon/files/nylon.init b/net-proxy/nylon/files/nylon.init
index 20a96da58b93..eb4ba694cb36 100644
--- a/net-proxy/nylon/files/nylon.init
+++ b/net-proxy/nylon/files/nylon.init
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/nylon/nylon-1.21-r1.ebuild b/net-proxy/nylon/nylon-1.21-r2.ebuild
similarity index 82%
rename from net-proxy/nylon/nylon-1.21-r1.ebuild
rename to net-proxy/nylon/nylon-1.21-r2.ebuild
index f0c4072676d6..1f992210442f 100644
--- a/net-proxy/nylon/nylon-1.21-r1.ebuild
+++ b/net-proxy/nylon/nylon-1.21-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=4
-inherit autotools eutils
+EAPI=6
+inherit autotools
 
 DESCRIPTION="A lightweight SOCKS proxy server"
 HOMEPAGE="http://monkey.org/~marius/nylon/"
@@ -23,7 +23,9 @@ DEPEND="
 DOCS=( README THANKS )
 
 src_prepare() {
-	epatch "${FILESDIR}"/${P}-libevent.patch
+	default
+
+	eapply "${FILESDIR}"/${P}-libevent.patch
 	eautoreconf
 }
 
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.2.initd b/net-proxy/tinyproxy/files/tinyproxy-1.8.2.initd
deleted file mode 100644
index d55aaaea5154..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.2.initd
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-CONFFILE="/etc/${SVCNAME}.conf"
-
-depend() {
-	use logger dns
-	need net
-}
-
-checkconfig() {
-	if [ ! -f "${CONFFILE}" ]; then
-		eerror "Configuration file ${CONFFILE} not found!"
-		return 1
-	fi
-
-	PIDFILE=$(sed -n -e 's/^[[:space:]]*PidFile[[:space:]]\+"\(.*\)"[[:space:]]*$/\1/p' "${CONFFILE}")
-	return 0
-}
-
-start() {
-	checkconfig || return 1
-
-	ebegin "Starting tinyproxy"
-	if [ -n "${PIDFILE}" ]; then
-		start-stop-daemon --start --pidfile "${PIDFILE}" --startas /usr/sbin/tinyproxy -- -c "${CONFFILE}"
-	else
-		start-stop-daemon --start --exec /usr/sbin/tinyproxy -- -c "${CONFFILE}"
-	fi
-	eend $?
-}
-
-stop() {
-	checkconfig || return 1
-
-	ebegin "Stopping tinyproxy"
-	if [ -n "${PIDFILE}" ]; then
-		start-stop-daemon --stop --pidfile "${PIDFILE}"
-	else
-		start-stop-daemon --stop --exec /usr/sbin/tinyproxy
-	fi
-	eend $?
-}
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd b/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd
index 6342a5dce18e..6569e6dcd8b6 100644
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd
+++ b/net-proxy/tinyproxy/files/tinyproxy-1.8.3-r2.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/tinyproxy/files/tinyproxy-1.8.3.initd b/net-proxy/tinyproxy/files/tinyproxy-1.8.3.initd
deleted file mode 100644
index 0539996033eb..000000000000
--- a/net-proxy/tinyproxy/files/tinyproxy-1.8.3.initd
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-get_config() {
-    res=$(awk '$1 == "'$1'" { s=$2 } END { print s }' "$CONFFILE")
-
-    if [ "x$res" = "x" ]; then
-	echo "$2"
-    else
-	eval echo "$res"
-    fi
-}
-
-: ${CONFFILE:="/etc/${SVCNAME}.conf"}
-
-command=/usr/sbin/tinyproxy
-command_args="-c ${CONFFILE}"
-pidfile=$(get_config PidFile /var/run/tinyproxy/${SVCNAME}.pid)
-
-depend() {
-	config "$CONFFILE"
-
-	use dns
-
-	[ "$(get_config Syslog Off)" = "On" ] && \
-	    use logger
-}
-
-start_pre() {
-    piddir=$(dirname ${pidfile})
-
-    if [ "${piddir}" = "/var/run" ]; then
-	eerror "Please change your PidFile settings to be within the"
-	eerror "/var/run/tinyproxy directory"
-	eend 1
-    else
-	checkpath -d -o $(get_config User tinyproxy):$(get_config Group tinyproxy) ${piddir}
-    fi
-}
diff --git a/net-proxy/tinyproxy/tinyproxy-1.8.3-r3.ebuild b/net-proxy/tinyproxy/tinyproxy-1.8.3-r4.ebuild
similarity index 90%
rename from net-proxy/tinyproxy/tinyproxy-1.8.3-r3.ebuild
rename to net-proxy/tinyproxy/tinyproxy-1.8.3-r4.ebuild
index f31cf7d3f297..ac0b0c771d7f 100644
--- a/net-proxy/tinyproxy/tinyproxy-1.8.3-r3.ebuild
+++ b/net-proxy/tinyproxy/tinyproxy-1.8.3-r4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="5"
+EAPI=6
 
-inherit autotools eutils systemd user
+inherit autotools systemd user
 
 DESCRIPTION="A lightweight HTTP/SSL proxy"
 HOMEPAGE="http://www.banu.com/tinyproxy/"
@@ -27,8 +27,10 @@ pkg_setup() {
 }
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PN}-1.8.1-ldflags.patch
-	epatch "${FILESDIR}"/${P}-r2-DoS-Prevention.patch
+	default
+
+	eapply "${FILESDIR}"/${PN}-1.8.1-ldflags.patch
+	eapply "${FILESDIR}"/${P}-r2-DoS-Prevention.patch
 
 	use minimal && epatch "${FILESDIR}/${PN}-1.8.1-minimal.patch"
 
diff --git a/net-proxy/wwwoffle/files/wwwoffle-online.initd b/net-proxy/wwwoffle/files/wwwoffle-online.initd
index 780708a5ea6a..82fc7309adbb 100644
--- a/net-proxy/wwwoffle/files/wwwoffle-online.initd
+++ b/net-proxy/wwwoffle/files/wwwoffle-online.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/wwwoffle/files/wwwoffle.initd b/net-proxy/wwwoffle/files/wwwoffle.initd
index 8aa6e104036d..7feca3049d74 100644
--- a/net-proxy/wwwoffle/files/wwwoffle.initd
+++ b/net-proxy/wwwoffle/files/wwwoffle.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/wwwoffle/wwwoffle-2.9i.ebuild b/net-proxy/wwwoffle/wwwoffle-2.9i-r1.ebuild
similarity index 97%
rename from net-proxy/wwwoffle/wwwoffle-2.9i.ebuild
rename to net-proxy/wwwoffle/wwwoffle-2.9i-r1.ebuild
index 18b187a62da7..d84b479c5744 100644
--- a/net-proxy/wwwoffle/wwwoffle-2.9i.ebuild
+++ b/net-proxy/wwwoffle/wwwoffle-2.9i-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=4
+EAPI=6
 inherit eutils user
 
 DESCRIPTION="Web caching proxy suitable for non-permanent Internet connections"
@@ -23,10 +23,11 @@ DEPEND="dev-lang/perl
 # Unsure whether to depend on >=www-misc/htdig-3.1.6-r4 or not
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PN}-2.9i-define.patch
+	eapply "${FILESDIR}"/${PN}-2.9i-define.patch
 	sed -i cache/Makefile.in \
 		-e 's#$(TAR) xpf #$(TAR) --no-same-owner -xpf #' \
 		|| die
+	default
 }
 
 src_configure() {
diff --git a/net-proxy/ziproxy/files/ziproxy.initd b/net-proxy/ziproxy/files/ziproxy.initd
deleted file mode 100644
index 6b0cb89bce32..000000000000
--- a/net-proxy/ziproxy/files/ziproxy.initd
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-depend() {
-	need net
-}
-
-start() {
-	local OPT="-d"
-	ebegin "Starting ${SVCNAME}"
-
-	[ -n "${CONFIG}"   ] && OPT="${OPT} -c ${CONFIG}"
-	[ -n "${ONLYFROM}" ] && OPT="${OPT} -f ${ONLYFROM}"
-
-	start-stop-daemon --start --pidfile /var/run/${SVCNAME}.pid \
-		--chuid ziproxy:ziproxy --exec /usr/sbin/ziproxy -- ${OPT} > /var/run/${SVCNAME}.pid
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping ${SVCNAME}"
-	start-stop-daemon --stop --quiet --pidfile /var/run/${SVCNAME}.pid
-	eend $?
-}
diff --git a/net-proxy/ziproxy/files/ziproxy.initd-r1 b/net-proxy/ziproxy/files/ziproxy.initd-r1
index dae95513ea70..f552307586fa 100644
--- a/net-proxy/ziproxy/files/ziproxy.initd-r1
+++ b/net-proxy/ziproxy/files/ziproxy.initd-r1
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2015 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-proxy/ziproxy/ziproxy-3.3.1.ebuild b/net-proxy/ziproxy/ziproxy-3.3.1-r1.ebuild
similarity index 96%
rename from net-proxy/ziproxy/ziproxy-3.3.1.ebuild
rename to net-proxy/ziproxy/ziproxy-3.3.1-r1.ebuild
index 56c5c78c93a3..6ebbbf477c94 100644
--- a/net-proxy/ziproxy/ziproxy-3.3.1.ebuild
+++ b/net-proxy/ziproxy/ziproxy-3.3.1-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 inherit user
 
 DESCRIPTION="A forwarding, non-caching, compressing web proxy server"
@@ -33,6 +33,8 @@ pkg_setup() {
 }
 
 src_prepare() {
+	default
+
 	# fix sample config file
 	sed -i \
 		-e "s:/var/ziproxy/:/var/lib/ziproxy/:g" \
diff --git a/net-voip/gnugk/files/gnugk.rc6 b/net-voip/gnugk/files/gnugk.rc6
index 886534f7916c..5bfe1170961c 100644
--- a/net-voip/gnugk/files/gnugk.rc6
+++ b/net-voip/gnugk/files/gnugk.rc6
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-voip/gnugk/gnugk-3.4.ebuild b/net-voip/gnugk/gnugk-3.4-r1.ebuild
similarity index 91%
rename from net-voip/gnugk/gnugk-3.4.ebuild
rename to net-voip/gnugk/gnugk-3.4-r1.ebuild
index 1ca38ee1a07c..de164c68e3ca 100644
--- a/net-voip/gnugk/gnugk-3.4.ebuild
+++ b/net-voip/gnugk/gnugk-3.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI="5"
+EAPI="6"
 
-inherit eutils versionator
+inherit versionator
 
 MY_P1=${PN}-$(replace_version_separator 2 -)
 MY_P2=${PN}-$(get_version_component_range 1-2)
@@ -40,9 +40,11 @@ DEPEND="${RDEPEND}
 S=${WORKDIR}/${MY_P2}
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PN}-3.4-ptrace.patch
-	epatch "${FILESDIR}"/${PN}-3.2.2-h323plus-buildopts.patch
-	epatch "${FILESDIR}"/${PN}-3.2.2-lua.cxx-toolkit_h.patch
+	eapply -p1 "${FILESDIR}"/${PN}-3.4-ptrace.patch
+	eapply "${FILESDIR}"/${PN}-3.2.2-h323plus-buildopts.patch
+	eapply "${FILESDIR}"/${PN}-3.2.2-lua.cxx-toolkit_h.patch
+
+	default
 }
 
 # TODO: investigate possible ebuild conversion to use cmake
diff --git a/net-voip/openmcu/files/openmcu.confd b/net-voip/openmcu/files/openmcu.confd
index ad54babfabce..4ec485757e78 100644
--- a/net-voip/openmcu/files/openmcu.confd
+++ b/net-voip/openmcu/files/openmcu.confd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#/etc/conf.d/openmcu.confd
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-voip/openmcu/files/openmcu.rc6 b/net-voip/openmcu/files/openmcu.rc6
index 444d5bbe793b..70f16736e43f 100644
--- a/net-voip/openmcu/files/openmcu.rc6
+++ b/net-voip/openmcu/files/openmcu.rc6
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-voip/openmcu/openmcu-2.2.5.ebuild b/net-voip/openmcu/openmcu-2.2.5-r1.ebuild
similarity index 92%
rename from net-voip/openmcu/openmcu-2.2.5.ebuild
rename to net-voip/openmcu/openmcu-2.2.5-r1.ebuild
index d67e71073608..458afbe26215 100644
--- a/net-voip/openmcu/openmcu-2.2.5.ebuild
+++ b/net-voip/openmcu/openmcu-2.2.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
-inherit eutils user
+inherit user
 
 MY_PN=h323plus-app
 MY_PV=1_23_0
@@ -25,7 +25,9 @@ S=${WORKDIR}/applications/${PN}
 
 src_prepare() {
 	# set path for various files
-	epatch "${FILESDIR}"/${PN}-2.2.1-path.patch
+	eapply "${FILESDIR}"/${PN}-2.2.1-path.patch
+
+	default
 }
 
 src_compile() {
diff --git a/net-wireless/chillispot/chillispot-1.1.0.ebuild b/net-wireless/chillispot/chillispot-1.1.0-r1.ebuild
similarity index 70%
rename from net-wireless/chillispot/chillispot-1.1.0.ebuild
rename to net-wireless/chillispot/chillispot-1.1.0-r1.ebuild
index dfad34356932..f877ba952a73 100644
--- a/net-wireless/chillispot/chillispot-1.1.0.ebuild
+++ b/net-wireless/chillispot/chillispot-1.1.0-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-inherit eutils
+EAPI=6
 
 DESCRIPTION="open source captive portal or wireless LAN access point controller"
 HOMEPAGE="http://www.chillispot.info/"
@@ -16,19 +16,19 @@ IUSE=""
 DEPEND=">=sys-apps/sed-4"
 RDEPEND=""
 
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
+src_prepare() {
 	chmod 644 doc/*.conf
 	find . -exec chmod go-w '{}' \;
 
-	epatch "${FILESDIR}"/${P}-gcc44.patch
+	eapply "${FILESDIR}"/${P}-gcc44.patch
+
+	default
 }
 
 src_install() {
-	emake DESTDIR="${D}" STRIPPROG=true install || die "emake install failed"
+	emake DESTDIR="${D}" STRIPPROG=true install
 	cd doc && dodoc chilli.conf freeradius.users hotspotlogin.cgi firewall.iptables
 
 	# init script provided by Michele Beltrame bug #124698
-	newinitd "${FILESDIR}"/${PN} ${PN} || die
+	doinitd "${FILESDIR}"/${PN}
 }
diff --git a/net-wireless/chillispot/files/chillispot b/net-wireless/chillispot/files/chillispot
index 9c6b6cb7663e..dd2d8c4cc4ea 100644
--- a/net-wireless/chillispot/files/chillispot
+++ b/net-wireless/chillispot/files/chillispot
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/net-wireless/irda-utils/files/irda.initd b/net-wireless/irda-utils/files/irda.initd
index c515d12356e7..055860ea5a6d 100644
--- a/net-wireless/irda-utils/files/irda.initd
+++ b/net-wireless/irda-utils/files/irda.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2008 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License, v2
 # $Id$
 
diff --git a/net-wireless/irda-utils/irda-utils-0.9.18-r5.ebuild b/net-wireless/irda-utils/irda-utils-0.9.18-r6.ebuild
similarity index 100%
rename from net-wireless/irda-utils/irda-utils-0.9.18-r5.ebuild
rename to net-wireless/irda-utils/irda-utils-0.9.18-r6.ebuild
diff --git a/profiles/package.mask b/profiles/package.mask
index 38961f783cfc..b0c06a9390b2 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -38,15 +38,6 @@
 # Broken reverse deps. At least one header file has been moved around.
 >=media-gfx/imagemagick-7.0.1.0
 
-# Lars Wendler  (1 May 2016)
-# Broken custom makefile in x11-drivers/xf86-video-virtualbox
-# Fails to compile since version 5.0.18. No soluton yet. This is a Gentoo
-# problem so no chance to get a solution from upstream (bug #580600).
-# Masked app-emulation/virtualbox-guest-additions as well as it depends on
-# the broken package.
->=app-emulation/virtualbox-guest-additions-5.0.18
->=x11-drivers/xf86-video-virtualbox-5.0.18
-
 # Rafael G. Martins  (30 Apr 2016)
 # Packages merged upstream with app-text/blogc. Please install
 # app-text/blogc with USE=git and USE=httpd instead. Removal in 30 days.
@@ -198,11 +189,6 @@ dev-java/spring-instrument
 # for questions.
 <=media-gfx/slic3r-1.1.9999
 
-# Michael Sterrett  (02 Apr 2016)
-# Doesn't work with latest dev-lang/ocaml; dead upstream
-# Masked for removal on 20160502
-games-simulation/planets
-
 # Patrick Lauer (30 Mar 2015)
 # Segfaults when creating directories #578582
 =sys-apps/sandbox-2.11*
diff --git a/profiles/use.local.desc b/profiles/use.local.desc
index a04423f38227..4a88cb5daef3 100644
--- a/profiles/use.local.desc
+++ b/profiles/use.local.desc
@@ -2672,6 +2672,13 @@ dev-util/cwdiff:a2ps - install app-text/a2ps for postscript output
 dev-util/cwdiff:mercurial - install hg wdiff alias for dev-vcs/mercurial
 dev-util/devhelp:gedit - Install plugin for app-editors/gedit
 dev-util/dialog:minimal - Disable library, install command-line program only
+dev-util/electron:gtk3 - Use gtk3 instead of gtk2
+dev-util/electron:hidpi - Enable support for high-resolution screens (high dots per inch)
+dev-util/electron:lto - Build with link time optimization enabled
+dev-util/electron:pic - Disable optimized assembly code that is not PIC friendly
+dev-util/electron:proprietary-codecs - Enable proprietary codecs like H.264, MP3
+dev-util/electron:system-ffmpeg - Use system ffmpeg instead of the bundled one
+dev-util/electron:tcmalloc - Use bundled tcmalloc instead of system malloc
 dev-util/emilpro:system-binutils - Use the gentoo binutils instead of building against an unpatched vanilla version
 dev-util/fatrace:powertop - Add powetop integration
 dev-util/geany:gtk3 - Use GTK+3 instead of GTK+2
@@ -2865,6 +2872,7 @@ games-arcade/performous:midi - Enable MIDI I/O support
 games-arcade/performous:songs - Install a few demo songs
 games-arcade/performous:tools - Install tools
 games-arcade/performous:webcam - Enable Webcam support
+games-arcade/savagewheels:fmod - Enable the fmod music and sound effects library
 games-arcade/slimevolley:net - Enable network support
 games-arcade/smc:music - Download and install the music files
 games-arcade/tuxanci:physfs - Use dev-games/physfs instead of dev-libs/libzip to load compressed data
@@ -4290,7 +4298,8 @@ media-sound/cantata:http-server - Enable internal HTTP server to play non-MPD fi
 media-sound/cantata:online-services - Enable support for online services (Jamendo, Magnatune, SoundCloud, and Podcasts)
 media-sound/cantata:replaygain - Enable ReplayGain support, for relative volume adjustments
 media-sound/cantata:streams - Enable support for streams tab (to save favourite streams, and search for others)
-media-sound/clementine:box - Enable Box support
+media-sound/clementine:amazoncloud - Enable Amazon cloud drive support
+media-sound/clementine:box - Enable filesharing via Box.com
 media-sound/clementine:dropbox - Enable Dropbox support
 media-sound/clementine:googledrive - Enable Google Drive support
 media-sound/clementine:lastfm - Use liblastfm for fetching song info, scrobbling and radio streams
@@ -4299,6 +4308,7 @@ media-sound/clementine:projectm - Build with ProjectM visualization
 media-sound/clementine:skydrive - Enable Skydrive support
 media-sound/clementine:system-sqlite - Use the system-wide dev-db/sqlite installation
 media-sound/clementine:ubuntu-one - Enable Ubuntu One support
+media-sound/clementine:vkontakte - Enable vk.com support
 media-sound/clementine:wiimote - Enable support for Wii remote
 media-sound/cmus:cdio - use libcdio for CD support
 media-sound/cmus:cue - enable CUE sheet parsing
@@ -5730,6 +5740,13 @@ net-libs/libssh:ssh1 - Build with SSH1 support
 net-libs/libssh2:gcrypt - Use dev-libs/libgcrypt instead of dev-libs/openssl
 net-libs/libvncserver:24bpp - enable 24bpp support
 net-libs/libvncserver:gcrypt - enable support for gcrypt
+net-libs/libwebsockets:client - The client part of the library
+net-libs/libwebsockets:http2 - Compile with support for http2
+net-libs/libwebsockets:ipv6 - Compile with support for ipv6
+net-libs/libwebsockets:server - The server part of the library
+net-libs/libwebsockets:ssl - Include SSL support (default dev-libs/openssl)
+net-libs/libwebsockets:static-libs - Build the static version of the library
+net-libs/libwebsockets:zlib - Include zlib support
 net-libs/loudmouth:asyncns - Use net-libs/libasyncns for asynchronous name resolution.
 net-libs/loudmouth:openssl - Enable dev-libs/openssl support instead of gnutls (which is the default).
 net-libs/mbedtls:havege - Enable the HAVEGE random generator. Warning: the HAVEGE random generator is not suitable for virtualized environments
diff --git a/sci-electronics/plcedit/metadata.xml b/sci-electronics/plcedit/metadata.xml
index 21d11cd80ad2..18e140956483 100644
--- a/sci-electronics/plcedit/metadata.xml
+++ b/sci-electronics/plcedit/metadata.xml
@@ -1,14 +1,8 @@
 
 
 
-
-hwoarang@gentoo.org
-Markos Chandras
-
-
-qt@gentoo.org
-Gentoo Qt Project
-
-
-
+	
+		hwoarang@gentoo.org
+		Markos Chandras
+	
 
diff --git a/sci-mathematics/cgal/Manifest b/sci-mathematics/cgal/Manifest
index 370bd04a20ad..2e114da0b199 100644
--- a/sci-mathematics/cgal/Manifest
+++ b/sci-mathematics/cgal/Manifest
@@ -4,3 +4,5 @@ DIST CGAL-4.6.1-doc_html-1.tar.xz 22890352 SHA256 d7259defe9980fa0d333d55050902a
 DIST CGAL-4.6.1.tar.xz 12014652 SHA256 33bd82871ccbaf16dc509f78f3f91dd35d44197cad64bffa63a1671a1812351a SHA512 4227ea03c23f3858a47e0559bc0a3df34e447e18e2b053048378c479b9b7fa2a157cf9aa546d7659a1d4d640218944fe1104a21769144cdfdc8a5144299f4b61 WHIRLPOOL 309deea6268d036b14796b411a7dcdbe75433a6d5eb2296387b05f2957e538cce6e6fe0b23be3921a500eae74db954058ed57aeef8759e44f4038d2fbab884f7
 DIST cgal-4.7-doc_html-1.tar.xz 25248068 SHA256 2a15a16229dd90f991ea976761c8ae3c1f9e09f4023bb4446629c3b948a3b9bd SHA512 7542d1937c8cd8cfd174aa67b74b1e242c1dbbd40ca772eb0b7bdc80a947f0851222b10d098193b5c2cab1fe3f32cd40ab2555248bd99b7a29c296df288dabf7 WHIRLPOOL f7657994ffa71e4c5f30b75060cd87fc46686b5d2e1a05012b36a0c0f2a6b2ddcf40b9fb1ae038c69e3f363d12e92acf6455c2ad2838567d3a1cc31dd4722c54
 DIST cgal-4.7.tar.xz 13673360 SHA256 50bd0a1cad7a8957b09012f831eebaf7d670e2a3467e8f365ec0c71fa5436369 SHA512 8126e861fb091a21a0eaf777205d5d688a0d33f005b91c85b2e5fb91afa66796611ec8a314647a322141169483ab8ff0dba769840bf4fb0f4397cf167172b21f WHIRLPOOL 6f1b0c9855161c0841faf1022742fd09157d5605fb5d5046d2b3bde1f1027b3ee6813ac631fb981f026239e0027434102c16d25b1dfda8619c571adc8639a921
+DIST cgal-4.8-doc_html-1.tar.xz 25996928 SHA256 27e63a868d6103fbedf43d4adf518de94dd8209d65e352aa60b8773a0e3ee1a2 SHA512 f2363b3a21065b079ee192235cfeac66e87466a5f9646b33cf880f12ea646f87caf957dafd1d22199d5414f0ee378e540db42617641b4627106490ed33f21a80 WHIRLPOOL 34e830e0aad057108d9cb16cc12db0a1477351e866ae50b9af5d268b74bc15037c306f869c3f76406c8d8fa88192e3c5471517806589691b8b6502d8a306326f
+DIST cgal-4.8.tar.xz 13509916 SHA256 2483ccf34ae41e830a3e33f2f471aadecf43316fb56bf632e403765ad035ce25 SHA512 9640ba855b968f812876a694502c678737046d1c5ed30c766ceba7ae91ca2731d07b31841aa62c6817b0bacbd36f3bf492f71e0a709ef56cab7ad66ffbfee8d5 WHIRLPOOL 7747ef95005c2f93cef7442becc5a1e6209ad04b9d45ff187b919ea7f3cadf8087634865e177aa2129bb6d8ff054859197d76234b7f55a636eee6fe1dc7dbfce
diff --git a/sci-mathematics/cgal/cgal-4.8.ebuild b/sci-mathematics/cgal/cgal-4.8.ebuild
new file mode 100644
index 000000000000..ddcc1e36d3e9
--- /dev/null
+++ b/sci-mathematics/cgal/cgal-4.8.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils flag-o-matic
+
+MY_P=CGAL-${PV}
+
+DESCRIPTION="C++ library for geometric algorithms and data structures"
+HOMEPAGE="http://www.cgal.org/"
+SRC_URI="
+	https://github.com/CGAL/cgal/releases/download/releases%2F${MY_P}/${MY_P}.tar.xz -> ${P}.tar.xz
+	doc? ( https://github.com/CGAL/cgal/releases/download/releases%2F${MY_P}/${MY_P}-doc_html.tar.xz -> ${P}-doc_html-1.tar.xz )"
+
+LICENSE="LGPL-3 GPL-3 Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples +gmp mpfi ntl qt5"
+
+RDEPEND="
+	>=dev-cpp/eigen-3.1
+	dev-libs/boost:=
+	dev-libs/mpfr:0
+	sys-libs/zlib
+	x11-libs/libX11
+	virtual/glu
+	virtual/opengl
+	gmp? ( dev-libs/gmp[cxx] )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtopengl:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+	)
+	mpfi? ( sci-libs/mpfi )
+	ntl? ( dev-libs/ntl )"
+DEPEND="${RDEPEND}
+	app-arch/xz-utils
+	virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=(
+	"${FILESDIR}/${PN}-4.7-fix-buildsystem.patch"
+)
+
+src_prepare() {
+	cmake-utils_src_prepare
+	# modules provided by dev-util/cmake and dev-cpp/eigen
+	rm cmake/modules/Find{Eigen3,GLEW,OpenGL}.cmake || die
+	sed \
+		-e '/install(FILES AUTHORS/d' \
+		-i CMakeLists.txt || die
+
+	# use C++11 threads instead of boost::thread
+	append-cxxflags -std=c++11
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DCGAL_INSTALL_LIB_DIR=$(get_libdir)
+		-DCGAL_INSTALL_CMAKE_DIR="${EPREFIX}/usr/share/cmake/Modules/"
+		-DWITH_CGAL_Qt3=OFF
+		-DWITH_LEDA=OFF
+		-DWITH_Eigen3=ON
+		-DWITH_ZLIB=ON
+		-DWITH_GMP="$(usex gmp)"
+		-DWITH_GMPXX="$(usex gmp)"
+		-DWITH_CGAL_Qt5="$(usex qt5)"
+		-DWITH_MPFI="$(usex mpfi)"
+		-DWITH_NTL="$(usex ntl)"
+	)
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+	if use examples; then
+		dodoc -r examples demo
+	fi
+	if use doc; then
+		docinto html/
+		dodoc -r "${WORKDIR}"/doc_html/*
+	fi
+}
diff --git a/sci-mathematics/coq/coq-8.5_p1.ebuild b/sci-mathematics/coq/coq-8.5_p1.ebuild
index 1dffb390cc78..b1cc46702a3b 100644
--- a/sci-mathematics/coq/coq-8.5_p1.ebuild
+++ b/sci-mathematics/coq/coq-8.5_p1.ebuild
@@ -39,6 +39,7 @@ S=${WORKDIR}/${MY_P}
 src_prepare() {
 	epatch "${FILESDIR}/${PN}-8.5-do-not-install-revision.patch"
 	epatch "${FILESDIR}/${PN}-8.4_p5-no-clean-before-test.patch"
+	has_version '>=dev-lang/ocaml-4.03' && epatch "${FILESDIR}/oc43.patch"
 }
 
 src_configure() {
diff --git a/sci-mathematics/coq/files/oc43.patch b/sci-mathematics/coq/files/oc43.patch
new file mode 100644
index 000000000000..47fa10ab575e
--- /dev/null
+++ b/sci-mathematics/coq/files/oc43.patch
@@ -0,0 +1,13 @@
+Index: coq-8.5pl1/Makefile.common
+===================================================================
+--- coq-8.5pl1.orig/Makefile.common
++++ coq-8.5pl1/Makefile.common
+@@ -231,7 +231,7 @@ endif
+ LINKCMO:=$(CORECMA) $(STATICPLUGINS)
+ LINKCMX:=$(CORECMA:.cma=.cmxa) $(STATICPLUGINS:.cma=.cmxa)
+ 
+-IDEDEPS:=lib/clib.cma lib/xml_lexer.cmo lib/xml_parser.cmo lib/xml_printer.cmo lib/errors.cmo lib/spawn.cmo
++IDEDEPS:=lib/clib.cma lib/errors.cmo lib/spawn.cmo
+ IDECMA:=ide/ide.cma
+ IDETOPLOOPCMA=ide/coqidetop.cma
+ 
diff --git a/sys-apps/gentoo-functions/Manifest b/sys-apps/gentoo-functions/Manifest
index 39f521a81274..3a1aea6d8119 100644
--- a/sys-apps/gentoo-functions/Manifest
+++ b/sys-apps/gentoo-functions/Manifest
@@ -1,3 +1 @@
-DIST consoletype-1.0.sh 616 SHA256 b6f837be496024941b81402e6c11300eb4a53987368c5c6d9afb5fd8b1c34d28 SHA512 ab6edd0035ad2ac855bc7b94679a78aad63f647b906dfda39a9844b676e6cdfc872fd1fc897f6158a5709906905a4da5ce8b4665f9e2bc0bcd1e88bb9ecace07 WHIRLPOOL b2d5f13e7411d8e6b5c4dae875041a95bed3ed7b20e765971b86fd16b1a970e8ad10288683d2efa530ef8568c6c58a07f9fc5a4a1b6b00ee6ed731da90e472ed
 DIST gentoo-functions-0.10.tar.gz 11432 SHA256 709c8b22f404001a512e47a7a4d3192070b3e150fb9d0f943de09736d665b0db SHA512 2622cede032089c7b8a2dec576e848852f9964e0198ab161f0ff5c426c542d0849bd3d30a40c296805bfec90b533c419df43c7975ed85678471483c827ca4cdb WHIRLPOOL 6559c62083eca8a016f005d1003c8a0b6e2c89836c130cec9e0a40575e1604039f669313547c63f6cf84f1a40cdd7249d227c6f0b57f282764df8d20ef239051
-DIST gentoo-functions-0.8.tar.bz2 10647 SHA256 89dc0a3289a2e3312efb560e904add13ececdd5eb554151cb30d0b96f1bd8116 SHA512 34f04f5e7ecd888197b6486c131c346a84a6937501f68a54481ec3caacaee86e54345a6c34364a5953c55b1d4aeb4ca2173b70864cdd7b81e74964352132b322 WHIRLPOOL 6ba223987953fa1dd80b79590c5f72ab8b5d0eca47cc1df23559e295f03faa369a372e5c27ed47d19d605dfe072c22c7702f3d4443a8ea2489d25092274670f3
diff --git a/sys-apps/gentoo-functions/gentoo-functions-0.10.ebuild b/sys-apps/gentoo-functions/gentoo-functions-0.10.ebuild
index 304a38592eb3..253788b6c1b7 100644
--- a/sys-apps/gentoo-functions/gentoo-functions-0.10.ebuild
+++ b/sys-apps/gentoo-functions/gentoo-functions-0.10.ebuild
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
 	EGIT_REPO_URI="git://github.com/gentoo/${PN}.git"
 else
 	SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-	KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+	KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
 fi
 
 inherit toolchain-funcs flag-o-matic
diff --git a/sys-apps/gentoo-functions/gentoo-functions-0.8.ebuild b/sys-apps/gentoo-functions/gentoo-functions-0.8.ebuild
deleted file mode 100644
index 272a37ce7478..000000000000
--- a/sys-apps/gentoo-functions/gentoo-functions-0.8.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-if [[ ${PV} = 9999* ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="git://github.com/gentoo/${PN}.git"
-else
-	SRC_URI="https://dev.gentoo.org/~williamh/dist/${P}.tar.bz2
-	prefix? ( https://dev.gentoo.org/~grobian/distfiles/consoletype-1.0.sh )"
-	KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-fi
-
-inherit toolchain-funcs
-
-DESCRIPTION="base functions required by all gentoo systems"
-HOMEPAGE="https://www.gentoo.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-src_prepare() {
-	tc-export CC
-
-	# in prefix, use shell script, for the C-code doesn't compile
-	use prefix && cp "${DISTDIR}"/consoletype-1.0.sh consoletype
-}
-
-src_install() {
-	emake install DESTDIR="${ED}"
-}
diff --git a/sys-apps/paludis/Manifest b/sys-apps/paludis/Manifest
index 3c4e861741be..a6c2d0758400 100644
--- a/sys-apps/paludis/Manifest
+++ b/sys-apps/paludis/Manifest
@@ -3,3 +3,4 @@ DIST paludis-2.0.0.tar.bz2 1787616 SHA256 9e635d86e655658d31adde5813f5fcad2982b5
 DIST paludis-2.2.0.tar.bz2 1786405 SHA256 0b0bcb14a6539874d274c72e6a7b9825aa80fa083c2b61e1d5b14daf24829346 SHA512 9b4dd4613ec31683021d6fc5b5eb094024ceada47c41e09d1f0cb86f1de5b621869756401ba14ec0ec5f5dd20a5f8bf5b596c3891724bb9c245400b5fef4961f WHIRLPOOL 9cd602561b38e1bb6fc3d9baa5452c63a394c1e51faf299d8d1e82dad9a53969f14be542dac3f90974fcdf08c16c267cfdf45273c5244f378f9a2b7b6288bd97
 DIST paludis-2.4.0.tar.bz2 1787689 SHA256 f47b4bb5503dc127022453b15ca811dec22ee2f04c3c3b76ed1c5a83dbe1af1f SHA512 5fbb15d2285c892fdf19288b8838c51ec2439817a9abc685b8692ff4a3ddf76632d3ab51b2e0298c8eacf00f8b00f4e66b47b34db12844cd4eb77cbfb87ca32e WHIRLPOOL d9dc107886b8bf09bb203704d559dd030190b8390607964578c3f2e10a5c5cd4400146ffed894a968143761fc8149796d37597274b34b8414133b26c7252345b
 DIST paludis-2.4.0_p20160112.tar.xz 1296724 SHA256 2b209337b6a4667ffe8b3db431a88314b3b224cf0f9d57a6d4fdd8c2c00f4b19 SHA512 898853bf75e60dcfcb8aca7e45da3b7eeec2bb119db5b77a12e876282abe936bb3064bf52c27b7a7a949ab0865e7fbbfea78dc66408a09d00a02e1a2069153ae WHIRLPOOL 5167ad0d234f874ef304e0725ea78517c7bcd2e0ef09b5e8ac6b6cf4213fcbccd3b6057caf89274ed67bfd7b35efa0f33fc82d479f5b5f31937a0b7c48c37777
+DIST paludis-2.6.0.tar.bz2 1885055 SHA256 bde018c89fce95c2cc793d9171e5a51748ad682d06f839fab394e233257aaf4c SHA512 78a9c0a19703dbbc07934de389b749ab83365454e29b19c323d6c03304162e35ff4d92f7ac1f28067ad853057f2422be43418b3c6a57a193c4b8dd5a4e81eba4 WHIRLPOOL dc4f4ecad0ccbb4b8e6b1b4d0a2c71772b5be244f09dc5456fe42d5510b6b7432ca087f99ae86b2bbbd05b18f70a15371dca1193ead556751faffd01ef227dd6
diff --git a/sys-apps/paludis/paludis-2.6.0.ebuild b/sys-apps/paludis/paludis-2.6.0.ebuild
new file mode 100644
index 000000000000..4bff156f99e2
--- /dev/null
+++ b/sys-apps/paludis/paludis-2.6.0.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+# matching profile defaults for now
+RUBY_VER=2.1
+
+inherit bash-completion-r1 eutils python-single-r1 user
+
+DESCRIPTION="paludis, the other package mangler"
+HOMEPAGE="http://paludis.exherbo.org/"
+SRC_URI="http://paludis.exherbo.org/download/${P}.tar.bz2"
+
+IUSE="doc pbins pink python ruby search-index test +xml"
+LICENSE="GPL-2 vim"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+COMMON_DEPEND="
+	>=app-admin/eselect-1.2.13
+	>=app-shells/bash-3.2:0
+	dev-libs/libpcre[cxx]
+	sys-apps/file
+	pbins? ( >=app-arch/libarchive-3.1.2 )
+	python? (
+		${PYTHON_DEPS}
+		>=dev-libs/boost-1.41.0[python,${PYTHON_USEDEP}] )
+	ruby? ( dev-lang/ruby:${RUBY_VER} )
+	search-index? ( >=dev-db/sqlite-3 )
+	xml? ( >=dev-libs/libxml2-2.6 )"
+
+DEPEND="${COMMON_DEPEND}
+	>=app-text/asciidoc-8.6.3
+	app-text/htmltidy
+	app-text/xmlto
+	>=sys-devel/gcc-4.7
+	doc? (
+		app-doc/doxygen
+		python? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+		ruby? ( dev-ruby/syntax[ruby_targets_ruby${RUBY_VER/./}] )
+	)
+	virtual/pkgconfig
+	test? ( >=dev-cpp/gtest-1.6.0-r1 )"
+
+RDEPEND="${COMMON_DEPEND}
+	sys-apps/sandbox"
+
+PDEPEND="app-eselect/eselect-package-manager"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != buildonly ]]; then
+		if id paludisbuild >/dev/null 2>/dev/null ; then
+			if ! groups paludisbuild | grep --quiet '\' ; then
+				eerror "The 'paludisbuild' user is now expected to be a member of the"
+				eerror "'tty' group. You should add the user to this group before"
+				eerror "upgrading Paludis."
+				die "Please add paludisbuild to tty group"
+			fi
+		fi
+	fi
+}
+
+pkg_setup() {
+	enewgroup "paludisbuild"
+	enewuser "paludisbuild" -1 -1 "/var/tmp/paludis" "paludisbuild,tty"
+
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# Fix the script shebang on Ruby scripts.
+	# https://bugs.gentoo.org/show_bug.cgi?id=439372#c2
+	sed -i -e "1s/ruby/&${RUBY_VER/./}/" ruby/demos/*.rb || die
+
+	epatch_user
+}
+
+src_configure() {
+	local myconf=(
+		--htmldir=/usr/share/doc/${PF}/html
+
+		$(use_enable doc doxygen)
+		$(use_enable test gtest)
+		$(use_enable pbins)
+		$(use_enable pink)
+		$(use_enable python)
+		$(use python && use_enable doc python-doc)
+		$(use_enable ruby)
+		$(use ruby && use_enable doc ruby-doc)
+		--with-ruby-version="${RUBY_VER}"
+		$(use_enable search-index)
+		$(use_enable xml)
+
+		--enable-vim
+		--with-config-framework=eselect
+		--with-environments=default,portage
+		--with-vim-install-dir=/usr/share/vim/vimfiles
+	)
+
+	econf "${myconf[@]}"
+}
+
+src_install() {
+	default
+	prune_libtool_files
+
+	dobashcomp bash-completion/cave
+
+	insinto /usr/share/zsh/site-functions
+	doins zsh-completion/_cave
+}
+
+src_test() {
+	# Work around Portage bugs
+	local -x PALUDIS_DO_NOTHING_SANDBOXY="portage sucks"
+	local -x BASH_ENV=/dev/null
+
+	if [[ ${EUID} == 0 ]] ; then
+		# hate
+		local -x PALUDIS_REDUCED_UID=0
+		local -x PALUDIS_REDUCED_GID=0
+	fi
+
+	if ! nonfatal emake -k check ; then
+		eerror "Tests failed. Looking for files for you to add to your bug report..."
+		find "${S}" -type f -name '*.epicfail' -or -name '*.log' | while read a ; do
+			eerror "    $a"
+		done
+		die "Make check failed"
+	fi
+}
+
+pkg_postinst() {
+	local pm
+	if [[ -f ${ROOT}/etc/env.d/50package-manager ]] ; then
+		pm=$( source "${ROOT}"/etc/env.d/50package-manager ; echo "${PACKAGE_MANAGER}" )
+	fi
+
+	if [[ ${pm} != paludis ]] ; then
+		elog "If you are using paludis or cave as your primary package manager,"
+		elog "you should consider running:"
+		elog "    eselect package-manager set paludis"
+	fi
+}
diff --git a/sys-apps/paludis/paludis-9999.ebuild b/sys-apps/paludis/paludis-9999.ebuild
index d61f74ae79cb..ef50c66b0c2c 100644
--- a/sys-apps/paludis/paludis-9999.ebuild
+++ b/sys-apps/paludis/paludis-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -7,7 +7,7 @@ EAPI=5
 EGIT_REPO_URI='git://git.exherbo.org/paludis/paludis.git'
 PYTHON_COMPAT=( python2_7 )
 # matching profile defaults for now
-RUBY_VER=2.0
+RUBY_VER=2.1
 
 inherit autotools bash-completion-r1 eutils git-r3 python-single-r1 user
 
@@ -22,7 +22,7 @@ KEYWORDS=""
 
 COMMON_DEPEND="
 	>=app-admin/eselect-1.2.13
-	>=app-shells/bash-3.2
+	>=app-shells/bash-3.2:0
 	dev-libs/libpcre[cxx]
 	sys-apps/file
 	pbins? ( >=app-arch/libarchive-3.1.2 )
@@ -39,11 +39,8 @@ DEPEND="${COMMON_DEPEND}
 	app-text/xmlto
 	>=sys-devel/gcc-4.7
 	doc? (
-		|| (
-			>=app-doc/doxygen-1.5.3
-			<=app-doc/doxygen-1.5.1 )
-		python? (
-		dev-python/sphinx[${PYTHON_USEDEP}] )
+		app-doc/doxygen
+		python? ( dev-python/sphinx[${PYTHON_USEDEP}] )
 		ruby? ( dev-ruby/syntax[ruby_targets_ruby${RUBY_VER/./}] )
 	)
 	virtual/pkgconfig
diff --git a/sys-auth/consolekit/files/consolekit-0.2.rc b/sys-auth/consolekit/files/consolekit-0.2.rc
index 63eeefd84cfc..707f85172135 100644
--- a/sys-auth/consolekit/files/consolekit-0.2.rc
+++ b/sys-auth/consolekit/files/consolekit-0.2.rc
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2011 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License, v2 or later
 # $Id$
 
diff --git a/sys-auth/consolekit/files/consolekit-1.0.0.initd b/sys-auth/consolekit/files/consolekit-1.0.0.initd
index e84a2e0cebc1..57ebfbe7843a 100644
--- a/sys-auth/consolekit/files/consolekit-1.0.0.initd
+++ b/sys-auth/consolekit/files/consolekit-1.0.0.initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2015 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License, v2 or later
 # $Id$
 
diff --git a/sys-fs/fuse/Manifest b/sys-fs/fuse/Manifest
index 73fdeb9cf1e0..e6ddabd0a892 100644
--- a/sys-fs/fuse/Manifest
+++ b/sys-fs/fuse/Manifest
@@ -1,2 +1,3 @@
 DIST fuse-2.9.4.tar.gz 577282 SHA256 6be9c0bff6af8c677414935f31699ea5a7f8f5f791cfa5205be02ea186b97ce1 SHA512 055ec2a78793276102bc5a0afea9eebd18b151cf752d0985380ffbde1c554e9fb7bc3a43838618e3957b274aa06624303ea12f32c659365c4768dad887bb557d WHIRLPOOL 6c866ba05be5a56e1b1d8793378c0c5c683375e9baad6de22344adaf5bb35021182b15783f59911259f98cb914ef4a1cb70be0cb9b5cd6625173b3b6454c32d7
 DIST fuse-2.9.5.tar.gz 565245 SHA256 579f371cc5ffc1afca7057512bf7d52988a9ede57859a7c55e5b9f72435cdbb5 SHA512 65a7355a2e6b872ab055181222e8fb5918c3ea7b93eee3350a812a1545b2c2bee1bfc163ce1e57776d1721151223c437cfb92c4b286e075e68d0eed742447413 WHIRLPOOL 7b6b69b2b58e200e7c1957c2bbe4b57da1a400cbc695114c89566dc57b523fd513698e3d9b0e7125521f9e53b5e17c0397601bdaebe8bafc1790c363fa2f55bb
+DIST fuse-2.9.6.tar.gz 640070 SHA256 0cb48bbc7106632d15a0c6bb582496c9884b869e329428891fe075a9e916f16b SHA512 275133b7c3b2b62341fe30ceb59a4cab277de01bc7e7987e3a3ae2d5ddae5d62c5ac2786a6ca399a0c6a948882e453f4897d2d629b93e7a9f37745a13c8c0cfa WHIRLPOOL 9fb544365f5fcedb440ca81614c9c8e832dc6e43cf2d147624f50907e4b3cb1df0bfbe4f356e8ad182596718fd69665db040a331fd1ed188e103b3278dc05205
diff --git a/sys-fs/fuse/fuse-2.9.5.ebuild b/sys-fs/fuse/fuse-2.9.5.ebuild
index c409bc31809d..67bafb371b3e 100644
--- a/sys-fs/fuse/fuse-2.9.5.ebuild
+++ b/sys-fs/fuse/fuse-2.9.5.ebuild
@@ -7,7 +7,7 @@ inherit eutils libtool linux-info udev toolchain-funcs
 
 DESCRIPTION="An interface for filesystems implemented in userspace"
 HOMEPAGE="https://github.com/libfuse/libfuse"
-SRC_URI="https://github.com/libfuse/libfuse/releases/download/${PN}_${PV//./_}/fuse-2.9.5.tar.gz"
+SRC_URI="https://github.com/libfuse/libfuse/releases/download/${PN}_${PV//./_}/${P}.tar.gz"
 
 LICENSE="GPL-2"
 SLOT="0"
diff --git a/sys-fs/fuse/fuse-2.9.6.ebuild b/sys-fs/fuse/fuse-2.9.6.ebuild
new file mode 100644
index 000000000000..cd64b1927578
--- /dev/null
+++ b/sys-fs/fuse/fuse-2.9.6.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool linux-info udev toolchain-funcs
+
+DESCRIPTION="An interface for filesystems implemented in userspace"
+HOMEPAGE="https://github.com/libfuse/libfuse"
+SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+IUSE="examples kernel_linux kernel_FreeBSD static-libs"
+
+PDEPEND="kernel_FreeBSD? ( sys-fs/fuse4bsd )"
+DEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+	if use kernel_linux ; then
+		if kernel_is lt 2 6 9 ; then
+			die "Your kernel is too old."
+		fi
+		CONFIG_CHECK="~FUSE_FS"
+		FUSE_FS_WARNING="You need to have FUSE module built to use user-mode utils"
+		linux-info_pkg_setup
+	fi
+}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${PN}-2.9.3-kernel-types.patch
+	# sandbox violation with mtab writability wrt #438250
+	# don't sed configure.in without eautoreconf because of maintainer mode
+	sed -i 's:umount --fake:true --fake:' configure || die
+	elibtoolize
+}
+
+src_configure() {
+	econf \
+		INIT_D_PATH="${EPREFIX}/etc/init.d" \
+		MOUNT_FUSE_PATH="${EPREFIX}/sbin" \
+		UDEV_RULES_PATH="${EPREFIX}/$(get_udevdir)/rules.d" \
+		$(use_enable static-libs static) \
+		--disable-example
+}
+
+src_install() {
+	default
+
+	dodoc AUTHORS ChangeLog README.md \
+		README.NFS NEWS doc/how-fuse-works doc/kernel.txt
+
+	if use examples ; then
+		docinto examples
+		dodoc example/*
+	fi
+
+	if use kernel_linux ; then
+		newinitd "${FILESDIR}"/fuse.init fuse
+	elif use kernel_FreeBSD ; then
+		insinto /usr/include/fuse
+		doins include/fuse_kernel.h
+		newinitd "${FILESDIR}"/fuse-fbsd.init fuse
+	else
+		die "We don't know what init code install for your kernel, please file a bug."
+	fi
+
+	prune_libtool_files
+	rm -rf "${D}"/dev
+
+	dodir /etc
+	cat > "${ED}"/etc/fuse.conf <<-EOF
+		# Set the maximum number of FUSE mounts allowed to non-root users.
+		# The default is 1000.
+		#
+		#mount_max = 1000
+
+		# Allow non-root users to specify the 'allow_other' or 'allow_root'
+		# mount options.
+		#
+		#user_allow_other
+	EOF
+}
diff --git a/sys-kernel/vanilla-sources/Manifest b/sys-kernel/vanilla-sources/Manifest
index 32c9e5f403ff..31e21d7d397f 100644
--- a/sys-kernel/vanilla-sources/Manifest
+++ b/sys-kernel/vanilla-sources/Manifest
@@ -1,6 +1,7 @@
 DIST linux-3.10.tar.xz 73175088 SHA256 df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 SHA512 5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 WHIRLPOOL e7c0ccc2231e430b831218fc66f1940d095d2d5447d391329c6a7373d4a1d16708f64778b32e4847802ee2dae4fcf7cb67a1238fd4eb204fd0c4bce2d8134053
 DIST linux-3.12.tar.xz 76384600 SHA256 2e120ec7fde19fa51dc6b6cc11c81860a0775defcad5a5bf910ed9a50e845a02 SHA512 4ba5797e0772726d05c9f2eee66dc6dc2a5033c749ef44764c805a83da739ed5d0c6443b76785e38fe1ef74cc7ade787e48144faed0cfcb6f124f05248c700ff WHIRLPOOL a40195f6b53ba3440cf90a44495f6a59670f750851d1518e2bdfe3b949f0e898d1df5d37e271c31c555087026ddb6cc2c9109b22b9639e3222735e6f650a1417
 DIST linux-3.14.tar.xz 78399152 SHA256 61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa SHA512 5730d83a7a81134c1e77c0bf89e42dee4f8251ad56c1ac2be20c59e26fdfaa7bea55f277e7af156b637f22e1584914a46089af85039177cb43485089c74ac26e WHIRLPOOL 5ad07b78c362ba0b21c50b4abb99407cae06bd08576f3fd8f36047b01409eba096263208020da3dcad4977eefc61d66502276754097bc127635df1d7a5817d41
+DIST linux-3.16.tar.xz 80501624 SHA256 4813ad7927a7d92e5339a873ab16201b242b2748934f12cb5df9ba2cfe1d77a0 SHA512 64033e741d3f42ed06010e63e69d66e1d3d9414ef20f76834508878d4218b72619541a18ef4fd377204af2859e52198310998109b20ed9b67722586b28c9a231 WHIRLPOOL 69e5e367751185ff4e8d7c1f23c6f1e8f547fe782f581f6cf5f0bde301fa922185c8b996b815cf19fb7f14ca64042e264e87d321872ee3096adad02b1015769b
 DIST linux-3.18.tar.xz 80934708 SHA256 becc413cc9e6d7f5cc52a3ce66d65c3725bc1d1cc1001f4ce6c32b69eb188cbd SHA512 2f0b72466e9bc538a675738aa416573d41bbbd7e3e2ffd5b5b127afde609ebc278cec5a3c37e73479607e957c13f1b4ed9782a3795e0dcc2cf8e550228594009 WHIRLPOOL 81634af631b7d30ccd1f4798f96f44d9aa0ba6609b73f2747eb6aebaf7a99487fb2dbd45767605186182533cb222bfd9236e8dd5e11a04fdb67c211e4e0a91d6
 DIST linux-3.2.tar.xz 65065516 SHA256 dd96ed02b53fb5d57762e4b1f573460909de472ca588f81ec6660e4a172e7ba7 SHA512 77e9a52d78d6c8e951df1e166023eebe5defc5ef3c45d3ac84b613137b3c2e55cee5693d828ebd06c5034bd89ea2a5f862f55824f2b7839c9ad7212c81e3ecb0 WHIRLPOOL 7cc68baac4441740e2171fbbc4195ee6c0351de099aadaee8cb3487f6d1f8b7e1d3144ee54ba38dbd24d6be431a1ea3b921ffce82ff84df21a98da7bc61c1d17
 DIST linux-3.4.tar.xz 66748028 SHA256 ff3dee6a855873d12487a6f4070ec2f7996d073019171361c955639664baa0c6 SHA512 1c49b336750c9c2b49d21e54126f22a800367296be0d57e6df28b1532cbeba7fc3bdf4cfe27d9810576e76c2db2e9c2493f0804451c915137cb78d7aa61f236c WHIRLPOOL a36e62fe197ba7c08d498a79034da58091a94348f69542241067c9ebef683f86371b2c0a3b3fb6c4611e2fb885d9b74eee5c1f46a493c72dfb76c5665f0b8a6a
@@ -10,8 +11,9 @@ DIST linux-4.5.tar.xz 88375040 SHA256 a40defb401e01b37d6b8c8ad5c1bbab665be6ac631
 DIST patch-3.10.101.xz 1269636 SHA256 6a23fe951e7c4f50b4b0ca54bc31a3190406327dfb44be91b351ad13cad39e4b SHA512 90dc8a22653fbfda1214d382ae59408cd37479fe6e466d0ff66d13a2a44fd1c6a72e5c8658d0df39bb18d4306e58303d843fafdf527bd6d9b54386202059e80e WHIRLPOOL 21364bf10c635cc941f8eedd726c267a0273ccc75c9cdc98f8a99d1a02f7cdebaf21dee46e8e133c6f45e8f0fc62b9a149a8cb99924a268e0c7d5ba8c2df44b3
 DIST patch-3.12.59.xz 1545540 SHA256 dd965830cf34f141d48a50c550b059b70fd62a1480cc9351a1c7087072ec8c49 SHA512 1484602b8a23ac6380a51195ce6ab8d890f532b1fddea7b89504f8c1f988f6a68d719aa77f5cf40cbce22c90a4e49b416b2000c8ed44d60634f79d89144445b8 WHIRLPOOL 3e96fd895eb877d9145e5a4036f2ad9b017cf1e3a65359430fc99213e5976ac60f6ca5ff130d318468da899629ceaf234e18ee2ae61298bdc1803aeaaa7c1e0b
 DIST patch-3.14.67.xz 1152132 SHA256 71352f56cbce2a07efa569cc6564dcc6cbaa92345daf1abf6728df45b3e356f5 SHA512 0c91ad72b457837d318cd6191ec5f96c3a1c48623070c5b980ff8b5fdc70668328f25b8caece6827a3860f91016809fef9d7edf36fb8f8be1a795242f4cfdf8e WHIRLPOOL 91d8dc194f2c15e62fa678bd0f56e94ef8d063653a9e71f0585ee8846046d20501de2a67c8224e99d258f16ec2765a205adc945ccf04898a1bbe48db0a15515c
+DIST patch-3.16.35.xz 1203316 SHA256 721c550daf6caf0d6910787097fee9b4f5ed74daeee913bb3a0ad33bb45acf58 SHA512 c23591049f4fe8b5d4e5b473a0209c779ac32d9eb365477bf75fbe68ccb9dcc5e2958b2df22111d8cdd7b5a982bbc04232e0d18f6999432560432a5ac4354ffd WHIRLPOOL ebed71eb081d80d50318a858ba6b5ef78d5ae9b664638ec0fc58c02ba94b2b3202e9c1493013c3c3527975eca8f9596cd879a6084eb63606c17d994b65112b6f
 DIST patch-3.18.32.xz 890188 SHA256 63c163fbb5bb68eed94c7925e807ec34fed1e888112810e6784b874828784c84 SHA512 ff42317009800a447fd5cd7c97537a2e5c5e4883e6c243ce2b8ca154f42c25c01810540ae70568d816c704400b8824ae870ba08c2cab6bdaf65f38c3afc75040 WHIRLPOOL 38f5ca159aaefad33b18591361d1ec68f858b6842b364c725c7575364e8f3aab97e80d765cbf11b604beb7cfb33d4d56fa5f3e93e6886c57788f1af86f44529b
-DIST patch-3.2.79.xz 1573740 SHA256 2766147dde1ceb7f374c8538d32c499c9183c26e4c3f5a6aa43b1a2fb96b2d10 SHA512 0414ec55b3f909245f91363bf65733d2490199095280ea3dcf9c6f9672bcbb26e664fed49d58d7bea3da1f635af6964d86e3cdacdd95a6a3b791f7d9cc39e80f WHIRLPOOL cb6c793015223822fc7cdc072cdda6a574ddc0ead9f1f18eaa61773763db5ada3d451465ed51b9006de70cc68e02411c0ebdc73dd269305c68997b9acdde95ef
+DIST patch-3.2.80.xz 1595888 SHA256 2a1aba4ba5fe3752de0dbfe60963daad934a1abf67e87bf2cc88de8ca22720f7 SHA512 ec7fdf71586fa04d0a1e683ce8a3521bb2104d6756a3b92c21096df0bc80cf5db1fdcef15174ed3ebe7404e86befb5c3d3bec612cb7910592174574588acc706 WHIRLPOOL aeb7cfb31c224811b1fb22c34ec50ad4c4a668ab0391b5d1b3c257f95d862d8fb2dc3bf3e6c5e609408f363911092394a08c7379e86b256cce2a1766c83249d6
 DIST patch-3.4.112.xz 1337588 SHA256 01d33e0582be65f75835599ebf659f46c0ad0b7f64b826c78e5402550f2224c8 SHA512 474bb722b4c5adcb81d73df2091f4a0873be01a7f287a34bed7d68b134bcdc8dee3ef7a658f2e9f0e3572bb1ca83ed8b06ece31346fe3685476a1fabb9bc0a2e WHIRLPOOL 5bb15bb566ed73dc5f316d2e57b655733de4263c1bf78f2af61c34097cce49ebf5480d4dffff4748e5725a7ed83dac4230a083135e30b19379ec05ffd84cc96f
 DIST patch-4.1.23.xz 703592 SHA256 b27ac56715c859cab298ad34dfc055b71fd7b8bc8aa066e0c9ef71c192440569 SHA512 5c861ef224a7de1839d5dd0a656d1e93cdcb00511447cfd7119140dd2b7c9d20e632109764cb00d7cff5474c0d70ebc317ec8df3f4866a70f90937dea12380aa WHIRLPOOL 5568b638e5def7050c483c51e5b680cb68cbeae9c701d4eb368c1dac23cdc2ad651fcc9ec258b02b0625faa057d517c227a10aedcc4f6d91d0f775a7bb4b3382
 DIST patch-4.4.8.xz 331620 SHA256 11ec99ae0600bd831ff8d71b77e64592f4b6918b7857fd9ff0284ea4cf267b4e SHA512 d53d6950bc121107fecec91b4cd33473b0b18e7188bd387cd02f3ab4ece0f7dc6f1530ad9b7a44655afb7d823fb94ad8d8710902367c9b12911eb2247a12f2c7 WHIRLPOOL 1fc7e059c5dcbdac3f6c7d485371f27d24a99c4be0d08d3a3d752edc22b251990cb56da92d4c9029444502696aca895ea23934e6f577917293ed8369252964fa
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-3.2.79.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-3.16.35.ebuild
similarity index 100%
rename from sys-kernel/vanilla-sources/vanilla-sources-3.2.79.ebuild
rename to sys-kernel/vanilla-sources/vanilla-sources-3.16.35.ebuild
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-3.2.80.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-3.2.80.ebuild
new file mode 100644
index 000000000000..d8dab37130e2
--- /dev/null
+++ b/sys-kernel/vanilla-sources/vanilla-sources-3.2.80.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+K_NOUSENAME="yes"
+K_NOSETEXTRAVERSION="yes"
+K_SECURITY_UNSUPPORTED="1"
+K_DEBLOB_AVAILABLE="0"
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for the Linux kernel"
+HOMEPAGE="https://www.kernel.org"
+SRC_URI="${KERNEL_URI}"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
diff --git a/sys-process/cronie/files/cronie-1.3-initd b/sys-process/cronie/files/cronie-1.3-initd
index 2434d61e3e58..781ff67c47f8 100644
--- a/sys-process/cronie/files/cronie-1.3-initd
+++ b/sys-process/cronie/files/cronie-1.3-initd
@@ -1,5 +1,5 @@
-#!/sbin/runscript
-# Copyright 1999-2014 Gentoo Foundation
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
diff --git a/sys-process/memwatch/Manifest b/sys-process/memwatch/Manifest
index 060107f291e8..e751fbf05d50 100644
--- a/sys-process/memwatch/Manifest
+++ b/sys-process/memwatch/Manifest
@@ -1,3 +1,2 @@
-DIST memwatch-0.0.2.tar.gz 3342 SHA256 7eab256e6e2ebd1e302b5f40567b849b8e0f33e08179c9e35d4cfa55b194cf59 SHA512 79af7056023128a1a27150ba02d29fdd51dbfe79ae44acf36a149dded6940ba209967ef1729e77063e93cf4d85861d993eb44f38cdb5b42254ed4d8bc77e5235 WHIRLPOOL 8005051534441497a4494b12ee85a87c88c39396a47fe8794be24bbbb1758f0a3963bd8623e4c083c8e3c8be6c966a05687741595a8ed23d698d273081aedbb9
 DIST memwatch-0.1.0.tar.gz 6733 SHA256 72002e7d9c3a9053404710982bb782cfcdc20abe8b6c0fabdcb78d8a3a69ddb9 SHA512 9adcc65640fcbc252b15a48502ddd705e6f3b2bcf5e3cbd3ad61e640d6921af29f9fb5f086cb71e6badecda3d2f64e76b308d65b70a0d9b70dafb4f608f1f0f0 WHIRLPOOL 8d8fe7aa9cfeec42f012b6d2a34622776dd2d1b1e1900a754acca7990c4c1205db0bdf12709e643f8ddfaed7d1e3efe14c2075ef43e1ca955ddb504b26caf8f5
 DIST memwatch-0.2.0.tar.gz 10278 SHA256 391159b4ec01c7d66dc81480d838a3ef2a7baa2781c007cce87a3c8fdb743b07 SHA512 f2b0f72258802877887d3c2367a04a42a9fcb1be72777a3744dc98fe78d4b1b7f5cf426b9355b1d3ccf5b2cd690c33885e557c8ceac4732d91c6fc3c61c2c1ca WHIRLPOOL fd0fa9a56131674cb4fe538eda10a58ef96c1a04bc4e116528bc62e7b4b15184d2335888696acf6ffc0b6b62f76a13b7bbf6b9b00748e6a30cc467c9c7b98f8b
diff --git a/sys-process/memwatch/memwatch-0.0.2-r1.ebuild b/sys-process/memwatch/memwatch-0.0.2-r1.ebuild
deleted file mode 100644
index 7ac38fbafd84..000000000000
--- a/sys-process/memwatch/memwatch-0.0.2-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-DESCRIPTION="Interactive memory viewer"
-HOMEPAGE="https://bitbucket.org/PascalRD/memwatch/"
-SRC_URI="http://unixdev.ru/src/${P}.tar.gz"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="sys-libs/ncurses:0="
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	default
-	einfo "Regenerating autotools files..."
-	./autogen.sh || die "autogen failed"
-}
-
-src_configure() {
-	econf
-}
-
-src_compile() {
-	emake
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-}
diff --git a/sys-process/memwatch/memwatch-0.0.2.ebuild b/sys-process/memwatch/memwatch-0.0.2.ebuild
deleted file mode 100644
index c9fb4682ff39..000000000000
--- a/sys-process/memwatch/memwatch-0.0.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-DESCRIPTION="Interactive memory viewer"
-HOMEPAGE="https://bitbucket.org/PascalRD/memwatch/"
-SRC_URI="http://unixdev.ru/src/${P}.tar.gz"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="sys-libs/ncurses"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
-	einfo "Regenerating autotools files..."
-	./autogen.sh || die "autogen failed"
-}
-
-src_configure() {
-	econf
-}
-
-src_compile() {
-	emake
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-}
diff --git a/sys-process/memwatch/memwatch-0.1.0.ebuild b/sys-process/memwatch/memwatch-0.1.0.ebuild
index 909038e6234f..707c306a67db 100644
--- a/sys-process/memwatch/memwatch-0.1.0.ebuild
+++ b/sys-process/memwatch/memwatch-0.1.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="http://unixdev.ru/src/${P}.tar.gz"
 
 LICENSE="WTFPL-2"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
 IUSE=""
 
 DEPEND="sys-libs/ncurses:0="
diff --git a/sys-process/watchpid/watchpid-0.1-r2.ebuild b/sys-process/watchpid/watchpid-0.1-r2.ebuild
new file mode 100644
index 000000000000..3cbda3f2f76c
--- /dev/null
+++ b/sys-process/watchpid/watchpid-0.1-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit multilib-minimal
+
+DESCRIPTION="Watches a process for termination"
+SRC_URI="mirror://gentoo/${PN}_${PV}.tar.gz"
+HOMEPAGE="http://www.codepark.org/"
+KEYWORDS="~amd64 -ppc ~x86"
+
+IUSE=""
+SLOT="0"
+LICENSE="GPL-2"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+multilib_src_configure() {
+	ECONF_SOURCE="${S}" econf
+}
+
+src_compile() {
+	multilib-minimal_src_compile
+}
+
+src_install() {
+	multilib-minimal_src_install
+	dodoc README AUTHORS
+}
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch
new file mode 100644
index 000000000000..dd05a4a70aaf
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch
@@ -0,0 +1,11 @@
+--- a/src/VBox/Additions/linux/drm/Makefile.module.kms	2016-04-28 09:08:06.000000000 -0400
++++ b/src/VBox/Additions/linux/drm/Makefile.module.kms	2016-05-03 15:11:22.134971872 -0400
+@@ -38,7 +38,7 @@
+  MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h
+ endif
+ MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING)
+-MOD_INCL   = $(addprefix -I$(KBUILD_EXTMOD),/ /include)
++MOD_INCL   = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
+ # What on earth is this?
+ MOD_INCL  += $(addprefix -I$(KBUILD_EXTMOD)/vboxvideo,/ /include)
+ MOD_INCL  += -Iinclude/drm
diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.20.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.20.ebuild
index 24d85e907337..d3b72b40e0a0 100644
--- a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.20.ebuild
+++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.20.ebuild
@@ -73,14 +73,19 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# Prepare the vboxvideo_drm Makefiles
-	#cp "${FILESDIR}/Makefile.inc" "${MODULES_SRC_DIR}" || die
-	ln -s Makefile.module.kms "${MODULES_SRC_DIR}/Makefile" || die
-	#sed '/^include.*header/ainclude $(obj)/Makefile.inc' \
-	#	-i "${MODULES_SRC_DIR}/Makefile.module.kms" || die
-	for incfile in Makefile.include.{head,foot}er ; do
-		ln -s "${S}/src/VBox/Installer/linux/${incfile}" \
-			"${MODULES_SRC_DIR}/${incfile}" || die
+	# Prepare the vboxvideo_drm Makefiles and build dir
+	eapply "${FILESDIR}"/${P}-Makefile.module.kms.patch
+	ln -s Makefile.module.kms "${MODULES_SRC_DIR}"/Makefile || die
+	# All of these are expected to be in $(KBUILD_EXTMOD)/ so symlink them into place
+	local incfile incfiles=(
+		include
+		src/VBox/Runtime/r0drv
+		src/VBox/Installer/linux/Makefile.include.{head,foot}er
+		out/linux.${ARCH}/release/{product,version,revision}-generated.h
+	)
+	for incfile in ${incfiles[@]} ; do
+		ln -s "${S}"/${incfile} \
+			"${MODULES_SRC_DIR}"/${incfile##*/} || die
 	done
 
 	# Remove shipped binaries (kBuild,yasm), see bug #232775
@@ -118,18 +123,14 @@ src_configure() {
 }
 
 src_compile() {
-	local targets=()
-
-	targets=(
+	local each targets=(
 		Runtime
 		Additions/common/VBoxGuestLib
 		GuestHost/OpenGL
 		Additions/x11/x11stubs
 		Additions/common/crOpenGL
 		Additions/x11/vboxvideo
-		#Additions/linux/drm
 	)
-
 	for each in ${targets[@]} ; do
 		pushd "${S}"/src/VBox/${each} $>/dev/null || die
 		MAKE="kmk" \
@@ -142,18 +143,19 @@ src_compile() {
 
 	if use dri ; then
 		local objdir="out/linux.${ARCH}/release/obj/vboxvideo_drv_system/src/VBox"
-		ln -s "${S}"/${objdir}/Additions/common/VBoxVideo/HGSMIBase.o \
-			${MODULES_SRC_DIR} || die
-		ln -s "${S}"/${objdir}/GuestHost/HGSMI/HGSMICommon.o \
-			${MODULES_SRC_DIR} || die
-		ln -s "${S}"/${objdir}/GuestHost/HGSMI/HGSMIMemAlloc.o \
-			${MODULES_SRC_DIR} || die
-		ln -s "${S}"/${objdir}/Runtime/common/alloc/heapoffset.o \
-			${MODULES_SRC_DIR} || die
-		ln -s "${S}"/${objdir}/Additions/common/VBoxVideo/Modesetting.o \
-			${MODULES_SRC_DIR} || die
-		ln -s "${S}"/${objdir}/Additions/common/VBoxVideo/VBVABase.o \
-			${MODULES_SRC_DIR} || die
+		# see the vboxvideo_drm_SOURCES list in Makefile.kmk for the below
+		targets=(
+			Additions/common/VBoxVideo/HGSMIBase.o
+			Additions/common/VBoxVideo/Modesetting.o
+			Additions/common/VBoxVideo/VBVABase.o
+			GuestHost/HGSMI/HGSMICommon.o
+			GuestHost/HGSMI/HGSMIMemAlloc.o
+			Runtime/common/alloc/heapoffset.o
+		)
+		for each in ${targets[@]} ; do
+			ln -s "${S}"/${objdir}/${each} \
+				"${MODULES_SRC_DIR}" || die
+		done
 
 		# Now creating the kernel modules. We must do this _after_
 		# we compiled the user-space tools as we need two of the
diff --git a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.32.3.ebuild b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.32.3.ebuild
index 9ef5568ca43d..d0004c9e6ec6 100644
--- a/x11-libs/gdk-pixbuf/gdk-pixbuf-2.32.3.ebuild
+++ b/x11-libs/gdk-pixbuf/gdk-pixbuf-2.32.3.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://git.gnome.org/browse/gdk-pixbuf"
 
 LICENSE="LGPL-2+"
 SLOT="2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 IUSE="X debug +introspection jpeg jpeg2k tiff test"
 
 COMMON_DEPEND="
diff --git a/x11-libs/gtk+/gtk+-2.24.29.ebuild b/x11-libs/gtk+/gtk+-2.24.29.ebuild
index bef80a71da38..07f36bb5070b 100644
--- a/x11-libs/gtk+/gtk+-2.24.29.ebuild
+++ b/x11-libs/gtk+/gtk+-2.24.29.ebuild
@@ -18,7 +18,7 @@ REQUIRED_USE="
 	xinerama? ( !aqua )
 "
 
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 
 # NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
 COMMON_DEPEND="
diff --git a/x11-libs/gtk+/gtk+-3.18.7.ebuild b/x11-libs/gtk+/gtk+-3.18.7.ebuild
index 96615393fa71..fc6f7e59c9fe 100644
--- a/x11-libs/gtk+/gtk+-3.18.7.ebuild
+++ b/x11-libs/gtk+/gtk+-3.18.7.ebuild
@@ -19,7 +19,7 @@ REQUIRED_USE="
 	xinerama? ( X )
 "
 
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 
 # FIXME: introspection data is built against system installation of gtk+:3
 # NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
diff --git a/x11-libs/gtksourceview/gtksourceview-3.18.2.ebuild b/x11-libs/gtksourceview/gtksourceview-3.18.2.ebuild
index 01169372964e..dce9ce5936d6 100644
--- a/x11-libs/gtksourceview/gtksourceview-3.18.2.ebuild
+++ b/x11-libs/gtksourceview/gtksourceview-3.18.2.ebuild
@@ -18,7 +18,7 @@ SLOT="3.0/3"
 IUSE="glade +introspection vala"
 REQUIRED_USE="vala? ( introspection )"
 
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
 
 RDEPEND="
 	>=dev-libs/glib-2.44:2
diff --git a/x11-libs/libwnck/libwnck-3.14.1.ebuild b/x11-libs/libwnck/libwnck-3.14.1.ebuild
index 1363e6085ed3..d5bb7d6f8f22 100644
--- a/x11-libs/libwnck/libwnck-3.14.1.ebuild
+++ b/x11-libs/libwnck/libwnck-3.14.1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://developer.gnome.org/libwnck/stable/"
 
 LICENSE="LGPL-2+"
 SLOT="3"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
 
 IUSE="+introspection startup-notification tools"
 
diff --git a/x11-libs/pango/pango-1.38.1.ebuild b/x11-libs/pango/pango-1.38.1.ebuild
index 2b9b4c5e477c..23f4debfc969 100644
--- a/x11-libs/pango/pango-1.38.1.ebuild
+++ b/x11-libs/pango/pango-1.38.1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="http://www.pango.org/"
 
 LICENSE="LGPL-2+ FTL"
 SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 
 IUSE="X +introspection test"
 
diff --git a/x11-libs/vte/vte-0.42.4.ebuild b/x11-libs/vte/vte-0.42.4.ebuild
index 4b4cb5e3c923..67390379ae73 100644
--- a/x11-libs/vte/vte-0.42.4.ebuild
+++ b/x11-libs/vte/vte-0.42.4.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE"
 LICENSE="LGPL-2+"
 SLOT="2.91"
 IUSE="+crypt debug glade +introspection vala"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
 
 RDEPEND="
 	>=dev-libs/glib-2.40:2
diff --git a/x11-misc/ptbatterysystemtray/metadata.xml b/x11-misc/ptbatterysystemtray/metadata.xml
index 32fe1293e9a9..7a38bb900964 100644
--- a/x11-misc/ptbatterysystemtray/metadata.xml
+++ b/x11-misc/ptbatterysystemtray/metadata.xml
@@ -1,8 +1,5 @@
 
 
 
-
-	qt@gentoo.org
-	Gentoo Qt Project
-
+	
 
diff --git a/x11-misc/qtnotifydaemon/metadata.xml b/x11-misc/qtnotifydaemon/metadata.xml
index ac5f16b2d147..5adb4bcc9143 100644
--- a/x11-misc/qtnotifydaemon/metadata.xml
+++ b/x11-misc/qtnotifydaemon/metadata.xml
@@ -5,10 +5,6 @@
     ssuominen@gentoo.org
     Samuli Suominen
   
-  
-    qt@gentoo.org
-    Gentoo Qt Project
-  
   
     desktop-misc@gentoo.org
     Gentoo Desktop Miscellaneous Project
diff --git a/x11-misc/tinymount/metadata.xml b/x11-misc/tinymount/metadata.xml
index 9ff9463dbb9a..0f6795c87ed5 100644
--- a/x11-misc/tinymount/metadata.xml
+++ b/x11-misc/tinymount/metadata.xml
@@ -10,10 +10,6 @@
     ssuominen@gentoo.org
     Samuli Suominen
   
-  
-    qt@gentoo.org
-    Gentoo Qt Project
-  
   
     desktop-misc@gentoo.org
     Gentoo Desktop Miscellaneous Project
diff --git a/x11-misc/touchfreeze/metadata.xml b/x11-misc/touchfreeze/metadata.xml
index 32fe1293e9a9..7a38bb900964 100644
--- a/x11-misc/touchfreeze/metadata.xml
+++ b/x11-misc/touchfreeze/metadata.xml
@@ -1,8 +1,5 @@
 
 
 
-
-	qt@gentoo.org
-	Gentoo Qt Project
-
+	
 
diff --git a/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.18.0.ebuild b/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.18.0.ebuild
index d977d52382a9..d29d29559bec 100644
--- a/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.18.0.ebuild
+++ b/x11-themes/adwaita-icon-theme/adwaita-icon-theme-3.18.0.ebuild
@@ -19,7 +19,7 @@ LICENSE="
 "
 SLOT="0"
 IUSE="branding"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
 
 COMMON_DEPEND="
 	>=x11-themes/hicolor-icon-theme-0.10
diff --git a/x11-themes/gnome-themes-standard/gnome-themes-standard-3.18.0.ebuild b/x11-themes/gnome-themes-standard/gnome-themes-standard-3.18.0.ebuild
index 6f3fd3c79893..812ec75f8ba9 100644
--- a/x11-themes/gnome-themes-standard/gnome-themes-standard-3.18.0.ebuild
+++ b/x11-themes/gnome-themes-standard/gnome-themes-standard-3.18.0.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://git.gnome.org/browse/gnome-themes-standard/"
 LICENSE="LGPL-2.1+"
 SLOT="0"
 IUSE="+gtk"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ~ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
 
 COMMON_DEPEND="
 	gnome-base/librsvg:2[${MULTILIB_USEDEP}]