diff --git a/Manifest.files.gz b/Manifest.files.gz
index 9ec2e094aa86..ee21dd4d286f 100644
Binary files a/Manifest.files.gz and b/Manifest.files.gz differ
diff --git a/app-admin/Manifest.gz b/app-admin/Manifest.gz
index 7e26388b960f..07be87d883b2 100644
Binary files a/app-admin/Manifest.gz and b/app-admin/Manifest.gz differ
diff --git a/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild b/app-admin/packagekit-base/packagekit-base-1.1.7-r2.ebuild
similarity index 98%
rename from app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild
rename to app-admin/packagekit-base/packagekit-base-1.1.7-r2.ebuild
index 4281826ad53c..cf2c12a7ae0e 100644
--- a/app-admin/packagekit-base/packagekit-base-1.1.7-r1.ebuild
+++ b/app-admin/packagekit-base/packagekit-base-1.1.7-r2.ebuild
@@ -33,7 +33,7 @@ COMMON_DEPEND="
>=app-shells/bash-completion-2
dev-db/sqlite:3
>=dev-libs/dbus-glib-0.74
- >=dev-libs/glib-2.46.0:2[${PYTHON_USEDEP}]
+ >=dev-libs/glib-2.46.0:2
>=sys-auth/polkit-0.98
>=sys-apps/dbus-1.3.0
${PYTHON_DEPS}
diff --git a/app-admin/passwordsafe/Manifest b/app-admin/passwordsafe/Manifest
index 3936e9d4112f..035ef0ae55cf 100644
--- a/app-admin/passwordsafe/Manifest
+++ b/app-admin/passwordsafe/Manifest
@@ -1,2 +1 @@
-DIST passwordsafe-1.02.1_beta.tar.gz 14068085 BLAKE2B 7a1bff0f2db798e08377436020473a8c6c46f9e64fa85629b6545f70954a3ad05735ee101bea021308589d523724f70fce24447837ee25cf1b897a7703873757 SHA512 c83a0c757f9f74906ffaebf650fd3f422a29f838c7f5430b3d3e32852b35dd92dc413a1c920320af9812d7960f0648e8df8a9d145828f8669e824e9972038067
-DIST passwordsafe-1.04_beta.tar.gz 14329263 BLAKE2B 17f4b0cd0b34f8907530a7da43dfbceab56c9aefd65f2d0ba0356b5a1820e8b4273c68655229a07947693fd6d320bc654065f790c86daff31679b565a57145fe SHA512 5f2d0634be3d3932991f77e96b7b40fee3984407ec8620d82caea089bba49df69444cdf8d2cf431aace43636c5034892a672c338ee98df06473d2569953bdab3
+DIST passwordsafe-1.06_beta.tar.gz 14295034 BLAKE2B 83f480eee16938e396fa01797f67f5bc61984414b7f38b91404caea3dd6b3d31ba0e2ce4d198da048dff9cf1b5c8ba04e8bb9c93351fc21552bbc05a3b9ba486 SHA512 2a5be46e0e90f98c519bf9137f32298672359d1bfeb081a71d67251b35da6c1157e18c35a2c84321ed3fa077cb15ebf9cee763ba13b201ce02965d6642bb246c
diff --git a/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild b/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild
deleted file mode 100644
index a31827651c2f..000000000000
--- a/app-admin/passwordsafe/passwordsafe-1.02.1_beta.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-WX_GTK_VER="3.0"
-
-inherit eutils flag-o-matic wxwidgets cmake-utils
-
-MY_PV="${PV/_beta/BETA}"
-DESCRIPTION="Password manager with wxGTK based frontend"
-HOMEPAGE="https://pwsafe.org/ https://github.com/pwsafe/pwsafe/"
-SRC_URI="https://github.com/pwsafe/pwsafe/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Artistic-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="minimal test yubikey +xml"
-
-RDEPEND="xml? ( dev-libs/xerces-c )
- sys-apps/util-linux
- x11-libs/libXt
- x11-libs/libXtst
- x11-libs/wxGTK:${WX_GTK_VER}[X]
- !minimal? ( !!app-misc/pwsafe )
- yubikey? ( sys-auth/ykpers )"
-DEPEND="${RDEPEND}
- app-arch/zip
- sys-devel/gettext
- test? ( dev-cpp/gtest )"
-
-S=${WORKDIR}/pwsafe-${MY_PV}
-
-pkg_pretend() {
- einfo "Checking for -std=c++11 support in compiler"
- test-flags-CXX -std=c++11 > /dev/null || die
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # binary name pwsafe is in use by app-misc/pwsafe, we use passwordsafe
- # instead. Perform required changes in linking files
- sed -i install/desktop/pwsafe.desktop -e "s/pwsafe/${PN}/g" || die
- sed -i docs/pwsafe.1 \
- -e 's/PWSAFE/PASSWORDSAFE/' \
- -e "s/^.B pwsafe/.B ${PN}/" || die
- use test || sed -i -e '/find_package(GTest REQUIRED)/s/^/#/' \
- -e '/add_subdirectory (src\/test)/s/^/#/' CMakeLists.txt || die
-}
-
-src_configure() {
- need-wxwidgets unicode
-
- local mycmakeargs=( $(usex yubikey '' '-DNO_YUBI=ON')
- $(usex xml '' '-DNO_XML=ON') )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- pushd "${BUILD_DIR}" || die
- if use minimal; then
- newbin pwsafe ${PN}
- else
- dobin pwsafe
- dosym pwsafe /usr/bin/${PN}
- fi
- insinto /usr/share/locale
- doins -r src/ui/wxWidgets/I18N/mos/*
-
- # The upstream Makefile builds this .zip file from html source material for
- # use by the package's internal help system. Must prevent
- # Portage from applying additional compression.
- docompress -x /usr/share/doc/${PN}/help
- insinto /usr/share/doc/${PN}/help
- doins help/*.zip
-
- popd || die
-
- newman docs/pwsafe.1 ${PN}.1
-
- dodoc README.txt docs/{ReleaseNotes.txt,ChangeLog.txt}
-
- insinto /usr/share/pwsafe/xml
- doins xml/*
-
- newicon install/graphics/pwsafe.png ${PN}.png
- newmenu install/desktop/pwsafe.desktop ${PN}.desktop
-}
diff --git a/app-admin/passwordsafe/passwordsafe-1.04_beta.ebuild b/app-admin/passwordsafe/passwordsafe-1.06_beta.ebuild
similarity index 100%
rename from app-admin/passwordsafe/passwordsafe-1.04_beta.ebuild
rename to app-admin/passwordsafe/passwordsafe-1.06_beta.ebuild
diff --git a/app-benchmarks/Manifest.gz b/app-benchmarks/Manifest.gz
index 09a6989b9f1f..78f09af2f689 100644
Binary files a/app-benchmarks/Manifest.gz and b/app-benchmarks/Manifest.gz differ
diff --git a/app-benchmarks/stress-ng/Manifest b/app-benchmarks/stress-ng/Manifest
index e610abc0a057..2b036925d04d 100644
--- a/app-benchmarks/stress-ng/Manifest
+++ b/app-benchmarks/stress-ng/Manifest
@@ -1 +1 @@
-DIST stress-ng-0.09.36.tar.xz 354012 BLAKE2B 30ee324b122b3760bf197dc8f5f20541f24eb4af48b7dcb9c64332cb5535a8cec8881e42eed4ba45aa84a580f611890de084127a137b3d0ed03d6c011f7b3d27 SHA512 5c50bb4d15179210e385f5e3e37d8bba0ce93a8ff56bd0f4eaded77785636038886752bb154ac2b41b922646223c94f0e08cdf0c075c56402960a7e4619bd323
+DIST stress-ng-0.09.37.tar.xz 354748 BLAKE2B 8910e169c8b14f047691bc931d016a39b90ace613ab10cc7337a90d48ae4ce78b8bcc76d0f5257a627e258de12836293f4bcf73117ccc1ecaab7fe7325f3f0ab SHA512 87014399e4e166bbacd01d65e6660db80ad6653bd6e69088321b6190e3dca1d9997d9f0567433791380c5af97a58b7414fea2d9190c09954a5861e6da303f25f
diff --git a/app-benchmarks/stress-ng/stress-ng-0.09.36.ebuild b/app-benchmarks/stress-ng/stress-ng-0.09.37.ebuild
similarity index 100%
rename from app-benchmarks/stress-ng/stress-ng-0.09.36.ebuild
rename to app-benchmarks/stress-ng/stress-ng-0.09.37.ebuild
diff --git a/app-dicts/Manifest.gz b/app-dicts/Manifest.gz
index 085d5392ac08..99b2e586e83c 100644
Binary files a/app-dicts/Manifest.gz and b/app-dicts/Manifest.gz differ
diff --git a/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild b/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild
index 02baf909131e..9835ccbab99a 100644
--- a/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild
+++ b/app-dicts/myspell-mi/myspell-mi-20060316-r1.ebuild
@@ -22,5 +22,5 @@ HOMEPAGE="http://lingucomponent.openoffice.org/"
SRC_URI="https://dev.gentoo.org/~jstein/dist/myspell-mi_NZ-${PV}.zip"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
IUSE=""
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 2a13210a02a9..05593a80131e 100644
Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ
diff --git a/app-emulation/libvirt/files/libvirt-guests.init-r3 b/app-emulation/libvirt/files/libvirt-guests.init-r3
new file mode 100644
index 000000000000..10797e1b8075
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-guests.init-r3
@@ -0,0 +1,236 @@
+#!/sbin/openrc-run
+
+description="Virtual Machine Management (libvirt) Guests"
+
+depend() {
+ use libvirtd
+}
+
+# set the default to QEMU
+[ -z "${LIBVIRT_URIS}" ] && LIBVIRT_URIS="qemu:///system"
+
+# default to suspending the VM via managedsave
+case "${LIBVIRT_SHUTDOWN}" in
+ managedsave|shutdown|destroy) ;;
+ *) LIBVIRT_SHUTDOWN="managedsave" ;;
+esac
+
+# default to 500 seconds
+[ -z ${LIBVIRT_MAXWAIT} ] && LIBVIRT_MAXWAIT=500
+
+gueststatefile="/var/lib/libvirt/libvirt-guests.state"
+netstatefile="/var/lib/libvirt/libvirt-net.state"
+
+do_virsh() {
+ local hvuri=$1
+ shift
+
+ # if unset, default to qemu
+ [ -z ${hvuri} ] && hvuri="qemu:///system"
+ # if only qemu was supplied then correct the value
+ [ "xqemu" = x${hvuri} ] && hvuri="qemu:///system"
+
+ # Silence errors because virsh always throws an error about
+ # not finding the hypervisor version when connecting to libvirtd
+ # lastly strip the blank line at the end
+ LC_ALL=C virsh -c ${hvuri} "$@" 2>/dev/null | head -n -1
+}
+
+libvirtd_dom_list() {
+ # Only work with domains by their UUIDs
+ local hvuri=$1
+ shift
+
+ # The grep is to remove dom0 for xen domains. Otherwise we never hit 0
+ do_virsh "${hvuri}" list --uuid $@ | grep -v 00000000-0000-0000-0000-000000000000
+}
+
+libvirtd_dom_count() {
+ local hvuri=$1
+ shift
+
+ libvirtd_dom_list "${hvuri}" $@ | wc -l
+}
+
+libvirtd_net_list() {
+ # Only work with networks by their UUIDs
+ local hvuri=$1
+ shift
+
+ do_virsh "${hvuri}" net-list --uuid $@
+}
+
+libvirtd_net_count() {
+ local hvuri=$1
+ shift
+
+ libvirtd_net_list "${hvuri}" $@ | wc -l
+}
+
+libvirtd_dom_stop() {
+ # stops all persistent or transient domains for a given URI
+ # $1 - uri
+ # $2 - persisent/transient
+
+ local uri=$1
+ local persist=$2
+ local shutdown_type=${LIBVIRT_SHUTDOWN}
+ local counter=${LIBVIRT_MAXWAIT}
+ local dom_name=
+ local dom_as=
+ local dom_ids=
+ local uuid=
+ local dom_count=
+
+ [ "${persist}" = "--transient" ] && shutdown_type="shutdown"
+ [ -n "${counter}" ] || counter=500
+
+ einfo " Shutting down domain(s) ..."
+
+ # grab all persistent or transient domains running
+ dom_ids=$(libvirtd_dom_list ${uri} ${persist})
+
+ for uuid in ${dom_ids}; do
+ # Get the name
+ dom_name=$(do_virsh ${uri} domname ${uuid})
+ einfo " ${dom_name}"
+ # Get autostart state
+ dom_as=$(do_virsh ${uri} dominfo ${uuid} | \
+ awk '$1 == "Autostart:" { print $2 }')
+
+ if [ "${persist}" = "--persistent" ]; then
+ # Save our running state only if LIBVIRT_IGNORE_AUTOSTART != yes
+ if [ "x${LIBVIRT_IGNORE_AUTOSTART}" = "xyes" ] && \
+ [ ${dom_as} = "enabled" ]; then
+ :
+ else
+ echo "${uri} ${uuid}" >> ${gueststatefile}
+ fi
+
+ fi
+
+ # Now let's stop it
+ do_virsh "${uri}" ${shutdown_type} ${uuid} > /dev/null
+
+ done
+
+ dom_count="$(libvirtd_dom_count ${uri} ${persist})"
+ while [ ${dom_count} -gt 0 ] && [ ${counter} -gt 0 ] ; do
+ dom_count="$(libvirtd_dom_count ${uri} ${persist})"
+ sleep 1
+ if [ "${shutdown_type}" = "shutdown" ]; then
+ counter=$((${counter} - 1))
+ fi
+ printf "."
+ done
+
+ if [ "${shutdown_type}" = "shutdown" ]; then
+ # grab all domains still running
+ dom_ids=$(libvirtd_dom_list ${uri} ${persist})
+ for uuid in ${dom_ids}; do
+ dom_name=$(do_virsh ${uri} domname ${uuid})
+ eerror " ${dom_name} forcibly stopped"
+ do_virsh "${uri}" destroy ${uuid} > /dev/null
+ done
+ fi
+}
+
+libvirtd_net_stop() {
+ # stops all persistent or transient domains for a given URI
+ # $1 - uri
+ # $2 - persisent/transient
+
+ local uri=$1
+ local persist=$2
+ local uuid=
+ local net_name=
+
+ if [ "${LIBVIRT_NET_SHUTDOWN}" != "no" ]; then
+
+ einfo " Shutting down network(s):"
+ for uuid in $(libvirtd_net_list ${uri} ${persist}); do
+ net_name=$(do_virsh ${uri} net-name ${uuid})
+ einfo " ${net_name}"
+
+ if [ "${persist}" = "--persistent" ]; then
+ # Save our running state
+ echo "${uri} ${uuid}" >> ${netstatefile}
+
+ fi
+
+ # Actually stop the network
+ do_virsh qemu net-destroy ${uuid} > /dev/null
+ done
+
+ fi
+}
+
+start() {
+ local uri=
+ local uuid=
+ local name=
+
+ for uri in ${LIBVIRT_URIS}; do
+ do_virsh "${uri}" connect
+ if [ $? -ne 0 ]; then
+ eerror "Failed to connect to '${uri}'. Domains may not start."
+ fi
+ done
+
+ [ ! -e "${netstatefile}" ] && touch "${netstatefile}"
+ [ ! -e "${gueststatefile}" ] && touch "${gueststatefile}"
+
+ # if the user didn't want to start any guests up then respect their wish
+ [ "x${LIBVIRT_START}" = "xno" ] && return 0
+
+ # start networks
+ ebegin "Starting libvirt networks"
+ while read -r uri uuid
+ do
+ # ignore trash
+ [ -z "${uri}" ] || [ -z "${uuid}" ] && continue
+
+ name=$(do_virsh "${uri}" net-name ${uuid})
+ einfo " ${name}"
+ do_virsh "${uri}" net-start ${uuid} > /dev/null
+ done <"${netstatefile}"
+ eend 0
+
+ # start domains
+ ebegin "Starting libvirt domains"
+ while read -r uri uuid
+ do
+ # ignore trash
+ [ -z "${uri}" ] || [ -z "${uuid}" ] && continue
+
+ name=$(do_virsh "${uri}" domname ${uuid})
+ einfo " ${name}"
+ do_virsh "${uri}" start ${uuid} > /dev/null
+ done <"${gueststatefile}"
+ eend 0
+}
+
+stop() {
+ local counter=
+ local dom_name=
+ local net_name=
+ local dom_ids=
+ local uuid=
+ local dom_count=
+
+ rm -f "${gueststatefile}"
+ [ $? -ne 0 ] && eerror "Unable to save domain state"
+ rm -f "${netstatefile}"
+ [ $? -ne 0 ] && eerror "Unable to save net state"
+
+ for uri in ${LIBVIRT_URIS}; do
+ einfo "Stopping libvirt domains and networks for ${uri}"
+
+ libvirtd_dom_stop "${uri}" "--persistent"
+ libvirtd_dom_stop "${uri}" "--transient"
+ libvirtd_net_stop "${uri}" "--persistent"
+ libvirtd_net_stop "${uri}" "--transient"
+
+ einfo "Done stopping domains and networks for ${uri}"
+ done
+}
diff --git a/app-emulation/libvirt/libvirt-4.6.0.ebuild b/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild
similarity index 99%
rename from app-emulation/libvirt/libvirt-4.6.0.ebuild
rename to app-emulation/libvirt/libvirt-4.6.0-r1.ebuild
index 59de793cf86c..78736067968d 100644
--- a/app-emulation/libvirt/libvirt-4.6.0.ebuild
+++ b/app-emulation/libvirt/libvirt-4.6.0-r1.ebuild
@@ -348,7 +348,7 @@ src_install() {
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
newinitd "${S}/libvirtd.init" libvirtd || die
- newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die
+ newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index 72b1fb7e4bbd..e6f5276a786e 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -348,7 +348,7 @@ src_install() {
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
newinitd "${S}/libvirtd.init" libvirtd || die
- newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die
+ newinitd "${FILESDIR}/libvirt-guests.init-r3" libvirt-guests || die
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die
diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest
index a59667370be7..d88e6965e983 100644
--- a/app-emulation/lxd/Manifest
+++ b/app-emulation/lxd/Manifest
@@ -1,47 +1,2 @@
-DIST github.com-dustinkirkland-golang-petname-d3c2ba80e75eeef10c5cf2fc76d2c809637376b3.tar.gz 15127 BLAKE2B 06338b4364d9554a1334c04bd9ea81df7539641ef5ce41d681670b7b65c06160ef67e4bd3ad2529dc7864537d5be6a91be53c5e96335f5dfcab198a8bcae9a9b SHA512 0f63f01857c30fdb179400b80e4391a12675ed17a981e9f55273fcd44e06df3bbecc127cf80bfd73afe1d4c30cf37638d0b581b2dde787abe2c8835dca8dbc2d
-DIST github.com-flosch-pongo2-5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9.tar.gz 59915 BLAKE2B 763403cec3bcb27acd6654e7d2d57d198862b0d16c242ec975b46a7cca95560505b3373e8c4b7a53e7fc025523845bee16b90311f8bd341c0d2bfc28987ae0d4 SHA512 c40fc45b7a781067cc80a616b5a843977ff29071f7b36400631a7445d6fd8530144e73ecc1f406b2315be0725a214c62bfafb44f904b76d83384d8df488380ee
-DIST github.com-go-errgo-errgo-442357a80af5c6bf9b6d51ae791a39c3421004f3.tar.gz 7453 BLAKE2B 9f231836718860c023a487d0971e152656e0ff39dcd5efdfda8c62577dbf4ae82335bada308d44a4d0af5ec951e5608f40bb9e0a7567c1edce35664c98596744 SHA512 f54cdf5089b7e46f08f75f7f1b0bfb893b1cd0a36d08b925d5ba04d2fa6021e85fe0625235a9e712b09099e2f5cce46aa1700d12c12b0c54ab59c8d13030e820
-DIST github.com-go-httprequest-httprequest-fdaf1bffa25560ba0920e3e29aae85d3677ab32e.tar.gz 52964 BLAKE2B f0dddcd38b9f8ac75a3e45473e22cfab1db88bef19f90431b16d1a3699ab56ef7f0d038ce837c0305600d69bc5ba64dffd344143cd0bc4a10aa5093ca32b0771 SHA512 60688f2e320afaeaeb824226bd586b9e9d7ccde00d9585401ac328d83195a23dc3e4e26b1848bc9998023b732a559963920860f21056416161c31304388aad4d
-DIST github.com-go-macaroon-bakery-macaroon-bakery-ec9d2ad6796100720c154f614b6dea8798ec1181.tar.gz 124110 BLAKE2B c05d59504f7cd2d0cdb913b1d06898375fce112e71a1db0c1752628bc9939003a92ad608463cd0e1fa8d75945b9b5a76c0710ebb3ea126cfd67ea01b46229bff SHA512 2965b6441df2790e0378b962fb66672e2316902620223e4ca3a8ddf1ef38e2a76b9cda2a5013e664ef49073aed8f424e1713538626f6ce1929e81e3bacbef45f
-DIST github.com-go-macaroon-macaroon-bed2a428da6e56d950bed5b41fcbae3141e5b0d0.tar.gz 22383 BLAKE2B b2d89ccdf4ad0a8c29f44895697a9921d40b9316879f477f608fc5f59683f825a66357e5587d654a55ea80f0c79d6680f5dbb45590b2fea051fca4a7f23a9eb8 SHA512 7ec072cec42266cf8cdd44819c653b8d09b58622fdfa42fb12422c9727e6eb7326519fbeb247fa4840d8c87a5357ae0acd028a8d5757acedc3582810a5cc467b
-DIST github.com-go-mgo-mgo-3f83fa5005286a7fe593b055f0d7771a7dce4655.tar.gz 376880 BLAKE2B 800038e0870d8b943604bc5edf9ba566d20fed75f445834801955a19da6add891f96cbf5e19a93d520d90ccc4e9da911ab02cccb710fee67b3fe60e4409a717f SHA512 f0e7948d4672d29d3d0a741961ff8a75d30c556e157698118a32de10e2af8eb2ae6a61feea1c93aff313596d285a048a70dae7339c66760ebb91a1aecfb05845
-DIST github.com-go-retry-retry-01631078ef2fdce601e38cfe5f527fab24c9a6d2.tar.gz 9318 BLAKE2B d5eb408e4c4acf0c2304d951705a1f39f2b2663357f04402f5ee47bfc79182511e3a29568846bb902887aa5efb149ac6a4cf32ecae07a183f845ad8886fe0377 SHA512 71956a468472754313830a7f1afc844020e5ffc8bac4464e369562bde8c1cf5e11814fc110dcb00d243cbc6c13fe7a0423d29b73f0f420df8313666e645a7a24
-DIST github.com-go-tomb-tomb-d5d1b5820637886def9eef33e03a27a9f166942c.tar.gz 5515 BLAKE2B 9ae2c00b43da5958392e0817f448d01374712ce7552c07be0de8204a7f16a7442b195695d51782a375da7aaa83019446438d52a8768317216a7812380be8c1b1 SHA512 03ac20f7608db7c4ce54cc1ad9dfa62d770c32e1806a131909cb5c1ca4a9708b482e58d0e1bda0dbaff56ed36558a96ce2d4453566813967a32eef5245012a8d
-DIST github.com-go-yaml-yaml-287cf08546ab5e7e37d55a84f7ed3fd1db036de5.tar.gz 64826 BLAKE2B 47e9182124037317bdfc31137a2715db979146688e637a586f5a7c4a12250d0fcffdbbaa8793e189421d189b1071f48d8588cfda9ac1f3e297bfc244f30bcae7 SHA512 429256bb847defb53dee5c960edc726455397045e7dc2e4833e0e9088f9ec11452e2198961080dc00b8eff9d165df5e0377f4039932df0e46cd960827b8f800d
-DIST github.com-golang-crypto-d585fd2cc9195196078f516b69daff6744ef5e84.tar.gz 1443268 BLAKE2B 19bb8d2861225a14ba3f19b2ae96c6640833fea7da52228480634e715b7690afc94e605a5be1b70b263bb3045a0fbcf9f78211c431836d077cca7d076fec1686 SHA512 e82f87394d2a8d96779cc69c8803555b5d23eb02f3d38101ccb9142a892280c32b8123d61a309a041cf5034282b5269ea38b5d29e03c85ca3c62c4fc0802502e
-DIST github.com-golang-net-d866cfc389cec985d6fda2859936a575a55a3ab6.tar.gz 930024 BLAKE2B 9ab7175433046805426177276d963bdc356d488672e97cbd696e7d73f376af50a71ed5e8ba8c57e57ad0c6aa091bc8a54b1e67f09cf0085211363f4c33f077c5 SHA512 c841b5ab218f1ea6c8743264c72506ffa90372a7c8dc0fa1b1c22c965bf56e715ecf688acd22b5ecf747b7ded51f2f48fcdc859e4ce9d30911f48e3a6055d599
-DIST github.com-golang-protobuf-1e59b77b52bf8e4b449a57e6f79f21226d571845.tar.gz 268477 BLAKE2B af1775f715a7c8434fe46872d8edf75241c851fb93e1e3f888c5fa1b603397e68c3878c9c69afe618ff1b7ae3d0c219ec96b8648af2fd2c2c9424a33f1710a2e SHA512 07de72078a66528d864da78c88be36351cf79be5235ec9f4ed1d71061a56b9b216fd29984ccfb2a610223a86b80aba2b9ca28a0d36fc2346b23070e25e72e29b
-DIST github.com-golang-sys-571f7bbbe08da2a8955aed9d4db316e78630e9a3.tar.gz 789287 BLAKE2B 65b5dea36632e0521d0bb8fb73ae69b89eb533628081f966da956d5f572d9611e817202675aaeefc69492428401067094e1c07cd038cba91bea7e50649b95fce SHA512 7fa096e1a1282155b614c02d3d190fdd94096d2e51447b4dca59dba255edc9316835036e0cc91aa7439047c17e63faf279018e0f6c9e8d2b0b9a12c7e553a93c
-DIST github.com-gorilla-mux-5ab525f4fb1678e197ae59401e9050fa0b6cb5fd.tar.gz 33298 BLAKE2B 06f86b8f5a2794ac62a8088495ea7f62fc2e1afbed94d9c700be7ca00ab13fcce092b83e456a022893c46e7447e36f210189ed136271e34028829cac01058713 SHA512 a0e920b3aef17e2c81861343f41f26fe1f579a6589abac89fe00cdd2167f5f1a6fc0e2a1b2dbd69d0b3ea7e08f3c50297f0b7c952043259a220ec95b2ceb30f5
-DIST github.com-gorilla-websocket-cdedf21e585dae942951e34d6defc3215b4280fa.tar.gz 47287 BLAKE2B bc5baecc1779e821841c2b784aa7f43ee9e7a41ca2079c79538447a7645fbf5e87ae981b744ec973345da351114ea133f219d9ac1af5accfe470e8cdf1fca169 SHA512 88b7c5dacff563d88d3d4e06f57e2552ce10108beb239844323f58ff7829c9b717a8023e45805c5a9f649bfbf513d0384e0fab722968936deddc236048306686
-DIST github.com-gosexy-gettext-74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b.tar.gz 9682 BLAKE2B 2f8f662b5cfcfc00361a1aa1e658bb077da7dc42b220288691c92a9ca6555425a13f15b8fd8575e88ba8081e873687fc87b3a39c33efc80757323f7e70de17b5 SHA512 99a00ecfeb4226bba01dbef615f02b22f54959252c9fb99ed55f8c040026305fa54256f78eceb5c02ac6a77842c72fda43d1790590adfdcf3202095ad836a198
-DIST github.com-juju-environschema-7359fc7857abe2b11b5b3e23811a9c64cb6b01e0.tar.gz 17589 BLAKE2B 9c5bda709623cf05123ec0435af3be8017f2d1b2a296e1be3a1a98eac410bc38ab3c3d98848725707cc407b1c42a48f784bf69433854191a83bbaddac356f0c8 SHA512 ffc9d445c01c3b4d810320b3ff230226f6de1beda50660b3ead7eb2b5a0098661aaa4c929bd36b1acdc442d4504dea6c1b12ad94b5a8d0c1e7f79bdfb2abe4d9
-DIST github.com-juju-errors-c7d06af17c68cd34c835053720b21f6549d9b0ee.tar.gz 16210 BLAKE2B 7202acb00a3126943989fd276b9991122895dcb99a5b6e6a966f58e634b037447bbf49316c6c59e98aa9183b77aa07d9b4c4c7ad758ade2704cc3cdcac84a9c7 SHA512 04dfe2f155724d98c31fa2d274a13e77efc34364ffae172fffbc8e14b72f68a6301e6f582c1ff9f37cb105d11a7b3197e2ffa635f410ffb64d54e7c6fd1b9d1a
-DIST github.com-juju-go4-40d72ab9641a2a8c36a9c46a51e28367115c8e59.tar.gz 49363 BLAKE2B c037d267cef945e9760cfb8fcfb366553e850423bf98610db03b51154455dd5c6d2d3de91bf37956249f4ffc1ed5fb850b0438fcdea2891929ab4e7de73be989 SHA512 aca20234f5693a48f5cca41eb59e8e2b1320feec05a7961a950e596d9bcc14ed86786d815e0372cced669548cfa9386e9bcf0eb774a42954fd7a2fd095e9890b
-DIST github.com-juju-gomaasapi-663f786f595ba1707f56f62f7f4f2284c47c0f1d.tar.gz 101563 BLAKE2B 5ea442af00c6a30ad54e2f75eb2da41c29fb24364b00ab8bd8995f1b4ca2205b32e1d90fcfe03c7517884b4ef830c471e03a118b89f65c21388332027fd8e0a6 SHA512 edca0adf9f48f1c656236203c8686b67f5926f736725a7d910a47804f5005aa642bf1cc8e5a9079c5c50a3cfe6d0c735a645e52a1aa1da5380735f76be9b1436
-DIST github.com-juju-httprequest-77d36ac4b71a6095506c0617d5881846478558cb.tar.gz 49764 BLAKE2B 98a666f5477f9cd46baa13b19918cd07c5b9f8f94390d87a67230331ffd292de99a430ecb5588de045cc2573c7dbfae0c40fe043778d6917f4dcfbcf25cc8961 SHA512 9ab66aebaa650c7d67accf9261f4eaf2ba28ff37846350719b0d83774502b29fd4b179913669f0b833b99142905b4892b71ea76d368c707567e8b4b01378d27f
-DIST github.com-juju-idmclient-15392b0e99abe5983297959c737b8d000e43b34c.tar.gz 28723 BLAKE2B a15138e673a26600fbcd8c36a34bcd3e7e904b3afa306fde7d59eb72fc454be797d27f0c05221d290aebc09c5db5f80b458d9a85cfb68358ad17d834b694abc5 SHA512 65d5e8af7873f856250843fd43b14ba8c8ebc114a8fe9734d4073db5dc046079c7fbed9cc3c78aad4c74f886aeb9009c00a009bc6e683f6b5f8162e25a7af7d3
-DIST github.com-juju-loggo-8232ab8918d91c72af1a9fb94d3edbe31d88b790.tar.gz 22060 BLAKE2B 9e6c4cc2ab50ea43f5471510d67f0f134bc2046c3524d571bf4c884a4c09f5df160f4013cf8e05939cddf039c687b3dce512408f7305f320f4b1d17cf209609a SHA512 74ccd8f6f8600a38154d6a12436566111f4073fbbcfa5f0eb57a1813ddd97398d6e906f0b9be09a4304f677870ee70127f4906e9902dd6d767e3ef467e224883
-DIST github.com-juju-names-54f00845ae470a362430a966fe17f35f8784ac92.tar.gz 26092 BLAKE2B ad9f347ad1e2315f40e39ff0601e425dd4567ae53a71884e851a954d08e67df586469e489645951b6c6058a9c4be053089c3c74d3f63208a70862f269261a7de SHA512 de1a6d8cdf82cf19f11354e98a69d1580f4717c92479445f750ac06ef918804e1d35d994e480bdca64b1ecdca91533ec4961dc057bee0d886759f1ade0e87d07
-DIST github.com-juju-persistent-cookiejar-d5e5a8405ef9633c84af42fbcc734ec8dd73c198.tar.gz 23237 BLAKE2B 16eca916ba084dacf905d61f66f9d6ca4f5041a49b3d8849bf2c3f5182db89f29ea9de5fcbde45d8fffd54699c150710447216db0d356cd51eaf784290429ebd SHA512 4e534e305b9433974fc3b5fac6aadad9430ca5b8905c733913360b2a7ee37aa504a546fc1413d43af4938143132618db9890cbd1d22b3a5b91475680a4af84ca
-DIST github.com-juju-schema-e4e05803c9a103fdfa880476044100ac17e54830.tar.gz 11859 BLAKE2B 86ac989a6426f3faf791494b319668c2cc86a82ae645301ca6855b50f9a26ff3ccbc241d6d1be261c5d2548952479c9b8ce1ff2db2a335e7b8f71539d42a7a0c SHA512 b9097f06b220c7db1b2fc4305ee28540dc66ff4b8eff7e16186c241430264fb4dd6e190c90fef91543072bfcb6681a5ec8215e890c522297dbbf25aabfacb154
-DIST github.com-juju-utils-4d9b38694f1e441c16421e2320f2b2fbd97fa597.tar.gz 207854 BLAKE2B 284c0990484e76ecca5feba7e40700bb0315e855618554068f9bd5606372242ac49123c5f5f7b4c59e6c16331b07157aba3eec1e7d2589e70a1fe11f24c5cb45 SHA512 5ba34b5804f661c56b8ea94dcf17099f77c061559e859cc0dba057f7aede0998ae55cdf77abb0693b6d44eb7de8dcf1449a7cc4f644d03f3649e5e8575d297eb
-DIST github.com-juju-version-1f41e27e54f21acccf9b2dddae063a782a8a7ceb.tar.gz 6965 BLAKE2B d90780eed7a910c07d33e4debc5e877599935d6e377bc19560aeb46c83f93fe90fa323b9712a23b6ae4e4e78fba5c4b1aa9b2be308527b265493d8e25f363605 SHA512 80406755558ad1d1101ae93db00405d8305ad5bddbf3124f86e955ab351d3e7882588b7d13dc605f04413fc961f4fde5fe228058d178bcd666b377c9066f17ff
-DIST github.com-juju-webbrowser-54b8c57083b4afb7dc75da7f13e2967b2606a507.tar.gz 3930 BLAKE2B 58b8a759379dd8bd25805c41813d8ac6dff16253ec8ca063a7d93eeeaf7741451d08cebcd323299a8f828de7e87b2db3df63f3f31188eabd6862ab9cad4cde65 SHA512 ac04ae3adaa95fbd3278019629dd6ed12070a93697217098b1755998cbc6143c606e8176c172883fd27d55cea35b9877877b88a7fa5dd6dd4106477744c0b013
-DIST github.com-julienschmidt-httprouter-e1b9828bc9e5904baec057a154c09ca40fe7fae0.tar.gz 22461 BLAKE2B 159deb9cb8fe32f165bf96b9240f68c0fbf35873b6fe9f05c351f690e8a3713eed8a048fe2d917dc0f3622d0c4b84509771f20c9d4eeff8d380bd8b841d19748 SHA512 a8e1610caa188bcde29a603c05e2cc6914949637d17d4f8d7d0efa51edc4c348767af7fdf3072365ed2f26e0947112a5521a88fec383697243a85061b741462c
-DIST github.com-lxc-go-lxc-a7d112aed2f5f57f565d6e557671eeef7e76811c.tar.gz 38226 BLAKE2B 62ad90e0a0ae511b8b94857ad8be761f3d8fb0678ee67321934a2be6a931b6623822c51a4f304e59127008d75f5d44a7dd897d35591e6414b906a16c45232466 SHA512 7c2fffc303e4c8f89676e9a704f64698f2c7e35bcdb7376a9917d89e611dba06a8a42267edd58ad8ca099f43cbde41c0c6a99b6950c0bbcdb9f49296ded4da50
-DIST github.com-lxc-lxd-a324ad91230e5353fe746d06636dc59211122e6c.tar.gz 883109 BLAKE2B 9f4b7cf665fe693addbc56b721e0a02e8f64002e7e8bfa2d9a084590f7076c6e991db22a60d4b4070cece7f223fefa5f8ca35a68121edee8fbc9bb1437fb9c7f SHA512 ae1f43fef4a33e48f9c2a002a5e32dd7177eda78449180e147b2b23c8442bc5ad3def120caf2a4e494b4e4b6f1415c51af999fa7c838e3710ce046e3f653b03b
-DIST github.com-mattn-go-colorable-6fcc0c1fd9b620311d821b106a400b35dc95c497.tar.gz 8152 BLAKE2B 1bf8a085568b775c6aba6ef292be680e0ac522434b8563936f3061e8d44096b7a17e813b6b9818ecc3e5b3478259c1f364a48182cf46906336fea852e345d45f SHA512 da35fd75832c039baeb089dab06565ea7bda0eaddc14188a1ad21306b268322fd53f01cd48c652a0bae947139d8c8eb0086740edfa1ce7463625a9c9b2d9180b
-DIST github.com-mattn-go-isatty-6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c.tar.gz 3383 BLAKE2B 2034048312c4abc88a813d8ad83013f57e9a23477ecd847e92c3cf30e909e209f9a65acacf41d80b3569770c1400e338115c42fd48d358b66f68ccde69a9008d SHA512 1714a9e9ac7ad2ff30825328723b4c9a5c5f7544e876c6fe79b84c72ba1dd9bfcd6ded2308f6fcae8f1c893d22b84d6c72dfd30742edaa2a5b0d8e88eee27421
-DIST github.com-mattn-go-runewidth-97311d9f7767e3d6f422ea06661bc2c7a19e8a5d.tar.gz 22406 BLAKE2B e9f1d0da4d69c110a9b9ef0ec640dcb53bcc101288b15411367760b5710808f64eb8fe6f0d61f77ba89cad2f965da2d4f72d92e42a07986e1cc39777a050a8f8 SHA512 0452fbc64250169ea99fe4eb4e2ef4f81c7bce5b77572789186f749c9c502c29c7146f7ef57971b6b78db0abe33e9926931719dd610f59925e31e6dd6c0b8d70
-DIST github.com-mattn-go-sqlite3-d5ffb5c0cca8778699a929b236766f4a7af674e8.tar.gz 2071644 BLAKE2B e2aecc6c65f68120682afec947740c4c04dc464d09b19f92bcbe1660cc854be721d8b73734eb5aea701426336c88194768dd28b83ce96b4cdb1d1343105d5bda SHA512 daba1d9cfbed25f92fcedeae7588f31bfe8ad1eea30ae7e24fa4a83dee015f06858b05d6ead61d5a22cbf477070a275767132c030eb4697640cd8acd99816fe9
-DIST github.com-mpvl-subtest-f6e4cfd4b9ea1beb9fb5d53afba8c30804a02ae7.tar.gz 1066 BLAKE2B 15c502a85587ed58eb293667116bea860d9ac4986f3b0f13c695cf7de922a1cb1f574c4ae036e63e9caa56d93ba84055ce44eff862a8671d70a35ca681032970 SHA512 12668278478ea7e321ddaf46beb766d5607a9446a108550400c129754f7a701673e4331dc47336d75dab3d403d371656e72ce80555adc36d5ca708420fdb72c4
-DIST github.com-olekukonko-tablewriter-65fec0d89a572b4367094e2058d3ebe667de3b60.tar.gz 15185 BLAKE2B ba0e6cb42e67fddde9d4454c5757128842290daf6356bf44e05112d3759ef9373ae6ac7b82909f3cef7a31ac2b2612fc222861ca3f65190b24f80da9e2e0fa8e SHA512 48aa8d3e5795dc1d16486a1c418b60e51da254091081bc82116a66a7eac277c34814e0d8e598a7946dfbbc851b94a31d6d7e8032eb427bd858a5c3f56d3edbfd
-DIST github.com-pborman-uuid-e533369306653d193b93dae055f6083cbf8ba54f.tar.gz 13157 BLAKE2B cc68f4a5f2d1e753d9aa471a4f5cde6dc38cc88b8e4558068701415d89cb7410b79ebd39a77152848b4f30d6af05dbb07c5a9b0c469822ef703d7419c9281b7a SHA512 e1142c36ee10c31c35dd82fec40376f83540cd2b30a0e250e83fcc1aa2f4133cd13c76338c82e6619760fada05be5b62b87ac7958bdcca736459dbb77535a4d0
-DIST github.com-rogpeppe-fastuuid-6724a57986aff9bff1a1770e9347036def7c89f6.tar.gz 2506 BLAKE2B 457d346a717b9ca9b5374369810a11d5e298949d6681e28a0e8cffca1e3e7d160eb67c3d607aae224f0865ec4ed4b0b21c11d9f316295f31efdf21cf4f70bf8a SHA512 ab6c7d2e32d9b72b4495e9465c03b0b97e1a869f464eb49f3eb522cb04f65b2a45f5359a52ce71af2f59cfd986e0d58a0a76dc02c2583ac46eb0e33efd425dd7
-DIST github.com-stretchr-testify-2aa2c176b9dab406a6970f6a55f513e8a8c8b18f.tar.gz 94502 BLAKE2B 11d7fda9655c364de7c05a1ff0a2ead4b18261b016be89d66f118c6afdba7795bf55b54af64090121a0f789ce8708a85000298a5f032d3d578c36483bf64ae03 SHA512 b54e5d558d8419f1a5110c9803d8d120056264b4ccf0119207c1461a650c1a48fad35b4a6fdb681459be51f8bd6a728097e6c7c86bce0c0d828234aea6953ee0
-DIST github.com-syndtr-gocapability-db04d3cc01c8b54962a58ec7e491717d06cfcc16.tar.gz 9899 BLAKE2B 584e75a9c47d28498aedb5c85b3409c79c84ec9fc47a5a9dc77aa117b4e48f681f72a12a03fafa566a405def40b4961bb7343cad0c6ecb3cd9da883a51ed20d6 SHA512 fdd8a3cc1add7570269df6ad8867fd9d2da7bbf751416a5376ff123dcf959be13912b766f5214123e20fabd242a629e02f3bdaf0680782805afb81f6f08a78ae
-DIST lxd-2.21.tar.gz 882352 BLAKE2B 80542bcc03c05667ee0207dfbfd2bf41c5a6ef69178aec06ad62fe3521ed012ed9b82c68c0254e0299e8e1dfd274a0622f32bde730480a950ab6ba15ddae5f4b SHA512 9a8ec3a97e4c861a80311dbdecbf5a485c0af85d6ba6b20680ca17e6ac877de3f27cfdcf0a111ba0db2b7c562dfe2f41336b562b7c13350c4543505b3c17357e
-DIST lxd-3.1.tar.gz 27979442 BLAKE2B 0b74e3f76a7ab835b042b52b469a6fe11e7077d567e0658d13fab2192fd25d99518d65ba319c981a2e4677319e280cccae26f70ef99e9911264dc028ca5628fd SHA512 61f64d08dd80f7f676f386912f4dfc0d0af38cce0287de7865123b9da667b54ab91d22b76ffe03480e04ae0fbd8dc837d7d519d0e34409377c3d7e6624bf636c
-DIST lxd-3.2.tar.gz 28183660 BLAKE2B 9aabc9fd0bd66d3b4e0178448a65ca39c69e4e7a14d01309e0e023501de1c17b2b7887a9da5b84fcfde27db3f521cce3451beace9955232da9bd5e5136bc0043 SHA512 82c37e87d75e328a29b1f2876a24fedec43a253bb72f3ea55fa9cdb928d11947eda723a01e758f90ef77ed4492f86ec6dd5f1f88240d05e771d926dfdc9888fb
DIST lxd-3.3.tar.gz 28414680 BLAKE2B 7f3eecf400761548935e6e3c81d894379cd667ffbe6d8ef67a7dd3ad4f1c13846f524fcefc4cdc306674fb990706bda0b2c4ef390f320c41561fa86cf610586c SHA512 ed5d792c1080f2be7f48f34051fbfa28d138b4ccb5405edb13cd630776ec34312da491a1881f77dddbe1a121e589b44952e73ce1e61f2cba72243f3b8f4c0177
+DIST lxd-3.4.tar.gz 24313641 BLAKE2B 6f2db8a690474d020a0d43366e940760c0886c8af60e17ecc6bf1f9747d8454d09d619b723b1794bec503dda82028f7d81edc2d0c33216cbad9c810f2657198d SHA512 f041878fcfd2b45f594d97e748272d44c517f28e181861a604bef23f858c4bd59cc93ac56c24cce6d353743428b66940f11df268ff9f66e83a5c8f1fb95dc3aa
diff --git a/app-emulation/lxd/files/lxd-dont-go-get.patch b/app-emulation/lxd/files/lxd-dont-go-get.patch
deleted file mode 100644
index a6e25e325b95..000000000000
--- a/app-emulation/lxd/files/lxd-dont-go-get.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- /src/github.com/lxc/lxd/Makefile.orig 2016-07-11 23:34:40.299664675 +0000
-+++ /src/github.com/lxc/lxd/Makefile 2016-07-11 23:37:00.816018727 +0000
-@@ -13,13 +13,11 @@
-
- .PHONY: default
- default:
-- go get -t -v -d ./...
- go install -v $(TAGS) $(DEBUG) ./...
- @echo "LXD built successfully"
-
- .PHONY: client
- client:
-- go get -t -v -d ./...
- go install -v $(TAGS) $(DEBUG) ./lxc
- @echo "LXD client built successfully"
-
diff --git a/app-emulation/lxd/files/lxd.confd b/app-emulation/lxd/files/lxd.confd
index 3d553276a5e3..8e342cc62d16 100644
--- a/app-emulation/lxd/files/lxd.confd
+++ b/app-emulation/lxd/files/lxd.confd
@@ -15,13 +15,10 @@ LXD_OPTIONS+=" --group lxd"
#LXD_OPTIONS+=" --debug"
# For debugging, print a complete stack trace every n seconds
-#LXD_OPTIONS+=" --print-goroutines-every 5"
+#LXD_OPTIONS+=" --print-goroutines 5"
# Enables verbose mode
-#LXD_OPTIONS+=" -v"
+#LXD_OPTIONS+=" --verbose"
# Logfile to log to
#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
-
-# Enables syslog logging
-#LXD_OPTIONS+=" --syslog"
diff --git a/app-emulation/lxd/files/lxd.confd.1 b/app-emulation/lxd/files/lxd.confd.1
deleted file mode 100644
index 8e342cc62d16..000000000000
--- a/app-emulation/lxd/files/lxd.confd.1
+++ /dev/null
@@ -1,24 +0,0 @@
-# Group which owns the shared socket
-LXD_OPTIONS+=" --group lxd"
-
-
-
-# Enable cpu profiling into the specified file
-#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile"
-
-# Enable memory profiling into the specified file
-#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile"
-
-
-
-# Enables debug mode
-#LXD_OPTIONS+=" --debug"
-
-# For debugging, print a complete stack trace every n seconds
-#LXD_OPTIONS+=" --print-goroutines 5"
-
-# Enables verbose mode
-#LXD_OPTIONS+=" --verbose"
-
-# Logfile to log to
-#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
diff --git a/app-emulation/lxd/files/lxd.initd.1 b/app-emulation/lxd/files/lxd.initd.1
new file mode 100644
index 000000000000..b6d3cd4eb264
--- /dev/null
+++ b/app-emulation/lxd/files/lxd.initd.1
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DAEMON=/usr/sbin/lxd
+PIDFILE=/run/lxd.pid
+
+extra_commands="stopall"
+
+depend() {
+ need net
+ use lxcfs
+}
+
+start() {
+ ebegin "Starting lxd service"
+
+ start-stop-daemon --start \
+ --pidfile ${PIDFILE} \
+ --exec ${DAEMON} \
+ --background \
+ --make-pidfile \
+ --env LD_LIBRARY_PATH="/usr/lib/lxd" \
+ -- \
+ ${LXD_OPTIONS}
+
+ eend $?
+}
+
+stop() {
+ if [ "$RC_GOINGDOWN" = "YES" ] || [ "$RC_REBOOT" = "YES" ]; then
+ stopall
+ else
+ ebegin "Stopping lxd service (but not containers)"
+ start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
+ eend $?
+ fi
+}
+
+stopall() {
+ ebegin "Stopping lxd service and containers"
+ if "${DAEMON}" shutdown; then
+ /etc/init.d/lxd zap
+ rm -f ${PIDFILE}
+ fi
+ eend $?
+}
diff --git a/app-emulation/lxd/lxd-2.21.ebuild b/app-emulation/lxd/lxd-2.21.ebuild
deleted file mode 100644
index caefa812216a..000000000000
--- a/app-emulation/lxd/lxd-2.21.ebuild
+++ /dev/null
@@ -1,224 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Fast, dense and secure container management"
-HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
-EGO_PN_PARENT="github.com/lxc"
-EGO_PN="${EGO_PN_PARENT}/lxd"
-
-# Maintained with https://github.com/hsoft/gentoo-ego-vendor-update
-# The "# branch" comments are there for the script, they're important.
-EGO_VENDOR=(
- "github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16"
- "github.com/dustinkirkland/golang-petname d3c2ba80e75eeef10c5cf2fc76d2c809637376b3"
- "github.com/juju/gomaasapi 663f786f595ba1707f56f62f7f4f2284c47c0f1d"
- "github.com/juju/loggo 8232ab8918d91c72af1a9fb94d3edbe31d88b790"
- "github.com/juju/persistent-cookiejar d5e5a8405ef9633c84af42fbcc734ec8dd73c198"
- "github.com/juju/utils 4d9b38694f1e441c16421e2320f2b2fbd97fa597"
- "github.com/juju/idmclient 15392b0e99abe5983297959c737b8d000e43b34c"
- "github.com/juju/errors c7d06af17c68cd34c835053720b21f6549d9b0ee"
- "github.com/juju/go4 40d72ab9641a2a8c36a9c46a51e28367115c8e59"
- "github.com/juju/httprequest 77d36ac4b71a6095506c0617d5881846478558cb"
- "github.com/juju/version 1f41e27e54f21acccf9b2dddae063a782a8a7ceb"
- "github.com/juju/webbrowser 54b8c57083b4afb7dc75da7f13e2967b2606a507"
- "github.com/juju/schema e4e05803c9a103fdfa880476044100ac17e54830"
- "github.com/gorilla/websocket cdedf21e585dae942951e34d6defc3215b4280fa"
- "github.com/gorilla/mux 5ab525f4fb1678e197ae59401e9050fa0b6cb5fd"
- "github.com/mpvl/subtest f6e4cfd4b9ea1beb9fb5d53afba8c30804a02ae7"
- "github.com/olekukonko/tablewriter 65fec0d89a572b4367094e2058d3ebe667de3b60"
- "github.com/golang/protobuf 1e59b77b52bf8e4b449a57e6f79f21226d571845"
- "github.com/julienschmidt/httprouter e1b9828bc9e5904baec057a154c09ca40fe7fae0"
- "github.com/gosexy/gettext 74466a0a0c4a62fea38f44aa161d4bbfbe79dd6b"
- "github.com/stretchr/testify 2aa2c176b9dab406a6970f6a55f513e8a8c8b18f"
- "github.com/mattn/go-runewidth 97311d9f7767e3d6f422ea06661bc2c7a19e8a5d"
- "github.com/mattn/go-isatty 6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c"
- "github.com/mattn/go-colorable 6fcc0c1fd9b620311d821b106a400b35dc95c497"
- "github.com/mattn/go-sqlite3 d5ffb5c0cca8778699a929b236766f4a7af674e8"
- "github.com/rogpeppe/fastuuid 6724a57986aff9bff1a1770e9347036def7c89f6"
- "github.com/pborman/uuid e533369306653d193b93dae055f6083cbf8ba54f"
- "github.com/lxc/lxd a324ad91230e5353fe746d06636dc59211122e6c"
- "golang.org/x/crypto d585fd2cc9195196078f516b69daff6744ef5e84 github.com/golang/crypto"
- "golang.org/x/net d866cfc389cec985d6fda2859936a575a55a3ab6 github.com/golang/net"
- "golang.org/x/sys 571f7bbbe08da2a8955aed9d4db316e78630e9a3 github.com/golang/sys"
- "gopkg.in/retry.v1 01631078ef2fdce601e38cfe5f527fab24c9a6d2 github.com/go-retry/retry" # branch v1
- "gopkg.in/macaroon.v2 bed2a428da6e56d950bed5b41fcbae3141e5b0d0 github.com/go-macaroon/macaroon" # branch v2
- "gopkg.in/yaml.v2 287cf08546ab5e7e37d55a84f7ed3fd1db036de5 github.com/go-yaml/yaml" # branch v2
- "gopkg.in/juju/names.v2 54f00845ae470a362430a966fe17f35f8784ac92 github.com/juju/names" # branch v2
- "gopkg.in/juju/environschema.v1 7359fc7857abe2b11b5b3e23811a9c64cb6b01e0 github.com/juju/environschema" # branch v1
- "gopkg.in/macaroon-bakery.v2 ec9d2ad6796100720c154f614b6dea8798ec1181 github.com/go-macaroon-bakery/macaroon-bakery" # branch v2
- "gopkg.in/httprequest.v1 fdaf1bffa25560ba0920e3e29aae85d3677ab32e github.com/go-httprequest/httprequest" # branch v1
- "gopkg.in/flosch/pongo2.v3 5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9 github.com/flosch/pongo2" # branch v3.0
- "gopkg.in/mgo.v2 3f83fa5005286a7fe593b055f0d7771a7dce4655 github.com/go-mgo/mgo" # branch v2
- "gopkg.in/tomb.v2 d5d1b5820637886def9eef33e03a27a9f166942c github.com/go-tomb/tomb" # branch v2
- "gopkg.in/errgo.v1 442357a80af5c6bf9b6d51ae791a39c3421004f3 github.com/go-errgo/errgo" # branch v1
- "gopkg.in/lxc/go-lxc.v2 a7d112aed2f5f57f565d6e557671eeef7e76811c github.com/lxc/go-lxc" # branch v2
-)
-
-ARCHIVE_URI="https://${EGO_PN}/archive/${P}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-IUSE="+daemon +ipv6 +dnsmasq nls test"
-
-inherit bash-completion-r1 linux-info systemd user golang-vcs-snapshot
-
-SRC_URI="${ARCHIVE_URI}
- ${EGO_VENDOR_URI}"
-
-DEPEND="
- >=dev-lang/go-1.7.1
- dev-libs/protobuf
- nls? ( sys-devel/gettext )
- test? (
- app-misc/jq
- dev-db/sqlite
- net-misc/curl
- sys-devel/gettext
- )
-"
-
-RDEPEND="
- daemon? (
- app-arch/xz-utils
- >=app-emulation/lxc-2.0.7[seccomp]
- dnsmasq? (
- net-dns/dnsmasq[dhcp,ipv6?]
- )
- net-misc/rsync[xattr]
- sys-apps/iproute2[ipv6?]
- sys-fs/squashfs-tools
- virtual/acl
- )
-"
-
-CONFIG_CHECK="
- ~BRIDGE
- ~DUMMY
- ~IP6_NF_NAT
- ~IP6_NF_TARGET_MASQUERADE
- ~IPV6
- ~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
- ~MACVLAN
- ~NETFILTER_XT_MATCH_COMMENT
- ~NET_IPGRE
- ~NET_IPGRE_DEMUX
- ~NET_IPIP
- ~NF_NAT_MASQUERADE_IPV4
- ~NF_NAT_MASQUERADE_IPV6
- ~VXLAN
-"
-
-ERROR_BRIDGE="BRIDGE: needed for network commands"
-ERROR_DUMMY="DUMMY: needed for network commands"
-ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands"
-ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands"
-ERROR_IPV6="IPV6: needed for network commands"
-ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands"
-ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands"
-ERROR_MACVLAN="MACVLAN: needed for network commands"
-ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands"
-ERROR_NET_IPGRE="NET_IPGRE: needed for network commands"
-ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands"
-ERROR_NET_IPIP="NET_IPIP: needed for network commands"
-ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands"
-ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands"
-ERROR_VXLAN="VXLAN: needed for network commands"
-
-PATCHES=(
- "${FILESDIR}/${PN}-dont-go-get.patch"
-)
-
-src_prepare() {
- default_src_prepare
-
- # Examples in go-lxc make our build fail.
- rm -rf "${S}/src/${EGO_PN}/vendor/gopkg.in/lxc/go-lxc.v2/examples" || die
-}
-
-src_compile() {
- export GOPATH="${S}"
-
- cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir"
-
- tmpgoroot="${T}/goroot"
- if use daemon; then
- # Build binaries
- emake
- else
- # build client tool
- emake client
- fi
-
- use nls && emake build-mo
-}
-
-src_test() {
- if use daemon; then
- export GOPATH="${S}"
- cd "${S}/src/${EGO_PN}" || die "Failed to change to deep src dir"
-
- emake check
- else
- einfo "No tests to run for client-only builds"
- fi
-}
-
-src_install() {
- dobin bin/lxc
- if use daemon; then
- dosbin bin/lxd
- dobin bin/fuidshift
- fi
-
- cd "src/${EGO_PN}" || die "can't cd into ${S}/src/${EGO_PN}"
-
- if use nls; then
- domo po/*.mo
- fi
-
- if use daemon; then
- newinitd "${FILESDIR}"/${PN}.initd lxd
- newconfd "${FILESDIR}"/${PN}.confd lxd
-
- systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
- fi
-
- newbashcomp config/bash/lxd-client lxc
-
- dodoc AUTHORS README.md doc/*
-}
-
-pkg_postinst() {
- einfo
- einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
- einfo "including a Quick Start."
-
- # The messaging below only applies to daemon installs
- use daemon || return 0
-
- # The control socket will be owned by (and writeable by) this group.
- enewgroup lxd
-
- # Ubuntu also defines an lxd user but it appears unused (the daemon
- # must run as root)
-
- einfo
- einfo "Though not strictly required, some features are enabled at run-time"
- einfo "when the relevant helper programs are detected:"
- einfo "- sys-apps/apparmor"
- einfo "- sys-fs/btrfs-progs"
- einfo "- sys-fs/lvm2"
- einfo "- sys-fs/lxcfs"
- einfo "- sys-fs/zfs"
- einfo "- sys-process/criu"
- einfo
- einfo "Since these features can't be disabled at build-time they are"
- einfo "not USE-conditional."
- einfo
- einfo "Networks with bridge.mode=fan are unsupported due to requiring"
- einfo "a patched kernel and iproute2."
-}
diff --git a/app-emulation/lxd/lxd-3.2.ebuild b/app-emulation/lxd/lxd-3.2.ebuild
deleted file mode 100644
index 473f52df5378..000000000000
--- a/app-emulation/lxd/lxd-3.2.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Fast, dense and secure container management"
-HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
-
-LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-IUSE="+daemon +ipv6 +dnsmasq nls test"
-
-inherit bash-completion-r1 linux-info systemd user
-
-SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
-
-DEPEND="
- >=dev-lang/go-1.9.4
- dev-libs/protobuf
- nls? ( sys-devel/gettext )
- test? (
- app-misc/jq
- net-misc/curl
- sys-devel/gettext
- )
-"
-
-RDEPEND="
- daemon? (
- app-arch/xz-utils
- >=app-emulation/lxc-2.0.7[seccomp]
- dnsmasq? (
- net-dns/dnsmasq[dhcp,ipv6?]
- )
- net-misc/rsync[xattr]
- sys-apps/iproute2[ipv6?]
- sys-fs/squashfs-tools
- virtual/acl
- )
-"
-
-CONFIG_CHECK="
- ~BRIDGE
- ~DUMMY
- ~IP6_NF_NAT
- ~IP6_NF_TARGET_MASQUERADE
- ~IPV6
- ~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
- ~MACVLAN
- ~NETFILTER_XT_MATCH_COMMENT
- ~NET_IPGRE
- ~NET_IPGRE_DEMUX
- ~NET_IPIP
- ~NF_NAT_MASQUERADE_IPV4
- ~NF_NAT_MASQUERADE_IPV6
- ~VXLAN
-"
-
-ERROR_BRIDGE="BRIDGE: needed for network commands"
-ERROR_DUMMY="DUMMY: needed for network commands"
-ERROR_IP6_NF_NAT="IP6_NF_NAT: needed for network commands"
-ERROR_IP6_NF_TARGET_MASQUERADE="IP6_NF_TARGET_MASQUERADE: needed for network commands"
-ERROR_IPV6="IPV6: needed for network commands"
-ERROR_IP_NF_NAT="IP_NF_NAT: needed for network commands"
-ERROR_IP_NF_TARGET_MASQUERADE="IP_NF_TARGET_MASQUERADE: needed for network commands"
-ERROR_MACVLAN="MACVLAN: needed for network commands"
-ERROR_NETFILTER_XT_MATCH_COMMENT="NETFILTER_XT_MATCH_COMMENT: needed for network commands"
-ERROR_NET_IPGRE="NET_IPGRE: needed for network commands"
-ERROR_NET_IPGRE_DEMUX="NET_IPGRE_DEMUX: needed for network commands"
-ERROR_NET_IPIP="NET_IPIP: needed for network commands"
-ERROR_NF_NAT_MASQUERADE_IPV4="NF_NAT_MASQUERADE_IPV4: needed for network commands"
-ERROR_NF_NAT_MASQUERADE_IPV6="NF_NAT_MASQUERADE_IPV6: needed for network commands"
-ERROR_VXLAN="VXLAN: needed for network commands"
-
-EGO_PN="github.com/lxc/lxd"
-
-PATCHES=(
- "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572
- "${FILESDIR}/de-translation-newline.patch"
-)
-
-# LXD tarball is packaged with a nice "dist" folder containing all dependencies
-# that were vendored by upstream at release time. That saves us the trouble of
-# vendoring the dependencies ourselves. This is why there was this drastic drop
-# in ebuild complexity compared to pre 3.0.0-r2 ebuilds.
-src_compile() {
- export GOPATH="${S}/dist"
-
- # We don't use the Makefile here because it builds targets with the
- # assumption that `pwd` is in a deep gopath namespace, which we're not.
- # It's simpler to manually call "go install" than patching the Makefile.
- #
- # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library
- # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which
- # at the time of this writing, depends on patched version of sqlite with
- # replication capabilities added. We don't have that patch in dev-db/sqlite.
- # Therefore, we let LXD use its own private copy of sqlite.
- go install -v -x ${EGO_PN}/lxc || die "Failed to build the client"
-
- if use daemon; then
- go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift"
- go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon"
- fi
-
- use nls && emake build-mo
-}
-
-src_test() {
- if use daemon; then
- export GOPATH="${S}/dist"
- # This is mostly a copy/paste from the Makefile's "check" rule, but
- # patching the Makefile to work in a non "fully-qualified" go namespace
- # was more complicated than this modest copy/paste.
- # Also: sorry, for now a network connection is needed to run tests.
- # Will properly bundle test dependencies later.
- go get -v -x github.com/rogpeppe/godeps
- go get -v -x github.com/remyoudompheng/go-misc/deadcode
- go get -v -x github.com/golang/lint/golint
- go test -v ${EGO_PN}/lxd
- else
- einfo "No tests to run for client-only builds"
- fi
-}
-
-src_install() {
- local bindir="dist/bin"
- dobin ${bindir}/lxc
- if use daemon; then
- dosbin ${bindir}/lxd
- dobin ${bindir}/fuidshift
- fi
-
- if use nls; then
- domo po/*.mo
- fi
-
- if use daemon; then
- newinitd "${FILESDIR}"/${PN}.initd lxd
- newconfd "${FILESDIR}"/${PN}.confd.1 lxd
-
- systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
- fi
-
- newbashcomp scripts/bash/lxd-client lxc
-
- dodoc AUTHORS README.md doc/*
-}
-
-pkg_postinst() {
- einfo
- einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
- einfo "including a Quick Start."
-
- # The messaging below only applies to daemon installs
- use daemon || return 0
-
- # The control socket will be owned by (and writeable by) this group.
- enewgroup lxd
-
- # Ubuntu also defines an lxd user but it appears unused (the daemon
- # must run as root)
-
- einfo
- einfo "Though not strictly required, some features are enabled at run-time"
- einfo "when the relevant helper programs are detected:"
- einfo "- sys-apps/apparmor"
- einfo "- sys-fs/btrfs-progs"
- einfo "- sys-fs/lvm2"
- einfo "- sys-fs/lxcfs"
- einfo "- sys-fs/zfs"
- einfo "- sys-process/criu"
- einfo
- einfo "Since these features can't be disabled at build-time they are"
- einfo "not USE-conditional."
- einfo
- einfo "Networks with bridge.mode=fan are unsupported due to requiring"
- einfo "a patched kernel and iproute2."
-}
diff --git a/app-emulation/lxd/lxd-3.3.ebuild b/app-emulation/lxd/lxd-3.3.ebuild
index 16a412be6a96..393042c8ae5e 100644
--- a/app-emulation/lxd/lxd-3.3.ebuild
+++ b/app-emulation/lxd/lxd-3.3.ebuild
@@ -8,7 +8,7 @@ HOMEPAGE="https://linuxcontainers.org/lxd/introduction/"
LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="+daemon +ipv6 +dnsmasq nls test"
@@ -139,7 +139,7 @@ src_install() {
if use daemon; then
newinitd "${FILESDIR}"/${PN}.initd lxd
- newconfd "${FILESDIR}"/${PN}.confd.1 lxd
+ newconfd "${FILESDIR}"/${PN}.confd lxd
systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
fi
diff --git a/app-emulation/lxd/lxd-3.1.ebuild b/app-emulation/lxd/lxd-3.4.ebuild
similarity index 56%
rename from app-emulation/lxd/lxd-3.1.ebuild
rename to app-emulation/lxd/lxd-3.4.ebuild
index 7f27f52217fb..c5ce43a9eb1c 100644
--- a/app-emulation/lxd/lxd-3.1.ebuild
+++ b/app-emulation/lxd/lxd-3.4.ebuild
@@ -10,13 +10,14 @@ LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="+daemon +ipv6 +dnsmasq nls test"
+IUSE="+daemon +ipv6 +dnsmasq nls test tools"
-inherit bash-completion-r1 linux-info systemd user
+inherit autotools bash-completion-r1 linux-info systemd user
SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
DEPEND="
+ dev-lang/tcl
>=dev-lang/go-1.9.4
dev-libs/protobuf
nls? ( sys-devel/gettext )
@@ -31,11 +32,18 @@ RDEPEND="
daemon? (
app-arch/xz-utils
>=app-emulation/lxc-2.0.7[seccomp]
+ dev-libs/lzo
+ dev-util/xdelta:3
dnsmasq? (
net-dns/dnsmasq[dhcp,ipv6?]
)
+ net-firewall/ebtables
+ net-firewall/iptables[ipv6?]
+ net-libs/libnfnetlink
net-misc/rsync[xattr]
sys-apps/iproute2[ipv6?]
+ sys-fs/fuse
+ sys-fs/lxcfs
sys-fs/squashfs-tools
virtual/acl
)
@@ -77,31 +85,53 @@ ERROR_VXLAN="VXLAN: needed for network commands"
EGO_PN="github.com/lxc/lxd"
-PATCHES=(
- "${FILESDIR}/ja-translation-newline.patch" # https://github.com/lxc/lxd/pull/4572
-)
+src_prepare() {
+ eapply_user
+ eapply "${FILESDIR}/de-translation-newline.patch"
+
+ cd "${S}/dist/dqlite" || die "Can't cd to dqlite dir"
+ eautoreconf
+}
+
+src_configure() {
+ export GOPATH="${S}/dist"
+ cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
+ econf --enable-replication --disable-amalgamation --disable-tcl --libdir=/usr/lib/lxd
+
+ cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
+ PKG_CONFIG_PATH="${GOPATH}/sqlite/" econf --libdir=/usr/lib/lxd
+}
-# LXD tarball is packaged with a nice "dist" folder containing all dependencies
-# that were vendored by upstream at release time. That saves us the trouble of
-# vendoring the dependencies ourselves. This is why there was this drastic drop
-# in ebuild complexity compared to pre 3.0.0-r2 ebuilds.
src_compile() {
export GOPATH="${S}/dist"
+ cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
+ emake
+
+ cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
+ emake CFLAGS="-I${GOPATH}/sqlite"
+
# We don't use the Makefile here because it builds targets with the
# assumption that `pwd` is in a deep gopath namespace, which we're not.
# It's simpler to manually call "go install" than patching the Makefile.
- #
- # ABOUT "-tags libsqlite3": we used to link to the system's sqlite3 library
- # but since v3.0.0, LXD depends on github.com/CanonicalLtd/dqlite which
- # at the time of this writing, depends on patched version of sqlite with
- # replication capabilities added. We don't have that patch in dev-db/sqlite.
- # Therefore, we let LXD use its own private copy of sqlite.
+ cd "${S}"
go install -v -x ${EGO_PN}/lxc || die "Failed to build the client"
if use daemon; then
+
+ # LXD depends on a patched, bundled sqlite with replication
+ # capabilities.
+ export CGO_CFLAGS="-I${GOPATH}/sqlite/ -I${GOPATH}/dqlite/include/"
+ export CGO_LDFLAGS="-L${GOPATH}/sqlite/.libs/ -L${GOPATH}/dqlite/.libs/"
+ export LD_LIBRARY_PATH="${GOPATH}/sqlite/.libs/:${GOPATH}/dqlite/.libs/"
+
+ go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon"
+ fi
+
+ if use tools; then
go install -v -x ${EGO_PN}/fuidshift || die "Failed to build fuidshift"
- go install -v -x ${EGO_PN}/lxd || die "Failed to build the daemon"
+ go install -v -x ${EGO_PN}/lxc-to-lxd || die "Failed to build lxc-to-lxd"
+ go install -v -x ${EGO_PN}/lxd-benchmark || die "Failed to build lxd-benchmark"
fi
use nls && emake build-mo
@@ -128,8 +158,26 @@ src_install() {
local bindir="dist/bin"
dobin ${bindir}/lxc
if use daemon; then
+
+ export GOPATH="${S}/dist"
+ cd "${GOPATH}/sqlite" || die "Can't cd to sqlite dir"
+ emake DESTDIR="${D}" install
+
+ cd "${GOPATH}/dqlite" || die "Can't cd to dqlite dir"
+ emake DESTDIR="${D}" install
+
+ # Must only install libs
+ rm "${D}/usr/bin/sqlite3" || die "Can't remove custom sqlite3 binary"
+ rm -r "${D}/usr/include" || die "Can't remove include directory"
+
+ cd "${S}" || die "Can't cd to \${S}"
dosbin ${bindir}/lxd
+ fi
+
+ if use tools; then
dobin ${bindir}/fuidshift
+ dobin ${bindir}/lxc-to-lxd
+ dobin ${bindir}/lxd-benchmark
fi
if use nls; then
@@ -137,21 +185,21 @@ src_install() {
fi
if use daemon; then
- newinitd "${FILESDIR}"/${PN}.initd lxd
- newconfd "${FILESDIR}"/${PN}.confd.1 lxd
+ newinitd "${FILESDIR}"/${PN}.initd.1 lxd
+ newconfd "${FILESDIR}"/${PN}.confd lxd
systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
fi
newbashcomp scripts/bash/lxd-client lxc
- dodoc AUTHORS README.md doc/*
+ dodoc AUTHORS doc/*
}
pkg_postinst() {
- einfo
- einfo "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
- einfo "including a Quick Start."
+ elog
+ elog "Consult https://wiki.gentoo.org/wiki/LXD for more information,"
+ elog "including a Quick Start."
# The messaging below only applies to daemon installs
use daemon || return 0
@@ -162,19 +210,23 @@ pkg_postinst() {
# Ubuntu also defines an lxd user but it appears unused (the daemon
# must run as root)
- einfo
- einfo "Though not strictly required, some features are enabled at run-time"
- einfo "when the relevant helper programs are detected:"
- einfo "- sys-apps/apparmor"
- einfo "- sys-fs/btrfs-progs"
- einfo "- sys-fs/lvm2"
- einfo "- sys-fs/lxcfs"
- einfo "- sys-fs/zfs"
- einfo "- sys-process/criu"
- einfo
- einfo "Since these features can't be disabled at build-time they are"
- einfo "not USE-conditional."
- einfo
- einfo "Networks with bridge.mode=fan are unsupported due to requiring"
- einfo "a patched kernel and iproute2."
+ elog
+ elog "Though not strictly required, some features are enabled at run-time"
+ elog "when the relevant helper programs are detected:"
+ elog "- sys-apps/apparmor"
+ elog "- sys-fs/btrfs-progs"
+ elog "- sys-fs/lvm2"
+ elog "- sys-fs/zfs"
+ elog "- sys-process/criu"
+ elog
+ elog "Since these features can't be disabled at build-time they are"
+ elog "not USE-conditional."
+ elog
+ elog "Be sure to add your local user to the lxd group."
+ elog
+ elog "Networks with bridge.mode=fan are unsupported due to requiring"
+ elog "a patched kernel and iproute2."
}
+
+# TODO:
+# - man page, I don't see cobra generating it
diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml
index de08da5ec7d6..3896143698f3 100644
--- a/app-emulation/lxd/metadata.xml
+++ b/app-emulation/lxd/metadata.xml
@@ -27,7 +27,10 @@
Build the system daemon, not just the client tool
- Depend on dnsmasq to provide DHCP and DNS.
+ Depend on dnsmasq to provide DHCP and DNS
+
+
+ Build and install optional tools
diff --git a/app-emulation/spice/spice-0.14.0-r1.ebuild b/app-emulation/spice/spice-0.14.0-r1.ebuild
deleted file mode 100644
index b3727d668a7e..000000000000
--- a/app-emulation/spice/spice-0.14.0-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
-
-inherit autotools ltprune python-any-r1 readme.gentoo-r1 xdg-utils
-
-DESCRIPTION="SPICE server"
-HOMEPAGE="https://www.spice-space.org/"
-SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="libressl lz4 sasl smartcard static-libs gstreamer"
-
-# the libspice-server only uses the headers of libcacard
-RDEPEND="
- dev-lang/orc[static-libs(+)?]
- >=dev-libs/glib-2.22:2[static-libs(+)?]
- media-libs/opus[static-libs(+)?]
- sys-libs/zlib[static-libs(+)?]
- virtual/jpeg:0=[static-libs(+)?]
- >=x11-libs/pixman-0.17.7[static-libs(+)?]
- !libressl? ( dev-libs/openssl:0=[static-libs(+)?] )
- libressl? ( dev-libs/libressl:0=[static-libs(+)?] )
- lz4? ( app-arch/lz4:0=[static-libs(+)?] )
- smartcard? ( >=app-emulation/libcacard-0.1.2 )
- sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- >=app-emulation/spice-protocol-0.12.13
- virtual/pkgconfig
- $(python_gen_any_dep '
- >=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- ')
- smartcard? ( app-emulation/qemu[smartcard] )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-libressl_fix.patch
- "${FILESDIR}"/${P}-openssl1.1_fix.patch
-)
-
-python_check_deps() {
- has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
- has_version "dev-python/six[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- # Prevent sandbox violations, bug #586560
- # https://bugzilla.gnome.org/show_bug.cgi?id=744134
- # https://bugzilla.gnome.org/show_bug.cgi?id=744135
- addpredict /dev
-
- xdg_environment_reset
-
- local myconf="
- $(use_enable static-libs static)
- $(use_enable lz4)
- $(use_with sasl)
- $(use_enable smartcard)
- --enable-gstreamer=$(usex gstreamer "1.0" "no")
- --disable-celt051
- "
- econf ${myconf}
-}
-
-src_compile() {
- # Prevent sandbox violations, bug #586560
- # https://bugzilla.gnome.org/show_bug.cgi?id=744134
- # https://bugzilla.gnome.org/show_bug.cgi?id=744135
- addpredict /dev
-
- default
-}
-
-src_install() {
- default
- use static-libs || prune_libtool_files
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/app-portage/Manifest.gz b/app-portage/Manifest.gz
index 3ca1650bbcfc..050e16ef5b66 100644
Binary files a/app-portage/Manifest.gz and b/app-portage/Manifest.gz differ
diff --git a/app-portage/gemato/gemato-14.0.ebuild b/app-portage/gemato/gemato-14.0.ebuild
index cd8960201957..47850ca8bb4b 100644
--- a/app-portage/gemato/gemato-14.0.ebuild
+++ b/app-portage/gemato/gemato-14.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd"
IUSE="+blake2 bzip2 +gpg lzma sha3 test tools"
MODULE_RDEPEND="
diff --git a/app-text/Manifest.gz b/app-text/Manifest.gz
index 82e03243da36..dc99b270ecca 100644
Binary files a/app-text/Manifest.gz and b/app-text/Manifest.gz differ
diff --git a/app-text/cmigemo/cmigemo-1.3c-r3.ebuild b/app-text/cmigemo/cmigemo-1.3c-r3.ebuild
new file mode 100644
index 000000000000..dadb8751f0b9
--- /dev/null
+++ b/app-text/cmigemo/cmigemo-1.3c-r3.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit flag-o-matic toolchain-funcs
+
+MY_P="${P}-MIT"
+DESCRIPTION="Migemo library implementation in C"
+HOMEPAGE="http://www.kaoriya.net/#CMIGEMO"
+SRC_URI="http://www.kaoriya.net/dist/var/${MY_P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~x86"
+IUSE="emacs unicode vim-syntax"
+
+DEPEND=">=app-dicts/migemo-dict-200812[unicode=]
+ dev-lang/perl
+ || (
+ net-misc/curl
+ net-misc/wget
+ net-misc/fetch
+ )
+ app-i18n/nkf"
+RDEPEND="${DEPEND}
+ emacs? ( >=app-text/migemo-0.40-r1 )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ # Bug #246953
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-ldflags.patch
+)
+
+src_prepare() {
+ default
+
+ touch dict/SKK-JISYO.L || die
+ if use unicode ; then
+ sed -i -e "/gcc:/s/euc-jp/utf-8/" dict/dict.mak || die
+ fi
+
+ # Bug #255813
+ sed -i -e "/^docdir/s:/doc/migemo:/share/doc/${PF}:" compile/config.mk.in || die
+}
+
+src_compile() {
+ append-flags -fPIC
+ # parallel make b0rked
+ emake -j1 \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ gcc-all
+}
+
+src_install() {
+ # parallel make b0rked
+ emake -j1 \
+ prefix="${D}/usr" \
+ libdir="${D}/usr/$(get_libdir)" \
+ gcc-install
+
+ local encoding
+ if use unicode ; then
+ encoding="utf-8"
+ else
+ encoding="euc-jp"
+ fi
+
+ mv "${D}/usr/share/migemo/${encoding}/"*.dat "${D}/usr/share/migemo/" || die
+ rm -rf "${D}/usr/share/migemo/"{cp932,euc-jp,utf-8} || die
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/plugin
+ doins tools/migemo.vim
+ fi
+
+ dodoc doc/{README_j,TODO_j,vimigemo}.txt
+}
+
+pkg_postinst() {
+ if use emacs ; then
+ elog
+ elog "Please add to your ~/.emacs"
+ elog " (setq migemo-command \"cmigemo\")"
+ elog " (setq migemo-options '(\"-q\" \"--emacs\" \"-i\" \"\\\\a\"))"
+ elog " (setq migemo-dictionary \"/usr/share/migemo/migemo-dict\")"
+ elog " (setq migemo-user-dictionary nil)"
+ elog " (setq migemo-regex-dictionary nil)"
+ elog "to use cmigemo instead of migemo under emacs."
+ elog
+ fi
+}
diff --git a/app-text/xmldiff/Manifest b/app-text/xmldiff/Manifest
index 93a6ee9f46bc..efbfe9d10446 100644
--- a/app-text/xmldiff/Manifest
+++ b/app-text/xmldiff/Manifest
@@ -1 +1,2 @@
DIST xmldiff-0.6.10.tar.gz 45827 BLAKE2B f4b97d4fa7063f1edb66ab1bd465dc81cd66f35233dcd3d8ae2cc1f13e9e841645ddf8848dcd3bafc45d44da218c8260b36f5210883f3963572b375173e6d687 SHA512 b183a6e94258c4d693fa97e759868dae2dca6088e3cf12cf08b40e82d18a375f02b12d62d0cfc03fb74a5138f32f6614f555b95a3062ba768d1cdaf3391cc95b
+DIST xmldiff-1.1.1.tar.gz 36429 BLAKE2B 2d84a1552851b0964ac837a30c61a99a3360292020251aa06ed71723e89b6a8f89a79107c69a317b16d810ee74241d38837d382b0dcb134b43f72f58ee2b6ea2 SHA512 cf65bdd827b76781b693089b8742f6358931456c4fdfd0f4b2a9e13b30101b48379ea9c2bf3dcb32d6d22198769262f2603172ffa877bec2ddfa5fabfdf74326
diff --git a/app-text/xmldiff/metadata.xml b/app-text/xmldiff/metadata.xml
index e7734cc5fb8a..30d3057f57c4 100644
--- a/app-text/xmldiff/metadata.xml
+++ b/app-text/xmldiff/metadata.xml
@@ -12,4 +12,7 @@
used as a library or as a command line tool. It can work either with XML
files or DOM trees.
+
+ Shoobx/xmldiff
+
diff --git a/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild b/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild
index e116f9beb7a1..7f33b19bd77d 100644
--- a/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild
+++ b/app-text/xmldiff/xmldiff-0.6.10-r2.ebuild
@@ -8,7 +8,7 @@ PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
DESCRIPTION="A tool that figures out the differences between two similar XML files"
-HOMEPAGE="https://www.logilab.org/project/xmldiff"
+HOMEPAGE="https://github.com/Shoobx/xmldiff https://www.logilab.org/project/xmldiff"
SRC_URI="ftp://ftp.logilab.fr/pub/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
diff --git a/app-text/xmldiff/xmldiff-1.1.1.ebuild b/app-text/xmldiff/xmldiff-1.1.1.ebuild
new file mode 100644
index 000000000000..955725e5043f
--- /dev/null
+++ b/app-text/xmldiff/xmldiff-1.1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool that figures out the differences between two similar XML files"
+HOMEPAGE="https://github.com/Shoobx/xmldiff https://www.logilab.org/project/xmldiff"
+SRC_URI="https://github.com/Shoobx/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86 ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-python/future
+ dev-python/lxml
+ dev-python/six"
+
+DOCS=( AUTHORS.rst CHANGES.rst README.rst TODO.rst )
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index 56c6c7aaa53b..6b941d6ed711 100644
Binary files a/dev-cpp/Manifest.gz and b/dev-cpp/Manifest.gz differ
diff --git a/dev-cpp/glibmm/Manifest b/dev-cpp/glibmm/Manifest
index aef4ee6c9423..49475c5066a4 100644
--- a/dev-cpp/glibmm/Manifest
+++ b/dev-cpp/glibmm/Manifest
@@ -1,3 +1,4 @@
DIST glibmm-2.50.1.tar.xz 6444576 BLAKE2B dbbdb79d8de9510f9bec770523ca7f4c93d287cbd9890b2fbc08712f6a2815186ee792f6339820a14aa9e4d49c9d1735c6c6651994cc4e03549f0d96b33f87ad SHA512 4f25c75c1628ca2f4db1c29cebc63187d372603066b06aa6a66c6da792f9e02cb4a413e41f058a81e2d5a2b38d625de13df76115b278f010ce2fc493fe6e6bbb
DIST glibmm-2.52.1.tar.xz 6451164 BLAKE2B 740178b51a2263ecc4778833fa6f2fd3913cdfc4e93b1a732a1b0ec9d43eb4ed60ab6bea48e02081d75a3ec1f98a149ebff47ced54dcce07e7ae011b2d20452d SHA512 702158762cb28972b315ab98dc00a62e532bda08b6e76dc2a2556e8cb381c2021290891887a4af2fbff5a62bab4d50581be73037dc8e0dc47d5febd6cbeb7bda
DIST glibmm-2.54.1.tar.xz 6837384 BLAKE2B 98e4acb5b80786a27195bea43cc425a45219078ef839e97c60c9e3f52b3a0b3c928e19469d679529b5091d8ac1953d4f315ea75618c3fcc8f33d15f6565b5783 SHA512 94f2a4d6972684e25e38ff2e6bcfc1e9c5e4d096856d3419320c14166e27e26b1ad69be434337e9b70c23842989988113521aae7a800ef2f29e81f1ae6c25a13
+DIST glibmm-2.56.0.tar.xz 6859520 BLAKE2B 8d7f0120de211002d587e6ec0d3750dcdce60abae6506395b318be876d5ed680b1451920063f06d6d9655137d50482a9ba936caa0f6da127bb3855e43b4d877f SHA512 65e577009019e30e340ae5fe6e4c854e5a75551b2eb83ad85403d73eb4e77879783162d4c3c354bc37be0be842f0ddffc1977021a5e0c32985fb596d86929c08
diff --git a/dev-cpp/glibmm/glibmm-2.56.0.ebuild b/dev-cpp/glibmm/glibmm-2.56.0.ebuild
new file mode 100644
index 000000000000..f1bd461d832f
--- /dev/null
+++ b/dev-cpp/glibmm/glibmm-2.56.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for glib2"
+HOMEPAGE="https://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+ GPL-2+" # GPL-2+ applies only to the build system
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~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 test"
+
+RDEPEND="
+ >=dev-libs/libsigc++-2.9.1:2[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.55.1:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+"
+# dev-cpp/mm-common needed for eautoreconf
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die "sed 1 failed"
+ fi
+
+ # don't build examples - we want to install example sources, not binaries
+ sed 's/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/' \
+ -i Makefile.am Makefile.in || die "sed 2 failed"
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable debug debug-refcounting) \
+ $(multilib_native_use_enable doc documentation) \
+ --enable-deprecated-api
+}
+
+multilib_src_test() {
+ cd tests
+ default
+
+ for i in */test; do
+ ${i} || die "Running tests failed at ${i}"
+ done
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find examples -type d -name '.deps' -exec rm -rf {} \; 2>/dev/null
+ find examples -type f -name 'Makefile*' -exec rm -f {} \; 2>/dev/null
+ dodoc -r examples
+}
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index d04e496e962d..4bc853e559d2 100644
Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ
diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest
index e8c4a3e7e94a..7a72bb867ed6 100644
--- a/dev-db/percona-server/Manifest
+++ b/dev-db/percona-server/Manifest
@@ -2,3 +2,4 @@ DIST mysql-extras-20171121-1518Z.tar.bz2 313539 BLAKE2B c397fdf7ffb3fcbcecda2093
DIST mysql-extras-20180628-0201Z.tar.bz2 322141 BLAKE2B fce35cfea4ffa9860908fcdf440cd0d714c402c42ee2afb22cec9e727971c216310c7db561ca1b37deebb2cea5137fe24f19b491ad500949e3170ccec3de0b13 SHA512 71a3800ec091b41e41d25536199149eb714c0bbfc0f6fc478e8e4dcaf4cf87a7e4d49c513da3c9badc0de810d7d78c05ad91dd898e45005b42136346237de42a
DIST percona-server-5.6.39-83.1.tar.gz 56307662 BLAKE2B 474e497a83e7a8f7bf628b2622a0bfeead0f5003ed87dd4228e85a8b1c75bfdfc40f75604e9ed621f6d143d69bcada29163bf140b765951cf0b23e5660623e52 SHA512 d014bc0ebf8d8f1842b4a79eb0a868e3c9e0e33d3eb3cbf301b5504dcb341e1f2a0d6c2c4003666f59fbf75eb274356ee6b059ff2cddf2b457143ee5e1aba471
DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b620b7d460dd7a559316ca96905573b0fa2d7180b084ed425f76f6d850f06862e424b5a8d6ced8356f9075826b77e89e86095eb40 SHA512 b1075933bdf1afb726acd799e834cb45a1d2a15d3f37f313da71f8da03a7b9480d7ccfb4cb6a820fb6ccf58851d8c9473bce975203cd6bc007a2b74b36a1127f
+DIST percona-server-5.6.41-84.1.tar.gz 52736448 BLAKE2B 1ec5e17f08274caa3882f829f25bbf74a3b37d2ba208f62376106f0d89e5470f461f7852e365d5da9503d5500702e28f08461e5aa0c5ae6b1a30a0e98dbb426b SHA512 60783154f9ab097083a484c34e584b396eeba4aa53dc8616c467ca9c85cc626be08e3165740703453cc4fb35f3af94ac34260f1e2bb133d60f832661251cbb3c
diff --git a/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild b/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild
new file mode 100644
index 000000000000..a46ac7790a75
--- /dev/null
+++ b/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild
@@ -0,0 +1,954 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20180628-0201Z"
+PYTHON_COMPAT=( python2_7 )
+CMAKE_MAKEFILE_GENERATOR=emake
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit linux-info python-any-r1 eutils flag-o-matic prefix toolchain-funcs \
+ versionator user cmake-utils multilib-minimal
+
+MY_PV=$(replace_version_separator 3 '-')
+MY_PN="Percona-Server"
+MY_MAJOR_PV=$(get_version_component_range 1-2)
+MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.6/release-notes/release-notes_index.html"
+SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz"
+
+# Gentoo patches to MySQL
+if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
+ https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
+fi
+
+HOMEPAGE="https://www.percona.com/software/percona-server"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL from the Percona team"
+LICENSE="GPL-2"
+SLOT="0/18"
+IUSE="-client-libs cracklib debug jemalloc latin1 libressl numa pam +perl profiling rocksdb selinux
+ +server static static-libs systemtap tcmalloc test test-suite tokudb tokudb-backup-plugin yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="libressl? ( test )"
+
+REQUIRED_USE="tokudb-backup-plugin? ( tokudb ) tokudb? ( jemalloc !tcmalloc ) ?? ( tcmalloc jemalloc ) static? ( yassl )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+
+# Shorten the path because the socket path length must be shorter than 107 chars
+# and we will run a mysql server during test phase
+S="${WORKDIR}/mysql"
+
+if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras"
+ EGIT_CLONE_TYPE=shallow
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras"
+else
+ MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}"
+fi
+
+PATCHES=(
+ "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch
+ "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch
+ "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.6.20.patch
+ "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch
+ "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch
+ "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch
+ "${MY_PATCH_DIR}"/20018_all_percona-server-5.6.39-without-clientlibs-tools.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+# MULTILIB_USEDEP only set for libraries used by the client library
+COMMON_DEPEND="
+ kernel_linux? (
+ sys-process/procps:0=
+ dev-libs/libaio:0=
+ )
+ >=sys-apps/sed-4
+ >=sys-apps/texinfo-4.7-r1
+ jemalloc? ( dev-libs/jemalloc:0= )
+ tcmalloc? ( dev-util/google-perftools:0= )
+ systemtap? ( >=dev-util/systemtap-1.3:0= )
+ !yassl? (
+ client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] )
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] )
+ )
+ !client-libs? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ )
+ client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] )
+ !client-libs? ( >=sys-libs/zlib-1.2.3:0= )
+ sys-libs/ncurses:0=
+ server? (
+ >=dev-libs/boost-1.65.0:=
+ numa? ( sys-process/numactl )
+ pam? ( virtual/pam:0= )
+ tokudb? ( app-arch/snappy )
+ tokudb-backup-plugin? ( dev-util/valgrind )
+ )
+ !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] )
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ test? (
+ $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]')
+ dev-perl/JSON
+ )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ abi_x86_32? ( !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] )
+ client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c )
+ !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ ${COMMON_DEPEND}
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
+
+python_check_deps() {
+ has_version "dev-python/mysql-python[${PYTHON_USEDEP}]"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"}
+ MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"}
+ MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"}
+ MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"}
+
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=""
+ if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
+ MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
+ | sed -e 's/.*=\s*//' \
+ | tail -n1`
+ fi
+ fi
+ if [[ -z "${MY_DATADIR}" ]] ; then
+ MY_DATADIR="${MY_LOCALSTATEDIR}"
+ einfo "Using default MY_DATADIR"
+ fi
+ elog "MySQL MY_DATADIR is ${MY_DATADIR}"
+
+ if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
+ if [[ -e "${MY_DATADIR}" ]] ; then
+ # If you get this and you're wondering about it, see bug #207636
+ elog "MySQL datadir found in ${MY_DATADIR}"
+ elog "A new one will not be created."
+ PREVIOUS_DATADIR="yes"
+ else
+ PREVIOUS_DATADIR="no"
+ fi
+ export PREVIOUS_DATADIR
+ fi
+ else
+ if [[ ${EBUILD_PHASE} == "config" ]] ; then
+ local new_MY_DATADIR
+ new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
+ | sed -ne '/datadir/s|^--datadir=||p' \
+ | tail -n1`
+
+ if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then
+ ewarn "MySQL MY_DATADIR has changed"
+ ewarn "from ${MY_DATADIR}"
+ ewarn "to ${new_MY_DATADIR}"
+ MY_DATADIR="${new_MY_DATADIR}"
+ fi
+ fi
+ fi
+
+ export MY_SHAREDSTATEDIR MY_SYSCONFDIR
+ export MY_LOCALSTATEDIR MY_LOGDIR
+ export MY_DATADIR
+}
+
+pkg_pretend() {
+ if use numa; then
+ local CONFIG_CHECK="~NUMA"
+
+ local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;"
+ WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support"
+
+ check_extra_config
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ local GCC_MAJOR_SET=$(gcc-major-version)
+ local GCC_MINOR_SET=$(gcc-minor-version)
+
+ if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} with tokudb needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die "Unsupported GCC version"
+ fi
+
+ # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on
+ # non x86{,_64} arches
+ if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \
+ ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then
+ eerror "${PN} needs to be built with gcc-4.7 or later."
+ eerror "Please use gcc-config to switch to gcc-4.7 or later version."
+ die "Unsupported GCC version"
+ fi
+
+ if has test ${FEATURES} && \
+ use server && ! has userpriv ${FEATURES} ; then
+ eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ die "FEATURES=test with FEATURES=-userpriv is not supported"
+ fi
+
+ if has test ${FEATURES} && ! use test ; then
+ eerror "FEATURES=test requires USE=test."
+ die "FEATURES=test set but not USE=test"
+ fi
+
+ use test && python-any-r1_pkg_setup
+ fi
+
+ # This should come after all of the die statements
+ enewgroup mysql 60 || die "problem adding 'mysql' group"
+ enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${PN}-${MY_PV}" "${S}" || die
+}
+
+src_prepare() {
+ if use jemalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ elif use tcmalloc ; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die
+ fi
+
+ # Don't build bundled xz-utils
+ if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then
+ echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die
+ elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then
+ echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die
+ sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die
+ sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die
+ fi
+
+ if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then
+ rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die
+ fi
+
+ # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux
+ if [[ -d "${S}/support-files/SELinux" ]] ; then
+ echo > "${S}/support-files/SELinux/CMakeLists.txt" || die
+ fi
+
+ if use libressl ; then
+ sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \
+ "${S}/cmake/ssl.cmake" || die
+ fi
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # bug 508724 mariadb cannot use ld.gold
+ tc-ld-disable-gold
+
+ # Bug #114895, bug #110149
+ filter-flags "-O" "-O[01]"
+
+ append-cxxflags -felide-constructors
+
+ # bug #283926, with GCC4.4, this is required to get correct behavior.
+ append-flags -fno-strict-aliasing
+
+ if use client-libs ; then
+ multilib-minimal_src_configure
+ else
+ multilib_src_configure
+ fi
+}
+
+multilib_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if ! multilib_is_native_abi && ! use client-libs ; then
+ return
+ fi
+
+ CMAKE_BUILD_TYPE="RelWithDebInfo"
+
+ # debug hack wrt #497532
+ mycmakeargs=(
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
+ -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DSYSCONFDIR="${EPREFIX%/}/etc/mysql"
+ -DINSTALL_BINDIR=bin
+ -DINSTALL_DOCDIR=share/doc/${PF}
+ -DINSTALL_DOCREADMEDIR=share/doc/${PF}
+ -DINSTALL_INCLUDEDIR=include/mysql
+ -DINSTALL_INFODIR=share/info
+ -DINSTALL_LIBDIR=$(get_libdir)
+ -DINSTALL_MANDIR=share/man
+ -DINSTALL_MYSQLSHAREDIR=share/mysql
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin
+ -DINSTALL_SCRIPTDIR=share/mysql/scripts
+ -DINSTALL_SQLBENCHDIR=NO
+ -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql"
+ -DCOMPILATION_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ ### TODO: make this system but issues with UTF-8 prevent it
+ -DWITH_EDITLINE=bundled
+ -DWITH_ZLIB=system
+ -DWITH_LIBWRAP=0
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ # The build forces this to be defined when cross-compiling. We pass it
+ # all the time for simplicity and to make sure it is actually correct.
+ -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1)
+ -DWITH_LIBEVENT=NO
+ )
+ if use test || use test-suite ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ if ! use client-libs ; then
+ mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ # systemtap only works on native ABI bug 530132
+ if multilib_is_native_abi; then
+ mycmakeargs+=(
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+ else
+ mycmakeargs+=(
+ -DWITHOUT_TOOLS=1
+ -DWITH_READLINE=1
+ -DENABLE_DTRACE=0
+ )
+ fi
+
+ if multilib_is_native_abi && use server ; then
+ mycmakeargs+=(
+ -DWITH_PAM=$(usex pam)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then
+ ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
+ ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
+ ewarn "You MUST file bugs without these variables set."
+
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET}
+ -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION}
+ )
+
+ elif ! use latin1 ; then
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=utf8
+ -DDEFAULT_COLLATION=utf8_general_ci
+ )
+ else
+ mycmakeargs+=(
+ -DDEFAULT_CHARSET=latin1
+ -DDEFAULT_COLLATION=latin1_swedish_ci
+ )
+ fi
+ mycmakeargs+=(
+ -DEXTRA_CHARSETS=all
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DENABLED_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -DWITH_EXAMPLE_STORAGE_ENGINE=0
+ -DWITH_ARCHIVE_STORAGE_ENGINE=1
+ -DWITH_BLACKHOLE_STORAGE_ENGINE=1
+ -DWITH_CSV_STORAGE_ENGINE=1
+ -DWITH_HEAP_STORAGE_ENGINE=1
+ -DWITH_INNOBASE_STORAGE_ENGINE=1
+ -DWITH_MYISAMMRG_STORAGE_ENGINE=1
+ -DWITH_MYISAM_STORAGE_ENGINE=1
+ -DWITH_PARTITION_STORAGE_ENGINE=1
+ -DWITH_FEDERATED_STORAGE_ENGINE=1
+ -DWITH_INNODB_MEMCACHED=0
+ -DWITH_ROCKSDB=$(usex rocksdb 1 0)
+ $(usex tokudb '' -DWITHOUT_TOKUDB=1)
+ )
+
+ if use tokudb ; then
+ # TokuDB Backup plugin requires valgrind unconditionally
+ mycmakeargs+=(
+ $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1)
+ )
+ fi
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ if use client-libs ; then
+ multilib-minimal_src_compile
+ else
+ multilib_src_compile
+ fi
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+}
+
+# Official test instructions:
+# FEATURES='test userpriv -usersandbox' \
+# ebuild percona-server-X.X.XX.ebuild \
+# digest clean package
+src_test() {
+ _disable_test() {
+ local rawtestname reason
+ rawtestname="${1}" ; shift
+ reason="${@}"
+ ewarn "test '${rawtestname}' disabled: '${reason}'"
+ echo ${rawtestname} : ${reason} >> "${T}/disabled.def"
+ }
+
+ local TESTDIR="${BUILD_DIR}/mysql-test"
+ local retstatus_unit
+ local retstatus_tests
+
+ if ! use server ; then
+ einfo "Skipping server tests due to minimal build."
+ return 0
+ fi
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ einfo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+
+ # Run CTest (test-units)
+ cmake-utils_src_test
+ retstatus_unit=$?
+
+ # Ensure that parallel runs don't die
+ export MTR_BUILD_THREAD="$((${RANDOM} % 100))"
+ # Enable parallel testing, auto will try to detect number of cores
+ # You may set this by hand.
+ # The default maximum is 8 unless MTR_MAX_PARALLEL is increased
+ export MTR_PARALLEL="${MTR_PARALLEL:-auto}"
+
+ # create directories because mysqladmin might run out of order
+ mkdir -p "${T}"/var-tests{,/log} || die "Failed to create \"${T}/var-tests{,/log}\""
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die "Failed to chdir into \"${TESTDIR}\""
+
+ touch "${T}/disabled.def"
+ # These are failing in MySQL 5.6 for now and are believed to be
+ # false positives:
+
+ local t
+ for t in main.mysql_client_test \
+ binlog.binlog_statement_insert_delayed main.information_schema \
+ main.mysqld--help-notwin binlog.binlog_mysqlbinlog_filter \
+ perfschema.binlog_edge_mix perfschema.binlog_edge_stmt \
+ funcs_1.is_columns_mysql funcs_1.is_tables_mysql funcs_1.is_triggers \
+ main.variables main.myisam main.merge_recover \
+ engines/funcs.db_alter_character_set engines/funcs.db_alter_character_set_collate \
+ engines/funcs.db_alter_collate_ascii engines/funcs.db_alter_collate_utf8 \
+ engines/funcs.db_create_character_set engines/funcs.db_create_character_set_collate \
+ main.percona_bug1289599 main.mysqlhotcopy_archive main.mysqlhotcopy_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ if use numa && use kernel_linux ; then
+ # bug 584880
+ if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then
+ for t in sys_vars.innodb_buffer_pool_populate_basic ; do
+ _disable_test "$t" "Test $t requires system with NUMA support"
+ done
+ fi
+ fi
+
+ # Set file limits higher so tests run
+ if ! ulimit -n 16500 1>/dev/null 2>&1 ; then
+ # Upper limit comes from parts.partition_* tests
+ ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager."
+
+ if ! ulimit -n 4162 1>/dev/null 2>&1 ; then
+ # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)'
+ ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager."
+
+ if ! ulimit -n 3000 1>/dev/null 2>&1 ; then
+ ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager."
+ else
+ einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 4162 (medium test coverage)."
+ fi
+ else
+ einfo "Will run test suite with open file limit set to 16500 (best test coverage)."
+ fi
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" \
+ --testcase-timeout=30 --reorder --skip-test-list="${T}/disabled.def"
+ retstatus_tests=$?
+
+ popd > /dev/null || die
+
+ # Cleanup is important for these testcases.
+ pkill -9 -f "${S}/ndb" 2>/dev/null
+ pkill -9 -f "${S}/sql" 2>/dev/null
+
+ local failures=""
+ [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit"
+ [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests"
+
+ if [[ -n "$failures" ]] ; then
+ if has usersandbox ${FEATURES}; then
+ ewarn "Some tests may have failed due to FEATURES=usersandbox"
+ ewarn "Please confirm test failure with FEATURES=-usersandbox before reporting a bug."
+ fi
+
+ die "Test failures: $failures"
+ fi
+
+ einfo "Tests successfully completed"
+}
+
+src_install() {
+ local MULTILIB_WRAPPED_HEADERS
+ local MULTILIB_CHOST_TOOLS
+ if use client-libs ; then
+ # headers with ABI specific data
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mysql/server/my_config.h
+ /usr/include/mysql/server/mysql_version.h )
+
+ # wrap the config scripts
+ MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config )
+ multilib-minimal_src_install
+ else
+ multilib_src_install
+ multilib_src_install_all
+ fi
+}
+
+# Intentionally override eclass function
+multilib_src_install() {
+ cmake-utils_src_install
+
+ # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them.
+ find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die
+}
+
+multilib_src_install_all() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Convenience links
+ einfo "Making Convenience links for mysqlcheck multi-call binary"
+ dosym "mysqlcheck" "/usr/bin/mysqlanalyze"
+ dosym "mysqlcheck" "/usr/bin/mysqlrepair"
+ dosym "mysqlcheck" "/usr/bin/mysqloptimize"
+
+ # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir
+ if [[ -d "${ED}/usr/data" ]] ; then
+ rm -rf "${ED%/}/usr/data" || die
+ fi
+
+ # Unless they explicitly specific USE=test, then do not install the
+ # testsuite. It DOES have a use to be installed, esp. when you want to do a
+ # validation of your database configuration after tuning it.
+ if ! use test-suite ; then
+ rm -rf "${D%/}/${MY_SHAREDSTATEDIR#/}/mysql-test" || die
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ mycnf_src="my.cnf-5.6"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok"
+ if use latin1 ; then
+ sed -i \
+ -e "/character-set/s|utf8|latin1|g" \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ eprefixify "${TMPDIR}/my.cnf.ok"
+ newins "${TMPDIR}/my.cnf.ok" my.cnf
+
+ if use server ; then
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ for script in \
+ "${S}"/support-files/my-*.cnf.sh \
+ "${S}"/support-files/magic \
+ "${S}"/support-files/ndb-config-2-node.ini.sh
+ do
+ [[ -f $script ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}"
+ done
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+pkg_preinst() {
+ # Here we need to see if the implementation switched client libraries
+ # We check if this is a new instance of the package and a client library already exists
+ local SHOW_ABI_MESSAGE libpath
+ if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then
+ libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so")
+ elog "Due to ABI changes when switching between different client libraries,"
+ elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient."
+ elog "Please run: revdep-rebuild --library ${libpath}"
+ ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries"
+ fi
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${EROOT%/}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${EROOT%/}${MY_LOGDIR}"
+
+ if use server ; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ einfo
+ elog "You might want to run:"
+ elog " \"emerge --config =${CATEGORY}/${PF}\""
+ elog "if this is a new install."
+ elog
+ elog "If you are switching server implentations, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ else
+ local _replacing_version=
+ for _replacing_version in ${REPLACING_VERSIONS}; do
+ local _new_version_branch=$(get_version_component_range 1-3 "${PV}")
+ local _replacing_version_branch=$(get_version_component_range 1-3 "${_replacing_version}")
+ debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..."
+
+ if ! version_is_at_least "${_new_version_branch}" "${_replacing_version_branch}"; then
+ debug-print "Upgrading from v${_replacing_version_branch} to v${_new_version_branch} ..."
+ # https://www.percona.com/blog/2014/09/19/mysql-upgrade-best-practices/
+
+ einfo
+ elog "You are upgrading an existing ${PN} installation, you should review"
+ elog "release notes at ${MY_RELEASE_NOTES_URI}"
+ elog "and run the mysql_upgrade tool."
+ einfo
+
+ // Break loop - we only want to show this hint once
+ break
+ fi
+ done
+ fi
+
+ elog "Since ${PN}-5.6.39.83.1-r1 we no longer provide client libs."
+ elog "Applications depending on client libs should migrate to virtual/libmysqlclient"
+ elog "which will pull-in dev-db/mysql-connector-c as their new client lib provider."
+ einfo
+ fi
+}
+
+pkg_config() {
+ _getoptval() {
+ local mypd="${EROOT%/}"/usr/bin/my_print_defaults
+ local section="${1}"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+
+ # Bug #213475 - MySQL _will_ object strenously if your machine is named
+ # localhost. Also causes weird failures.
+ [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
+
+ local old_MY_DATADIR="${MY_DATADIR}"
+ local old_HOME="${HOME}"
+ # my_print_defaults needs to read stuff in $HOME/.my.cnf
+ export HOME=${EPREFIX%/}/root
+
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
+ if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then
+ die "Minimal builds do NOT include the MySQL server"
+ fi
+
+ if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then
+ local MY_DATADIR_s="${EROOT%/}/${MY_DATADIR#/}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${EROOT%/}/${old_MY_DATADIR#/}"
+ old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}"
+
+ if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then
+ if [[ -d "${MY_DATADIR_s}" ]]; then
+ ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist"
+ ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}"
+ else
+ elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}"
+ mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \
+ || die "Moving MY_DATADIR failed"
+ fi
+ else
+ ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist"
+ if [[ -d "${MY_DATADIR_s}" ]] ; then
+ ewarn "Attempting to use ${MY_DATADIR_s}"
+ else
+ eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist"
+ die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}"
+ fi
+ fi
+ fi
+
+ # These are dir+prefix
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)"
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ -d "${EROOT%/}/${MY_DATADIR#/}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${EROOT%/}/${MY_DATADIR#/}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ fi
+
+ if [[ ! -d "${EROOT%/}/${MYSQL_TMPDIR#/}" ]] ; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/${MYSQL_TMPDIR#/}"
+ fi
+ if [[ ! -d "${EROOT%/}/${MYSQL_LOG_BIN#/}" ]] ; then
+ einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/${MYSQL_LOG_BIN#/}"
+ fi
+ if [[ ! -d "${EROOT%/}/${MYSQL_RELAY_LOG#/}" ]] ; then
+ einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG"
+ install -d -m 770 -o mysql -g mysql "${EROOT%/}/${MYSQL_RELAY_LOG#/}"
+ fi
+
+ local pwd1="a"
+ local pwd2="b"
+ local maxtry=15
+
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ] ; then
+ local tmp_mysqld_password_source=
+
+ for tmp_mysqld_password_source in mysql client; do
+ einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..."
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)"
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then
+ ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!"
+ MYSQL_ROOT_PASSWORD=
+ continue
+ fi
+
+ einfo "Found password in '${tmp_mysqld_password_source}' section!"
+ break
+ fi
+ done
+
+ # Sometimes --show is required to display passwords in some implementations of my_print_defaults
+ if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then
+ MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)"
+ fi
+
+ unset tmp_mysqld_password_source
+ fi
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ einfo "Please provide a password for the mysql 'root' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ read -rsp " >" pwd1 ; echo
+
+ einfo "Retype the password"
+ read -rsp " >" pwd2 ; echo
+
+ if [[ "x$pwd1" != "x$pwd2" ]] ; then
+ die "Passwords are not the same"
+ fi
+ MYSQL_ROOT_PASSWORD="${pwd1}"
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see http://bugs.mysql.com/bug.php?id=31312
+ use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR%/}/my.cnf'"
+
+ # Figure out which options we need to disable to do the setup
+ local helpfile="${TMPDIR%/}/mysqld-help"
+ "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null
+ for opt in grant-tables host-cache name-resolve networking slave-start \
+ federated ssl log-bin relay-log slow-query-log external-locking \
+ log-slave-updates \
+ ; do
+ optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}"
+ egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}"
+ done
+
+ einfo "Creating the mysql database and setting proper permissions on it ..."
+
+ # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it
+ PID_DIR="${EROOT%/}/var/run/mysqld"
+ if [[ ! -d "${PID_DIR}" ]] ; then
+ install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory"
+ fi
+
+ if [[ ! -d "${EROOT%/}/${MY_DATADIR#/}" ]] ; then
+ install -d -m 750 -o mysql -g mysql "${EROOT%/}/${MY_DATADIR#/}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
+ "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
+
+ local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EROOT%/}/usr" ${options} "--datadir=${EROOT%/}/${MY_DATADIR#/}" "--tmpdir=${EROOT%/}/${MYSQL_TMPDIR#/}" )
+ einfo "Command: ${cmd[*]}"
+ su -s /bin/sh -c "${cmd[*]}" mysql \
+ >"${TMPDIR%/}"/mysql_install_db.log 2>&1
+ if [[ $? -ne 0 ]] ; then
+ grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2
+ die "Failed to initialize mysqld. Please review ${EROOT%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${EROOT%/}/${MY_DATADIR#/}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ use prefix || options="${options} --user=mysql"
+
+ local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock"
+ local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid"
+ local mysqld="${EROOT%/}/usr/sbin/mysqld \
+ ${options} \
+ --log-warnings=0 \
+ --basedir=${EROOT%/}/usr \
+ --datadir=${EROOT%/}/${MY_DATADIR#/} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile}
+ --tmpdir=${EROOT%/}/${MYSQL_TMPDIR#/}"
+ #einfo "About to start mysqld: ${mysqld}"
+ ebegin "Starting mysqld"
+ einfo "Command ${mysqld}"
+ ${mysqld} &
+ rc=$?
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+ eend $rc
+
+ if ! [[ -S "${socket}" ]] ; then
+ die "Completely failed to start up mysqld with: ${mysqld}"
+ fi
+
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES"
+ "${EROOT%/}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ eend $?
+
+ if [[ -n "${sqltmp}" ]] ; then
+ ebegin "Loading \"zoneinfo\", this step may require a few seconds"
+ "${EROOT%/}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -uroot \
+ --password="${MYSQL_ROOT_PASSWORD}" \
+ mysql < "${sqltmp}"
+ rc=$?
+ eend $?
+ [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!"
+ fi
+
+ # Stop the server and cleanup
+ einfo "Stopping the server ..."
+ kill $(< "${pidfile}" )
+ rm -f "${sqltmp}"
+ wait %1
+ einfo "Done"
+}
diff --git a/dev-go/Manifest.gz b/dev-go/Manifest.gz
index e21547444d74..59eeac7e2af3 100644
Binary files a/dev-go/Manifest.gz and b/dev-go/Manifest.gz differ
diff --git a/dev-go/go-crypto/Manifest b/dev-go/go-crypto/Manifest
index defc1d2c4e0f..c6220f177ef4 100644
--- a/dev-go/go-crypto/Manifest
+++ b/dev-go/go-crypto/Manifest
@@ -1,3 +1,2 @@
-DIST go-crypto-0_pre20150808.tar.gz 876947 BLAKE2B c6da903ec7b5308114f2e2a364d6a2936dc24be4f8f274116c811740f712f13b2926a6f84b6160c450d921dbbeeb7ce48371e593cfa4d8abf80308f3cf07ac26 SHA512 86826102ff7242259d79a31e543a03192d6b68a06635b46ebac349111bb8451605df1ad9b249c08d75895c38fb4ebbbfc716d40c8c981485395164e87db5a519
DIST go-crypto-0_pre20160126.tar.gz 902001 BLAKE2B 54d38a9aea69e01485417cbf8a900135730dca4bc79c9d5d1187eadb11a8dfca9ef6e72056c4ed4ad4a34b172379d94e6beb82ece9031411b8aa12af85200fb2 SHA512 168129ab9581b7348fb3285e045d99a0a837ac7bd65bf9f5e7a220fffbb9e2abf76da5f521c66eea7179eba0ad8da68d6f41cd9624ea40a9da25a18838427846
DIST go-crypto-0_pre20180816.tar.gz 1637516 BLAKE2B 800787412e1e52f70bc3df5b1b638e86ed2c66de86522786d7e3d8959f18d02426270d1f577ebaa8077d7d98c84ca7a358bed951c862a44b9293de8edebb17b4 SHA512 d2b730ba75b49b96f35969802b7321cd2efc89dcd2e8c0b8eaca545cb18287b34ad1c9ecbd07c6b4ace8708575d4586fbe1139d032a7038cc7221ad010d08074
diff --git a/dev-go/go-crypto/go-crypto-0_pre20150808.ebuild b/dev-go/go-crypto/go-crypto-0_pre20150808.ebuild
deleted file mode 100644
index 32fa7915de5c..000000000000
--- a/dev-go/go-crypto/go-crypto-0_pre20150808.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-EGO_PN=golang.org/x/crypto/...
-EGO_SRC=golang.org/x/crypto
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64"
- EGIT_COMMIT="83f1503f771a82af8a31f358eb825e9efb5dae6c"
- SRC_URI="https://github.com/golang/crypto/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Go supplementary cryptography libraries"
-HOMEPAGE="https://godoc.org/golang.org/x/crypto"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND=""
-RDEPEND=""
-
-src_prepare() {
- # disable broken tests
- sed -e 's:TestAgentForward(:_\0:' \
- -i src/${EGO_SRC}/ssh/test/agent_unix_test.go || die
- sed -e 's:TestRunCommandSuccess(:_\0:' \
- -e 's:TestRunCommandStdin(:_\0:' \
- -e 's:TestRunCommandStdinError(:_\0:' \
- -e 's:TestRunCommandWeClosed(:_\0:' \
- -e 's:TestFuncLargeRead(:_\0:' \
- -e 's:TestKeyChange(:_\0:' \
- -e 's:TestValidTerminalMode(:_\0:' \
- -i src/${EGO_SRC}/ssh/test/session_test.go || die
-}
-
-src_compile() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- rm -rf "${T}/goroot/src/${EGO_SRC}" || die
- rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die
- export GOROOT="${T}/goroot"
- golang-build_src_compile
-}
diff --git a/dev-go/go-crypto/go-crypto-9999.ebuild b/dev-go/go-crypto/go-crypto-9999.ebuild
index 6cee16b68553..6a2b21ad3cb1 100644
--- a/dev-go/go-crypto/go-crypto-9999.ebuild
+++ b/dev-go/go-crypto/go-crypto-9999.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-EGO_PN=golang.org/x/crypto/...
+EAPI=6
EGO_SRC=golang.org/x/crypto
+EGO_PN=${EGO_SRC}/...
if [[ ${PV} = *9999* ]]; then
inherit golang-vcs
else
- KEYWORDS="~amd64"
- EGIT_COMMIT="1e856cbfdf9bc25eefca75f83f25d55e35ae72e0"
+ KEYWORDS="~amd64 ~arm ~x86"
+ EGIT_COMMIT="aabede6cba87e37f413b3e60ebfc214f8eeca1b0"
SRC_URI="https://github.com/golang/crypto/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
inherit golang-vcs-snapshot
fi
@@ -20,19 +20,31 @@ HOMEPAGE="https://godoc.org/golang.org/x/crypto"
LICENSE="BSD"
SLOT="0/${PVR}"
IUSE=""
-DEPEND=""
+DEPEND=">=dev-go/go-sys-0_pre20180816:="
RDEPEND=""
src_prepare() {
- # disable broken tests
- sed -e 's:TestAgentForward(:_\0:' \
- -i src/${EGO_SRC}/ssh/test/agent_unix_test.go || die
- sed -e 's:TestRunCommandSuccess(:_\0:' \
- -e 's:TestRunCommandStdin(:_\0:' \
- -e 's:TestRunCommandStdinError(:_\0:' \
- -e 's:TestRunCommandWeClosed(:_\0:' \
- -e 's:TestFuncLargeRead(:_\0:' \
- -e 's:TestKeyChange(:_\0:' \
- -e 's:TestValidTerminalMode(:_\0:' \
- -i src/${EGO_SRC}/ssh/test/session_test.go || die
+ default
+ sed -e 's:TestLockOpenSSHAgent(:_\0:' \
+ -i src/${EGO_SRC}/ssh/agent/client_test.go || die
+}
+
+src_compile() {
+ # Exclude $(get_golibdir_gopath) from GOPATH, for bug 577908 which may
+ # or may not manifest, depending on what libraries are installed.
+ mkdir -p "${T}/golibdir/src/golang.org/x" || die
+ ln -s "$(get_golibdir_gopath)/src/golang.org/x/sys" "${T}/golibdir/src/golang.org/x/sys" || die
+ GOPATH="${S}:${T}/golibdir" GOBIN="$(go env GOROOT)/bin" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
+}
+
+src_test() {
+ # Exclude $(get_golibdir_gopath) from GOPATH
+ GOPATH="${S}:${T}/golibdir" GOBIN="$(go env GOROOT)/bin" \
+ go test -v -work -x "${EGO_PN}" || die
+}
+
+src_install() {
+ rm -rf "${S}/src/${EGO_SRC}/.git"* || die
+ golang_install_pkgs
}
diff --git a/dev-go/go-net/Manifest b/dev-go/go-net/Manifest
index c1906307d493..7010e13a6f5c 100644
--- a/dev-go/go-net/Manifest
+++ b/dev-go/go-net/Manifest
@@ -1,3 +1,2 @@
-DIST go-net-0_pre20150804.tar.gz 539435 BLAKE2B f59222bd025bff05353c328072a028092bdc77c73fc438b78fb7c1aee5d3b152b1242ad5603a9da9e7e0a7bd1684bebe733342c0d5e415d1d1728f6e75e06cbd SHA512 02a9734f8335909a15280e925b11ff03b96fbedd6e48fa5c3f869ab1a8b3062971d634f7043f92cee685c618222b147fdee915f1d5d83bd82cdde171970287e3
DIST go-net-0_pre20160216.tar.gz 741192 BLAKE2B ed4ca3ddc71f794a92746e360157967582958e4de29a46c5e63964694986e5a8a4f95062a1d46881941e8e8dfb848bbd9c4bd3b7008d8f2da357c2cae9a441ae SHA512 75db9098b33ede5621fce36645ebe946fad911c815dae219d74242b15714d1b9a3d8544f5f8c90b58989cea3a46b5688d20f705cb24a7d31f201ec218e69e78f
DIST go-net-0_pre20180816.tar.gz 965206 BLAKE2B 018ab877bfa7208bb0ca9b4ede85077ed37c8ee3c7065569646e6c9704715d6810b0286276ea0fa9a271f12ffbe964b41f55ec762711c8a43ccea564607f3265 SHA512 d56f5608e64e8d883a782f0c460f08da20e7d01a97330fad35c8757420ac82fb84b657c3f64e3c4d90a08cc4d8905ab37225d6fab8472e8f1fd3d7be212df8b9
diff --git a/dev-go/go-net/go-net-0_pre20150804.ebuild b/dev-go/go-net/go-net-0_pre20150804.ebuild
deleted file mode 100644
index 44adb09a05e9..000000000000
--- a/dev-go/go-net/go-net-0_pre20150804.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-EGO_PN=golang.org/x/net/...
-EGO_SRC=golang.org/x/net
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64"
- EGIT_COMMIT="1bc0720082d79ce7ffc6ef6e523d00d46b0dee45"
- SRC_URI="https://github.com/golang/net/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Go supplementary network libraries"
-HOMEPAGE="https://godoc.org/golang.org/x/net"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND="dev-go/go-text:="
-RDEPEND=""
-
-src_prepare() {
- # disable broken tests
- sed -e 's:TestReadProppatch(:_\0:' \
- -i src/${EGO_SRC}/webdav/xml_test.go || die
- sed -e 's:TestPingGoogle(:_\0:' \
- -e 's:TestNonPrivilegedPing(:_\0:' \
- -i src/${EGO_SRC}/icmp/ping_test.go || die
-}
-
-src_compile() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- rm -rf "${T}/goroot/src/${EGO_SRC}" || die
- rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die
- export GOROOT="${T}/goroot"
- golang-build_src_compile
-}
diff --git a/dev-go/go-net/go-net-9999.ebuild b/dev-go/go-net/go-net-9999.ebuild
index bf416c447af4..f9b9ae5ffca2 100644
--- a/dev-go/go-net/go-net-9999.ebuild
+++ b/dev-go/go-net/go-net-9999.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-EGO_PN=golang.org/x/net/...
+EAPI=6
EGO_SRC=golang.org/x/net
+EGO_PN=${EGO_SRC}/...
if [[ ${PV} = *9999* ]]; then
inherit golang-vcs
else
- KEYWORDS="~amd64"
- EGIT_COMMIT="b6d7b1396ec874c3b00f6c84cd4301a17c56c8ed"
+ KEYWORDS="~amd64 ~arm ~x86"
+ EGIT_COMMIT="aaf60122140d3fcf75376d319f0554393160eb50"
SRC_URI="https://github.com/golang/net/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
inherit golang-vcs-snapshot
fi
@@ -20,24 +20,40 @@ HOMEPAGE="https://godoc.org/golang.org/x/net"
LICENSE="BSD"
SLOT="0/${PVR}"
IUSE=""
-DEPEND="dev-go/go-crypto:=
- dev-go/go-text:="
+DEPEND=">=dev-go/go-crypto-0_pre20180816:=
+ >=dev-go/go-sys-0_pre20180816:=
+ >=dev-go/go-text-0.3.0:="
RDEPEND=""
src_prepare() {
- # disable broken tests
- sed -e 's:TestReadProppatch(:_\0:' \
- -i src/${EGO_SRC}/webdav/xml_test.go || die
- sed -e 's:TestPingGoogle(:_\0:' \
- -e 's:TestNonPrivilegedPing(:_\0:' \
- -i src/${EGO_SRC}/icmp/ping_test.go || die
+ default
+ sed -e 's:TestDiag(:_\0:' \
+ -e 's:TestConcurrentNonPrivilegedListenPacket(:_\0:' \
+ -i src/${EGO_SRC}/icmp/diag_test.go || die
+ sed -e 's:TestConcurrentNonPrivilegedListenPacket(:_\0:' \
+ -i src/${EGO_SRC}/icmp/diag_test.go || die
+ sed -e 's:TestMultipartMessageBodyLen(:_\0:' \
+ -i src/${EGO_SRC}/icmp/multipart_test.go || die
}
src_compile() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- rm -rf "${T}/goroot/src/${EGO_SRC}" || die
- rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die
- export GOROOT="${T}/goroot"
- golang-build_src_compile
+ local x
+ mkdir -p "${T}/golibdir/src/golang.org/x" || die
+ for x in sys text crypto; do
+ ln -s "$(get_golibdir_gopath)/src/golang.org/x/${x}" "${T}/golibdir/src/golang.org/x/${x}" || die
+ done
+ env GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
+}
+
+src_test() {
+ GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \
+ go test -v -work -x "${EGO_PN}" || die
+}
+
+src_install() {
+ rm -rf "${S}/src/${EGO_SRC}/.git"* || die
+ golang_install_pkgs
+ exeinto "$(go env GOROOT)/bin"
+ doexe bin/*
}
diff --git a/dev-go/go-sys/Manifest b/dev-go/go-sys/Manifest
index 6ced79da8714..2d86569345e7 100644
--- a/dev-go/go-sys/Manifest
+++ b/dev-go/go-sys/Manifest
@@ -1,3 +1,2 @@
-DIST go-sys-0_pre20150729.tar.gz 529002 BLAKE2B cc51b55c9bad7fffb9bf4d3c00ffb62dbff0e6765873f5a4b07ab4afdc0066a4f8c9d943fa7d8532345207f5bd1eb2b219922f9e7d33d25eb699902b4f5b960c SHA512 f80afa938977f3945ab3f08462eaf5d8db430013240a11b1f8a43911948fd2a8a390192ea9ebf79434b348b2ca520267a0441b922110e70603fff4849e57c487
DIST go-sys-0_pre20160204.tar.gz 542894 BLAKE2B 6f3969e8beb9311a742b61a188826b92fcbb211cc0159870a2dad389710681ae415506f667feed1f82940c2f223acdb21ba8e09a94a322c2ee07948598397937 SHA512 59db0ba47447869f2339ea60b8766e1464f48e22a619da2aecc07977b146a54feb4e3fa4e6076b8d1c2deb11ffab3c820e4a61602f2ce3121df7cb08e0267569
DIST go-sys-0_pre20180816.tar.gz 994494 BLAKE2B 24132a6dc2b8e73a28209418d8e89c62da4620b3ceed30ac51bd2f4e06a9bb37c9402e50f0f18b77ff9b0c4106836db894bb7f8d9b2ea77bca621aeb5999f460 SHA512 ae95fa505beab9791824fec5e4a52590b21d54af314db3219ef7545ab93059a5b8d1a6d3f81353852c72d2f515ad6bc9d6a0b5ae28b5b17a82cedd241165a2e4
diff --git a/dev-go/go-sys/go-sys-0_pre20150729.ebuild b/dev-go/go-sys/go-sys-0_pre20150729.ebuild
deleted file mode 100644
index 3a8840f6c759..000000000000
--- a/dev-go/go-sys/go-sys-0_pre20150729.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-EGO_PN=golang.org/x/sys/...
-EGO_SRC=golang.org/x/sys
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64"
-EGIT_COMMIT="58da1121af381632b48b2843aeb16299f2e1dc50"
- SRC_URI="https://github.com/golang/sys/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Go packages for low-level interaction with the operating system"
-HOMEPAGE="https://godoc.org/golang.org/x/sys"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND=""
-RDEPEND=""
-
-src_compile() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- rm -rf "${T}/goroot/src/${EGO_SRC}" || die
- rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die
- export GOROOT="${T}/goroot"
- golang-build_src_compile
-}
diff --git a/dev-go/go-sys/go-sys-9999.ebuild b/dev-go/go-sys/go-sys-9999.ebuild
index 9ccb2c39b1ef..9fb94bbaa68a 100644
--- a/dev-go/go-sys/go-sys-9999.ebuild
+++ b/dev-go/go-sys/go-sys-9999.ebuild
@@ -1,15 +1,14 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=6
EGO_PN=golang.org/x/sys/...
-EGO_SRC=golang.org/x/sys
if [[ ${PV} = *9999* ]]; then
inherit golang-vcs
else
- KEYWORDS="~amd64"
-EGIT_COMMIT="58e109635f5d754f4b3a8a0172db65a52fcab866"
+ KEYWORDS="~amd64 ~arm ~x86"
+ EGIT_COMMIT="1c9583448a9c3aa0f9a6a5241bf73c0bd8aafded"
SRC_URI="https://github.com/golang/sys/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
inherit golang-vcs-snapshot
fi
@@ -22,3 +21,18 @@ SLOT="0/${PVR}"
IUSE=""
DEPEND=""
RDEPEND=""
+
+src_compile() {
+ GOPATH="${S}" GOBIN="$(go env GOROOT)/bin" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
+}
+
+src_test() {
+ GOPATH="${S}" GOBIN="$(go env GOROOT)/bin" \
+ go test -v -work -x "${EGO_PN}" || die
+}
+
+src_install() {
+ rm -rf "${S}/src/${EGO_PN%/...}/.git"* || die
+ golang_install_pkgs
+}
diff --git a/dev-go/go-text/Manifest b/dev-go/go-text/Manifest
index b2c4e9e89ff8..16810c9fb0d2 100644
--- a/dev-go/go-text/Manifest
+++ b/dev-go/go-text/Manifest
@@ -1,3 +1,2 @@
DIST go-text-0.3.0.tar.gz 6102619 BLAKE2B c92e68014a8c157d76741c02acd708771d66bd3dda5b19285f5aa3e073e0fe3fccb9054744d35ea62b681ae4421bb7489238d6868f9314fb26f88e002287abe8 SHA512 bd60dfaa7d9dbfca171a3ba40b51f5663c01257cf3b12b618d35689a97ab2212d316d5716ff09681bf40b099f7e20a0e0df8cfc065699cb6a07ad1dc2e2bc189
-DIST go-text-0_pre20150806.tar.gz 3736536 BLAKE2B afc6a95116426f9b981432c772c374cb3c84d300e81af1599383be74d00830556d36ff614d88e8952b89974ecb238b77725a3d1a83dc65a0f85dafa3d29a2dff SHA512 dd0fc8b5abdfa6f005316bb7828c03a081485e0bd33cbf86c0b83f8bf9240973a7b0a2e6f52ef75f48ec00fc922be21a6c65ff9eb4080f28cb3f280bd4c4f5c6
DIST go-text-0_pre20160211.tar.gz 4015547 BLAKE2B ad85f27761e2fd91a6acff497fe9b720484d51c6d75032c02fe21784dff78b4b900ac95aab394a6db1f7b2c9fb5a3d1cbde8db2aaa4c099b19357d82f747eb89 SHA512 066e53f6e094a6cf3effe1a9376f7bde41c3059099381bb5adf8c84589de4dab9115ce3c8cb7f89f90e2601422f79e3906f8f498d66e364da9f830ede1f7f05f
diff --git a/dev-go/go-text/go-text-0_pre20150806.ebuild b/dev-go/go-text/go-text-0_pre20150806.ebuild
deleted file mode 100644
index 3fb9794a126a..000000000000
--- a/dev-go/go-text/go-text-0_pre20150806.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-EGO_PN=golang.org/x/text/...
-EGO_SRC=golang.org/x/text
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64"
- EGIT_COMMIT="1309a1875a4368c12688b9383c6bcac738c17c29"
- SRC_URI="https://github.com/golang/text/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Go text processing support"
-HOMEPAGE="https://godoc.org/golang.org/x/text"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND=""
-RDEPEND=""
-
-src_compile() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- rm -rf "${T}/goroot/src/${EGO_SRC}" || die
- rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" || die
- export GOROOT="${T}/goroot"
- golang-build_src_compile
-}
-
-src_test() {
- # Create go symlink for TestLinking in display/dict_test.go
- mkdir -p "${GOROOT}/bin"
- ln -s /usr/bin/go "${GOROOT}/bin/go" || die
- golang-build_src_test
-}
-
-src_install() {
- golang-build_src_install
- export -n GOROOT
- exeopts -m0755 -p # preserve timestamps for bug 551486
- exeinto "$(go env GOROOT)/bin"
- doexe bin/*
-}
diff --git a/dev-go/go-text/go-text-9999.ebuild b/dev-go/go-text/go-text-9999.ebuild
index 5768c80ac6f4..4d851787c267 100644
--- a/dev-go/go-text/go-text-9999.ebuild
+++ b/dev-go/go-text/go-text-9999.ebuild
@@ -1,16 +1,16 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=6
-EGO_PN=golang.org/x/text/...
EGO_SRC=golang.org/x/text
+EGO_PN=${EGO_SRC}/...
if [[ ${PV} = *9999* ]]; then
inherit golang-vcs
else
- KEYWORDS="~amd64"
- EGIT_COMMIT="df923bbb63f8ea3a26bb743e2a497abd0ab585f7"
+ KEYWORDS="~amd64 ~arm ~x86"
+ EGIT_COMMIT="v${PV}"
SRC_URI="https://github.com/golang/text/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
inherit golang-vcs-snapshot
fi
@@ -21,28 +21,28 @@ HOMEPAGE="https://godoc.org/golang.org/x/text"
LICENSE="BSD"
SLOT="0/${PVR}"
IUSE=""
-DEPEND=""
+DEPEND=">=dev-go/go-tools-0_pre20180817"
RDEPEND=""
-src_test() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- if [ -d "${T}/goroot/src/${EGO_SRC}" ]; then
- rm -rf "${T}/goroot/src/${EGO_SRC}" || die
- fi
- if [ -d "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" ]; then
- rm -rf "${T}/goroot/pkg/$(go env GOOS)_$(go env GOARCH)/${EGO_SRC}" ||
- die
- fi
-
- # Create go symlink for TestLinking in display/dict_test.go
- mkdir -p "${T}/goroot/bin"
- ln -s /usr/bin/go "${T}/goroot/bin/go" || die
-
- GOROOT="${T}/goroot" golang-build_src_test
+src_compile() {
+ # Create an isolated golibdir in order to avoid an
+ # "use of internal package not allowed" error when
+ # and older version is installed.
+ mkdir -p "${T}/golibdir/src/golang.org/x" || die
+ ln -s "$(get_golibdir_gopath)/src/golang.org/x/tools" "${T}/golibdir/src/golang.org/x/tools" || die
+ GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
}
src_install() {
- golang-build_src_install
- dobin bin/*
+ rm -rf "${S}/src/${EGO_SRC}/.git"* || die
+ golang_install_pkgs
+ exeopts -m0755 -p # preserve timestamps for bug 551486
+ exeinto "$(go env GOROOT)/bin"
+ doexe bin/*
+}
+
+src_test() {
+ GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \
+ go test -v -work -x "${EGO_PN}" || die
}
diff --git a/dev-go/go-tools/Manifest b/dev-go/go-tools/Manifest
index f9fbac28648b..3c8b3725c646 100644
--- a/dev-go/go-tools/Manifest
+++ b/dev-go/go-tools/Manifest
@@ -1,7 +1,4 @@
DIST github.com-golang-net-aaf60122140d3fcf75376d319f0554393160eb50.tar.gz 965206 BLAKE2B 018ab877bfa7208bb0ca9b4ede85077ed37c8ee3c7065569646e6c9704715d6810b0286276ea0fa9a271f12ffbe964b41f55ec762711c8a43ccea564607f3265 SHA512 d56f5608e64e8d883a782f0c460f08da20e7d01a97330fad35c8757420ac82fb84b657c3f64e3c4d90a08cc4d8905ab37225d6fab8472e8f1fd3d7be212df8b9
DIST go-favicon.ico 1150 BLAKE2B 7cef9e0c7031531ceaddc56b9e7cb8c09cf3ebf08bbdd53876edcf48d412c55968268190b1fe1814e21efc5669618a5e07d30d7bdbb73b4cbeca9a31b3185fc5 SHA512 194c4b3c360321a10f714b6755d9155de6129682b4070d19b52d0d5706fcbd1d244ea38c33fd77fe1dec85b3e39720dd0a62f5b126803036fbc8337a9d72fea6
-DIST go-tools-0_pre20150823.tar.gz 1633447 BLAKE2B 00866c14139099821fc883ab3908b47481a3ea5af323977fdd84622f43e8998a6fcf6c0a4cbf0c6bb98494d1f4b1fdd0d281447b67a0766af1e5b4f68cf24e27 SHA512 6d906bae8433182e7a105a46b92c4f64ac145196ccc72f8934376fc49e5d554182931745e92229c4571323a6eba9ce2f680b5add3844ecb593a194cbbc1b0b63
-DIST go-tools-0_pre20150902.tar.gz 1630401 BLAKE2B 5f23e4d05c614584bfd2ac77d15ad4b464f083b489b1a687a823d014d848ce38ac5006a379eb46f37e7aba0419b7f1b4d48c053aae89c6ac912366e5ddc487c3 SHA512 437d5178ce5bf6c4d39ad638259e7c18150d2574dffb632003fa0b83a61a9103e666e562aecc6e8412d995e4b5ffacda6bc12b1cfbbea0b22a5ff680a0a7e3e1
-DIST go-tools-0_pre20160121.tar.gz 1768660 BLAKE2B ebc7622967dbb82c6578591c108bba8c96cb7df56360d445b02de1da905ac64b4901057acd36e3d2ab5ec51e5e2ff206efae6a9f9523180e53434adcdad278e3 SHA512 ca4b213a6f398f9bb61a81784fb6dcb4a82994e2d7a95134fc5203ce0f65848d192b2d7c8975a59199db873942c23562866a5607347e060ac0af370d72e067e2
DIST go-tools-0_pre20160220.tar.gz 1827046 BLAKE2B 26b4080540958764c42fffc1cb6a1597705c0a7ea85357b5169f9a0bf6939d7c5475681f6fede8b46a88ef58c72afa9eaa9da3fb66a3bbbb19942d0a1887bbeb SHA512 95c9deb9b01b2f294818fcc847e457ab313d5831a839bf9cfeb1a00a0efd833de3fdfd3ecfe7ecfa2dd236ffcf963e73205d7b5b25fa41ab51c7601dc632bce1
DIST go-tools-0_pre20180817.tar.gz 2321169 BLAKE2B d1ba93b36b62bfbf53770cab6c96019d1a96db0ff6521f591577d866f74a1f65ec24e41a06f81d0040be7122f2e0da734e68d0a72591040265b5f95b324645fe SHA512 1af6c4a58f4d1985dc55e4342d9a4f26ada646ffe87fafdb5bdf876ad972a9f826da257ff9a10956c24dbc90ed9d6935bb78b4f7d30f9e50493c60f7ce92edb1
diff --git a/dev-go/go-tools/go-tools-0_pre20150823-r1.ebuild b/dev-go/go-tools/go-tools-0_pre20150823-r1.ebuild
deleted file mode 100644
index 3fcfd947ef6d..000000000000
--- a/dev-go/go-tools/go-tools-0_pre20150823-r1.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-EGO_PN="golang.org/x/tools/..."
-EGO_SRC="golang.org/x/tools"
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- EGIT_COMMIT="6c9aff3"
- ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Go Tools"
-HOMEPAGE="https://godoc.org/golang.org/x/tools"
-SRC_URI="${ARCHIVE_URI}
- http://golang.org/favicon.ico -> go-favicon.ico"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND="dev-go/go-net:="
-RDEPEND=""
-
-src_prepare() {
- # disable broken tests
- sed -e 's:TestWeb(:_\0:' \
- -i src/${EGO_SRC}/cmd/godoc/godoc_test.go || die
- sed -e 's:TestVet(:_\0:' \
- -i src/${EGO_SRC}/cmd/vet/vet_test.go || die
- sed -e 's:TestImport(:_\0:' \
- -i src/${EGO_SRC}/go/gcimporter/gcimporter_test.go || die
- sed -e 's:TestImportStdLib(:_\0:' \
- -i src/${EGO_SRC}/go/importer/import_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -i src/${EGO_SRC}/go/loader/stdlib_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -i src/${EGO_SRC}/go/ssa/stdlib_test.go || die
- sed -e 's:TestGorootTest(:_\0:' \
- -e 's:TestFoo(:_\0:' \
- -e 's:TestTestmainPackage(:_\0:' \
- -i src/${EGO_SRC}/go/ssa/interp/interp_test.go || die
- sed -e 's:TestBar(:_\0:' \
- -e 's:TestFoo(:_\0:' \
- -i src/${EGO_SRC}/go/ssa/interp/testdata/a_test.go || die
- sed -e 's:TestCheck(:_\0:' \
- -i src/${EGO_SRC}/go/types/check_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -e 's:TestStdFixed(:_\0:' \
- -e 's:TestStdKen(:_\0:' \
- -i src/${EGO_SRC}/go/types/stdlib_test.go || die
- sed -e 's:TestRepoRootForImportPath(:_\0:' \
- -i src/${EGO_SRC}/go/vcs/vcs_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -i src/${EGO_SRC}/refactor/lexical/lexical_test.go || die
-
- # Add favicon to the godoc web interface (bug 551030)
- cp "${DISTDIR}"/go-favicon.ico "src/${EGO_SRC}/godoc/static/favicon.ico" ||
- die
- sed -e 's:"example.html",:\0\n\t"favicon.ico",:' \
- -i src/${EGO_SRC}/godoc/static/makestatic.go || die
- sed -e 's:\n\0:' \
- -i src/${EGO_SRC}/godoc/static/godoc.html || die
-}
-
-src_compile() {
- # Generate static.go with favicon included
- pushd src/golang.org/x/tools/godoc/static >/dev/null || die
- go run makestatic.go || die
- popd >/dev/null
-
- golang-build_src_compile
-}
-
-src_install() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
-
- GOROOT="${T}/goroot" golang-build_src_install
-
- # bug 558818: install binaries in $GOROOT/bin to avoid file collisions
- exeinto "$(go env GOROOT)/bin"
- doexe bin/* "${T}/goroot/bin/godoc"
- dodir /usr/bin
- ln "${ED}$(go env GOROOT)/bin/godoc" "${ED}usr/bin/godoc" || die
-
- if has_version ' go-favicon.ico"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND="dev-go/go-net:=
- >=dev-lang/go-1.5"
-RDEPEND="!\n\0:' \
- -i src/${go_src}/godoc/static/godoc.html || die
-}
-
-src_compile() {
- # Generate static.go with favicon included
- pushd src/golang.org/x/tools/godoc/static >/dev/null || die
- go run makestatic.go || die
- popd >/dev/null
-
- golang-build_src_compile
-}
-
-src_test() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- mkdir -p "${T}/goroot/test" || die
- GOROOT="${T}/goroot" golang-build_src_test
- rm -rf "${T}/goroot"
-}
-
-src_install() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
-
- GOROOT="${T}/goroot" golang-build_src_install
-
- # bug 558818: install binaries in $GOROOT/bin to avoid file collisions
- exeinto "$(go env GOROOT)/bin"
- doexe bin/* "${T}/goroot/bin/godoc"
- dodir /usr/bin
- ln "${ED}$(go env GOROOT)/bin/godoc" "${ED}usr/bin/godoc" || die
-
- rm "${D}"$(go env GOROOT)/bin/{cover,vet} || die
-}
diff --git a/dev-go/go-tools/go-tools-0_pre20160121.ebuild b/dev-go/go-tools/go-tools-0_pre20160121.ebuild
deleted file mode 100644
index 2ab6225e7dbb..000000000000
--- a/dev-go/go-tools/go-tools-0_pre20160121.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-EGO_PN="golang.org/x/tools/..."
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- EGIT_COMMIT="f3a63969dd29f8cfa913fdaea22f30c1ed537cb3"
- ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Go Tools"
-HOMEPAGE="https://godoc.org/golang.org/x/tools"
-SRC_URI="${ARCHIVE_URI}
- http://golang.org/favicon.ico -> go-favicon.ico"
-LICENSE="BSD"
-SLOT="0/${PVR}"
-IUSE=""
-DEPEND="dev-go/go-net:=
- >=dev-lang/go-1.5"
-RDEPEND="!\n\0:' \
- -i src/${go_src}/godoc/static/godoc.html || die
-}
-
-src_compile() {
- # Generate static.go with favicon included
- pushd src/golang.org/x/tools/godoc/static >/dev/null || die
- go run makestatic.go || die
- popd >/dev/null
-
- golang-build_src_compile
-}
-
-src_test() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- mkdir -p "${T}/goroot/test" || die
- GOROOT="${T}/goroot" golang-build_src_test
- rm -rf "${T}/goroot"
-}
-
-src_install() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
- cp -sR "$(get_golibdir_gopath)" "${T}/gopath" || die
-
- GOROOT="${T}/goroot" GOPATH="${WORKDIR}/${P}:${T}/gopath" go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
- golang_install_pkgs
-
- # bug 558818: install binaries in $GOROOT/bin to avoid file collisions
- exeinto "$(go env GOROOT)/bin"
- doexe bin/* "${T}/goroot/bin/godoc"
- dodir /usr/bin
- ln "${ED}$(go env GOROOT)/bin/godoc" "${ED}usr/bin/godoc" || die
-
- rm "${D}"$(go env GOROOT)/bin/{cover,vet} || die
-}
diff --git a/dev-go/go-tools/go-tools-9999.ebuild b/dev-go/go-tools/go-tools-9999.ebuild
index 3fcfd947ef6d..10b4b86e3238 100644
--- a/dev-go/go-tools/go-tools-9999.ebuild
+++ b/dev-go/go-tools/go-tools-9999.ebuild
@@ -1,16 +1,21 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-EGO_PN="golang.org/x/tools/..."
+EAPI=6
EGO_SRC="golang.org/x/tools"
+EGO_PN="${EGO_SRC}/..."
+
+# vendor the net package due to a circular dependency
+GO_NET_COMMIT="aaf60122140d3fcf75376d319f0554393160eb50"
+EGO_VENDOR=( "golang.org/x/net ${GO_NET_COMMIT} github.com/golang/net" )
if [[ ${PV} = *9999* ]]; then
+ ARCHIVE_URI=""
inherit golang-vcs
else
- EGIT_COMMIT="6c9aff3"
+ EGIT_COMMIT="7d1dc997617fb662918b6ea95efc19faa87e1cf8"
ARCHIVE_URI="https://github.com/golang/tools/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ KEYWORDS="~amd64 ~arm ~x86"
inherit golang-vcs-snapshot
fi
inherit golang-build
@@ -18,82 +23,68 @@ inherit golang-build
DESCRIPTION="Go Tools"
HOMEPAGE="https://godoc.org/golang.org/x/tools"
SRC_URI="${ARCHIVE_URI}
+ https://github.com/golang/net/archive/${GO_NET_COMMIT}.tar.gz -> github.com-golang-net-${GO_NET_COMMIT}.tar.gz
http://golang.org/favicon.ico -> go-favicon.ico"
LICENSE="BSD"
SLOT="0/${PVR}"
-IUSE=""
-DEPEND="dev-go/go-net:="
-RDEPEND=""
-src_prepare() {
- # disable broken tests
- sed -e 's:TestWeb(:_\0:' \
- -i src/${EGO_SRC}/cmd/godoc/godoc_test.go || die
- sed -e 's:TestVet(:_\0:' \
- -i src/${EGO_SRC}/cmd/vet/vet_test.go || die
- sed -e 's:TestImport(:_\0:' \
- -i src/${EGO_SRC}/go/gcimporter/gcimporter_test.go || die
- sed -e 's:TestImportStdLib(:_\0:' \
- -i src/${EGO_SRC}/go/importer/import_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -i src/${EGO_SRC}/go/loader/stdlib_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -i src/${EGO_SRC}/go/ssa/stdlib_test.go || die
- sed -e 's:TestGorootTest(:_\0:' \
- -e 's:TestFoo(:_\0:' \
- -e 's:TestTestmainPackage(:_\0:' \
- -i src/${EGO_SRC}/go/ssa/interp/interp_test.go || die
- sed -e 's:TestBar(:_\0:' \
- -e 's:TestFoo(:_\0:' \
- -i src/${EGO_SRC}/go/ssa/interp/testdata/a_test.go || die
- sed -e 's:TestCheck(:_\0:' \
- -i src/${EGO_SRC}/go/types/check_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -e 's:TestStdFixed(:_\0:' \
- -e 's:TestStdKen(:_\0:' \
- -i src/${EGO_SRC}/go/types/stdlib_test.go || die
- sed -e 's:TestRepoRootForImportPath(:_\0:' \
- -i src/${EGO_SRC}/go/vcs/vcs_test.go || die
- sed -e 's:TestStdlib(:_\0:' \
- -i src/${EGO_SRC}/refactor/lexical/lexical_test.go || die
+src_unpack() {
+ golang-vcs_src_unpack
+ mkdir -p "${WORKDIR}/${P}/src/${EGO_SRC}/vendor/golang.org/x/net" || die
+ tar -C "${WORKDIR}/${P}/src/${EGO_SRC}/vendor/golang.org/x/net" -x --strip-components 1 \
+ -f "${DISTDIR}/github.com-golang-net-${GO_NET_COMMIT}.tar.gz" || die
+}
+src_prepare() {
+ default
# Add favicon to the godoc web interface (bug 551030)
cp "${DISTDIR}"/go-favicon.ico "src/${EGO_SRC}/godoc/static/favicon.ico" ||
die
sed -e 's:"example.html",:\0\n\t"favicon.ico",:' \
- -i src/${EGO_SRC}/godoc/static/makestatic.go || die
+ -i src/${EGO_SRC}/godoc/static/gen.go || die
sed -e 's:\n\0:' \
-i src/${EGO_SRC}/godoc/static/godoc.html || die
+ sed -e 's:TestVeryLongFile(:_\0:' \
+ -i src/${EGO_SRC}/go/internal/gcimporter/bexport_test.go || die
+ sed -e 's:TestLoadSyntaxOK(:_\0:' \
+ -i src/${EGO_SRC}/go/packages/packages_test.go || die
+ sed -e 's:TestCgoOption(:_\0:' \
+ -e 's:TestStdlib(:_\0:' \
+ -i src/${EGO_SRC}/go/loader/stdlib_test.go || die
+ sed -e 's:TestStdlib(:_\0:' \
+ -i src/${EGO_SRC}/go/ssa/stdlib_test.go || die
+ sed -e 's:TestWebIndex(:_\0:' \
+ -e 's:TestTypeAnalysis(:_\0:' \
+ -i src/${EGO_SRC}/cmd/godoc/godoc_test.go || die
+ sed -e 's:TestImportStdLib(:_\0:' \
+ -i src/${EGO_SRC}/go/internal/gcimporter/gcimporter_test.go || die
+ sed -e 's:TestVeryLongFile(:_\0:' \
+ -i src/${EGO_SRC}/go/internal/gcimporter/bexport_test.go || die
}
src_compile() {
# Generate static.go with favicon included
pushd src/golang.org/x/tools/godoc/static >/dev/null || die
- go run makestatic.go || die
+ GOPATH="${S}" GOBIN="${S}/bin" \
+ go run makestatic.go || die
popd >/dev/null
- golang-build_src_compile
+ GOPATH="${S}" GOBIN="${S}/bin" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
}
-src_install() {
- # Create a writable GOROOT in order to avoid sandbox violations.
- cp -sR "$(go env GOROOT)" "${T}/goroot" || die
+src_test() {
+ GOPATH="${S}" GOBIN="${S}/bin" \
+ go test -v -work -x "${EGO_PN}" || die
+}
- GOROOT="${T}/goroot" golang-build_src_install
+src_install() {
+ rm -rf "${S}/src/${EGO_SRC}/"{.git,vendor} || die
+ golang_install_pkgs
# bug 558818: install binaries in $GOROOT/bin to avoid file collisions
exeinto "$(go env GOROOT)/bin"
- doexe bin/* "${T}/goroot/bin/godoc"
+ doexe bin/*
dodir /usr/bin
ln "${ED}$(go env GOROOT)/bin/godoc" "${ED}usr/bin/godoc" || die
-
- if has_version '=dev-libs/libpcre-8.13:3[${MULTILIB_USEDEP},static-libs?]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ kernel_linux? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
+ fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
+ ${PYTHON_DEPS}
+ utils? (
+ >=dev-util/gdbus-codegen-${PV}
+ virtual/libelf:0=
+ )
+"
+DEPEND="${RDEPEND}
+ app-text/docbook-xml-dtd:4.1.2
+ >=dev-libs/libxslt-1.0
+ >=sys-devel/gettext-0.11
+ >=dev-util/gtk-doc-am-1.20
+ systemtap? ( >=dev-util/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/gdb
+ >=dev-util/gdbus-codegen-${PV}
+ >=sys-apps/dbus-1.2.14 )
+ !=dev-util/glib-utils-${PV}"
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
+ mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
+
+ if use test; then
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ ewarn "Some tests will be skipped due to missing terminal program"
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/Makefile.am || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
+ fi
+
+ # gdbus-codegen is a separate package
+ eapply "${FILESDIR}"/${PN}-2.54.3-external-gdbus-codegen.patch
+
+ gnome2_src_prepare
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ # Avoid circular depend with dev-util/pkgconfig and
+ # native builds (cross-compiles won't need pkg-config
+ # in the target ROOT to work here)
+ if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
+ if has_version sys-apps/dbus; then
+ export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
+ export DBUS1_LIBS="-ldbus-1"
+ fi
+ export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
+ export LIBFFI_LIBS="-lffi"
+ export PCRE_CFLAGS=" " # test -n "$PCRE_CFLAGS" needs to pass
+ export PCRE_LIBS="-lpcre"
+ fi
+
+ # These configure tests don't work when cross-compiling.
+ if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ case ${CHOST} in
+ hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ *) export glib_cv_stack_grows=no ;;
+ esac
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756474
+ export glib_cv_uscore=no
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756475
+ export ac_cv_func_posix_get{pwuid,grgid}_r=yes
+ fi
+
+ local myconf
+
+ case "${CHOST}" in
+ *-mingw*) myconf="${myconf} --with-threads=win32" ;;
+ *) myconf="${myconf} --with-threads=posix" ;;
+ esac
+
+ # libelf used only by the gresource bin
+ ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
+ $(usex debug --enable-debug=yes ' ') \
+ $(use_enable xattr) \
+ $(use_enable fam) \
+ $(use_enable kernel_linux libmount) \
+ $(use_enable selinux) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap dtrace) \
+ $(use_enable systemtap systemtap) \
+ $(multilib_native_use_enable utils libelf) \
+ --with-python=${EPYTHON} \
+ --disable-compile-warnings \
+ --enable-man \
+ --with-pcre=system \
+ --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
+
+ if multilib_is_native_abi; then
+ local d
+ for d in glib gio gobject; do
+ ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
+ done
+ fi
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ # Hardened: gdb needs this, bug #338891
+ if host-is-pax ; then
+ pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
+ || die "Hardened adjustment failed"
+ fi
+
+ # Need X for dbus-launch session X11 initialization
+ virtx emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" completiondir="$(get_bashcompdir)" install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit with meson
+ rm "${ED}usr/bin/glib-genmarshal" || die
+ rm "${ED}usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}usr/bin/glib-mkenums" || die
+ rm "${ED}usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}usr/bin/gtester-report" || die
+ rm "${ED}usr/share/man/man1/gtester-report.1" || die
+
+ # Do not install charset.alias even if generated, leave it to libiconv
+ rm -f "${ED}/usr/$(get_libdir)/charset.alias"
+
+ # Don't install gdb python macros, bug 291328
+ rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
+
+ # Completely useless with or without USE static-libs, people need to use pkg-config
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"/${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"/${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ # force (re)generation of gschemas.compiled
+ GNOME2_ECLASS_GLIB_SCHEMAS="force"
+
+ gnome2_pkg_postinst
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/libclc/libclc-0.2.0_pre20180610.ebuild b/dev-libs/libclc/libclc-0.2.0_pre20180610.ebuild
index a097d6bc2ed0..381fc1aed20d 100644
--- a/dev-libs/libclc/libclc-0.2.0_pre20180610.ebuild
+++ b/dev-libs/libclc/libclc-0.2.0_pre20180610.ebuild
@@ -30,7 +30,7 @@ fi
LICENSE="|| ( MIT BSD )"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
IUSE="${IUSE_VIDEO_CARDS}"
REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
diff --git a/dev-libs/libevdev/libevdev-1.5.9-r1.ebuild b/dev-libs/libevdev/libevdev-1.5.9-r1.ebuild
index e686e50e7c05..fdfe04636f69 100644
--- a/dev-libs/libevdev/libevdev-1.5.9-r1.ebuild
+++ b/dev-libs/libevdev/libevdev-1.5.9-r1.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999* ]] ; then
inherit autotools git-r3
else
SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
- KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86"
+ KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86"
fi
LICENSE="MIT"
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
index 45d873e3ed35..0846f4ac8e53 100644
--- a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
+++ b/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://xcb.freedesktop.org/dist/${P}.tar.bz2"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~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 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
multilib_src_configure() {
diff --git a/dev-libs/spdlog/Manifest b/dev-libs/spdlog/Manifest
index 2291d1dbf3b8..b8ec66bb7db2 100644
--- a/dev-libs/spdlog/Manifest
+++ b/dev-libs/spdlog/Manifest
@@ -1,2 +1,3 @@
DIST spdlog-0.17.0.tar.gz 172323 BLAKE2B 2ca821fb3da0ee82601dd9ef54ca155ffdf19ea1e51c6fbb7269a58bf7a662b5225c9ef7e4d8ccbe7a05c56aeefaad27ddc9cfe21a329f52490078ccd0fb2ce6 SHA512 c3d7c7b2d221b33ad4f4685207ff606d271635bd1ad7edab763a823880386f604d264343139f37b36a3e8654d6382dbed0d431556728676523e390b8fb4b2aef
DIST spdlog-1.0.0.tar.gz 183855 BLAKE2B 30d54fef03a83f968cfebacf95a484ff397126771a7ea022556aebd07e2f7694af35b278f75ee24372283ff1428e21247fd4329794d64a65bd6220a93f21db3c SHA512 4d3cbc1926be513256b5837a53fce425f6d352bb4ab262074f205450cd4eadc09feea9dc8d8c03b3f1e9792bcfbcff414be79e51d58234f540946428bbd88cd1
+DIST spdlog-1.1.0.tar.gz 183937 BLAKE2B 51af49f641df69e78835bd6b9545da53c0e111bab60a5f0dbf4a1d0e70101309394ffea195176ea371f08b772c2be1c22c2da16006fc9699f47593cf82a6c0fd SHA512 65fbe6e9dffb25e814f72f2ef7982eed213fc16edfabb1377f865c94fd0488190e160dfea83ac06979a41f2fb2fa47a454989ebee0a2c5012bd404b977648439
diff --git a/dev-libs/spdlog/spdlog-1.1.0.ebuild b/dev-libs/spdlog/spdlog-1.1.0.ebuild
new file mode 100644
index 000000000000..03aaec9bd608
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Very fast, header only, C++ logging library"
+HOMEPAGE="https://github.com/gabime/spdlog"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gabime/spdlog"
+else
+ SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0/1"
+IUSE="test"
+
+DEPEND="
+ >=dev-libs/libfmt-5.0.0
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.0.0-unbundle-fmt.patch" )
+
+src_configure() {
+ rm -r include/spdlog/fmt/bundled || die
+
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_EXAMPLES=no
+ -DSPDLOG_BUILD_TESTING=$(usex test)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/wayland/wayland-1.15.0.ebuild b/dev-libs/wayland/wayland-1.15.0.ebuild
index c520c61a9b98..b5d54a20cb81 100644
--- a/dev-libs/wayland/wayland-1.15.0.ebuild
+++ b/dev-libs/wayland/wayland-1.15.0.ebuild
@@ -18,7 +18,7 @@ if [[ $PV = 9999* ]]; then
SRC_URI=""
else
SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- 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"
fi
LICENSE="MIT"
diff --git a/dev-libs/weston/metadata.xml b/dev-libs/weston/metadata.xml
index 661f699a5e5a..92b7b9cd58b3 100644
--- a/dev-libs/weston/metadata.xml
+++ b/dev-libs/weston/metadata.xml
@@ -1,9 +1,9 @@
-
- x11@gentoo.org
- X11
+
+ chewi@gentoo.org
+ James Le Cuirot
- https://sourceforge.net/tracker/?group_id=1689
+ https://sourceforge.net/p/pmt/bugs/
pmt