diff --git a/Manifest.files.gz b/Manifest.files.gz
index a9b27328e340..99e9a99fb402 100644
Binary files a/Manifest.files.gz and b/Manifest.files.gz differ
diff --git a/acct-group/Manifest.gz b/acct-group/Manifest.gz
index d35aa61f4164..133c5e7fb48b 100644
Binary files a/acct-group/Manifest.gz and b/acct-group/Manifest.gz differ
diff --git a/virtual/ruby-ffi/Manifest b/acct-group/elasticsearch/Manifest
similarity index 100%
rename from virtual/ruby-ffi/Manifest
rename to acct-group/elasticsearch/Manifest
diff --git a/acct-group/elasticsearch/elasticsearch-0.ebuild b/acct-group/elasticsearch/elasticsearch-0.ebuild
new file mode 100644
index 000000000000..6ce4d2be1eff
--- /dev/null
+++ b/acct-group/elasticsearch/elasticsearch-0.ebuild
@@ -0,0 +1,9 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-group
+
+DESCRIPTION="Elasticsearch program group"
+ACCT_GROUP_ID=183
diff --git a/acct-group/elasticsearch/metadata.xml b/acct-group/elasticsearch/metadata.xml
new file mode 100644
index 000000000000..90fd593b4cc0
--- /dev/null
+++ b/acct-group/elasticsearch/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ hydrapolic@gmail.com
+ Tomáš Mózes
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-group/kibana/Manifest b/acct-group/kibana/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-group/kibana/kibana-0.ebuild b/acct-group/kibana/kibana-0.ebuild
new file mode 100644
index 000000000000..d72c70f8df63
--- /dev/null
+++ b/acct-group/kibana/kibana-0.ebuild
@@ -0,0 +1,9 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-group
+
+DESCRIPTION="Kibana program group"
+ACCT_GROUP_ID=269
diff --git a/acct-group/kibana/metadata.xml b/acct-group/kibana/metadata.xml
new file mode 100644
index 000000000000..90fd593b4cc0
--- /dev/null
+++ b/acct-group/kibana/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ hydrapolic@gmail.com
+ Tomáš Mózes
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-group/nofiles/Manifest b/acct-group/nofiles/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-group/nofiles/metadata.xml b/acct-group/nofiles/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-group/nofiles/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-group/nofiles/nofiles-0.ebuild b/acct-group/nofiles/nofiles-0.ebuild
new file mode 100644
index 000000000000..46d6e49a0fe8
--- /dev/null
+++ b/acct-group/nofiles/nofiles-0.ebuild
@@ -0,0 +1,8 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-group
+
+ACCT_GROUP_ID=200
diff --git a/acct-group/qmail/Manifest b/acct-group/qmail/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-group/qmail/metadata.xml b/acct-group/qmail/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-group/qmail/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-group/qmail/qmail-0.ebuild b/acct-group/qmail/qmail-0.ebuild
new file mode 100644
index 000000000000..9a1c1d8dc853
--- /dev/null
+++ b/acct-group/qmail/qmail-0.ebuild
@@ -0,0 +1,8 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-group
+
+ACCT_GROUP_ID=201
diff --git a/acct-user/Manifest.gz b/acct-user/Manifest.gz
index e3ffad443282..9b4ccd0f010c 100644
Binary files a/acct-user/Manifest.gz and b/acct-user/Manifest.gz differ
diff --git a/acct-user/alias/Manifest b/acct-user/alias/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/alias/alias-0.ebuild b/acct-user/alias/alias-0.ebuild
new file mode 100644
index 000000000000..a47d9c9a3aac
--- /dev/null
+++ b/acct-user/alias/alias-0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="alias user for qmail mail delivery"
+ACCT_USER_ID=200
+ACCT_USER_HOME=/var/qmail/alias
+ACCT_USER_HOME_OWNER=alias:qmail
+ACCT_USER_HOME_PERMS=02755
+ACCT_USER_GROUPS=( nofiles )
+
+acct-user_add_deps
diff --git a/acct-user/alias/metadata.xml b/acct-user/alias/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/alias/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/elasticsearch/Manifest b/acct-user/elasticsearch/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/elasticsearch/elasticsearch-0.ebuild b/acct-user/elasticsearch/elasticsearch-0.ebuild
new file mode 100644
index 000000000000..9034a4866c53
--- /dev/null
+++ b/acct-user/elasticsearch/elasticsearch-0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="Elasticsearch program user"
+ACCT_USER_ID=183
+ACCT_USER_HOME=/usr/share/elasticsearch
+ACCT_USER_HOME_PERMS=0755
+ACCT_USER_GROUPS=( elasticsearch )
+acct-user_add_deps
diff --git a/acct-user/elasticsearch/metadata.xml b/acct-user/elasticsearch/metadata.xml
new file mode 100644
index 000000000000..90fd593b4cc0
--- /dev/null
+++ b/acct-user/elasticsearch/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ hydrapolic@gmail.com
+ Tomáš Mózes
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/kibana/Manifest b/acct-user/kibana/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/kibana/kibana-0.ebuild b/acct-user/kibana/kibana-0.ebuild
new file mode 100644
index 000000000000..dbf068b89140
--- /dev/null
+++ b/acct-user/kibana/kibana-0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="Kibana program user"
+ACCT_USER_ID=269
+ACCT_USER_HOME=/var/lib/kibana
+ACCT_USER_HOME_PERMS=0750
+ACCT_USER_GROUPS=( kibana )
+acct-user_add_deps
diff --git a/acct-user/kibana/metadata.xml b/acct-user/kibana/metadata.xml
new file mode 100644
index 000000000000..90fd593b4cc0
--- /dev/null
+++ b/acct-user/kibana/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ hydrapolic@gmail.com
+ Tomáš Mózes
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmaild/Manifest b/acct-user/qmaild/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/qmaild/metadata.xml b/acct-user/qmaild/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/qmaild/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmaild/qmaild-0.ebuild b/acct-user/qmaild/qmaild-0.ebuild
new file mode 100644
index 000000000000..0c80c6d175f0
--- /dev/null
+++ b/acct-user/qmaild/qmaild-0.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="user for qmail-smtpd"
+ACCT_USER_ID=201
+ACCT_USER_GROUPS=( nofiles )
+
+acct-user_add_deps
diff --git a/acct-user/qmaill/Manifest b/acct-user/qmaill/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/qmaill/metadata.xml b/acct-user/qmaill/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/qmaill/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmaill/qmaill-0.ebuild b/acct-user/qmaill/qmaill-0.ebuild
new file mode 100644
index 000000000000..4efec65c5a8c
--- /dev/null
+++ b/acct-user/qmaill/qmaill-0.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="user for qmail logging"
+ACCT_USER_ID=202
+ACCT_USER_GROUPS=( nofiles )
+
+acct-user_add_deps
diff --git a/acct-user/qmailp/Manifest b/acct-user/qmailp/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/qmailp/metadata.xml b/acct-user/qmailp/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/qmailp/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmailp/qmailp-0.ebuild b/acct-user/qmailp/qmailp-0.ebuild
new file mode 100644
index 000000000000..0bd908ebe163
--- /dev/null
+++ b/acct-user/qmailp/qmailp-0.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="user for qmail-getpw"
+ACCT_USER_ID=203
+ACCT_USER_GROUPS=( nofiles )
+
+acct-user_add_deps
diff --git a/acct-user/qmailq/Manifest b/acct-user/qmailq/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/qmailq/metadata.xml b/acct-user/qmailq/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/qmailq/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmailq/qmailq-0.ebuild b/acct-user/qmailq/qmailq-0.ebuild
new file mode 100644
index 000000000000..6b1f3cb28279
--- /dev/null
+++ b/acct-user/qmailq/qmailq-0.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="user for qmail queue"
+ACCT_USER_ID=204
+ACCT_USER_GROUPS=( qmail )
+
+acct-user_add_deps
diff --git a/acct-user/qmailr/Manifest b/acct-user/qmailr/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/qmailr/metadata.xml b/acct-user/qmailr/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/qmailr/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmailr/qmailr-0.ebuild b/acct-user/qmailr/qmailr-0.ebuild
new file mode 100644
index 000000000000..fa8f7eab2f28
--- /dev/null
+++ b/acct-user/qmailr/qmailr-0.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="user for qmail-rspawn and qmail-remote"
+ACCT_USER_ID=205
+ACCT_USER_GROUPS=( qmail )
+
+acct-user_add_deps
diff --git a/acct-user/qmails/Manifest b/acct-user/qmails/Manifest
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/acct-user/qmails/metadata.xml b/acct-user/qmails/metadata.xml
new file mode 100644
index 000000000000..984c50fcb5cd
--- /dev/null
+++ b/acct-user/qmails/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ eike@sf-mail.de
+ Rolf Eike Beer
+
+
+ proxy-maint@gentoo.org
+ Proxy Maintainers
+
+
diff --git a/acct-user/qmails/qmails-0.ebuild b/acct-user/qmails/qmails-0.ebuild
new file mode 100644
index 000000000000..523542ba2bdb
--- /dev/null
+++ b/acct-user/qmails/qmails-0.ebuild
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit acct-user
+
+DESCRIPTION="user for qmail-smtpd"
+ACCT_USER_ID=206
+ACCT_USER_GROUPS=( qmail )
+
+acct-user_add_deps
diff --git a/app-admin/Manifest.gz b/app-admin/Manifest.gz
index f37ed00a12d2..1ba8a54f179b 100644
Binary files a/app-admin/Manifest.gz and b/app-admin/Manifest.gz differ
diff --git a/app-admin/dxf/Manifest b/app-admin/dxf/Manifest
index c605de17d5ca..f69e3891191b 100644
--- a/app-admin/dxf/Manifest
+++ b/app-admin/dxf/Manifest
@@ -1 +1,2 @@
DIST dxf-7.5.1.tar.gz 308004 BLAKE2B 6f8aaf39fbf3a9ef813d5af502361fac3827db17fa5279c3a53e8b87826cac15ef59cb41b2682c9eea065e0a30d98c2b22f72b4922869a012eab76274b1ff325 SHA512 f1a5082d70c115da9f01385e40ed7d2c1ce82af6fb9e55c8f3173e544a9ff3e98c8c565c9e6a2ca1e9a688665944ec0d9dd873f621914d5b746ef4a145f308a0
+DIST dxf-7.5.2.tar.gz 310576 BLAKE2B 0b9b79b4278c2e4137105952d070bb5ce8b7b905881fb10d38c2504467ccc4e6ac8061651b2e82cae1af3e7d26a58904dc1cafe5099519e0ad14b6760131ab82 SHA512 2fb8d175fbcb13dc9160b28d37e5d74886826764b2f5b2cc9a1aad0cff59f7bd5146c15b130cb760406a9bbd4abd650adb050db72bd81dcca9e9b05beccec769
diff --git a/app-admin/dxf/dxf-7.5.2.ebuild b/app-admin/dxf/dxf-7.5.2.ebuild
new file mode 100644
index 000000000000..2b55ca80585a
--- /dev/null
+++ b/app-admin/dxf/dxf-7.5.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+inherit distutils-r1
+
+DESCRIPTION="Docker registry v2 client in Python"
+HOMEPAGE="https://github.com/davedoesdev/dxf"
+SRC_URI="https://github.com/davedoesdev/dxf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=">=dev-python/jwcrypto-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/tqdm-4.19.4[${PYTHON_USEDEP}]
+ >=dev-python/www-authenticate-0.9.2[${PYTHON_USEDEP}]"
+
+RESTRICT="test"
+# Require dockerd running
+
+python_test() {
+ emake test
+}
diff --git a/app-admin/filebeat/Manifest b/app-admin/filebeat/Manifest
index 19436278ff31..ec1a5b124cf2 100644
--- a/app-admin/filebeat/Manifest
+++ b/app-admin/filebeat/Manifest
@@ -4,4 +4,6 @@ DIST filebeat-6.4.3.tar.gz 22085261 BLAKE2B 466580ba371d02bd0b51bd80f0e8d9766f2a
DIST filebeat-6.5.4.tar.gz 25286147 BLAKE2B c3eca03c8e8e2b863918f3fe65bdea46b351739569f5570daac3e321963e98190331c5bf99c2451db5faa615620e023d2fd9c73060d4d775392a86a2f5578d80 SHA512 a48b9ae267ec80c1b45e4e07644f8080f8ba280da5c3543022b73472eb70de9d836cfffd387e576298becf9313d2cfa67d835158442f163b1a1bd0e72df31297
DIST filebeat-6.6.1.tar.gz 29108620 BLAKE2B 21dbe189dcf91efe6170574e3cff858cca4094936fbda54a343f66e61a5f0cd7d29e71d547c34ddd78776283d13e48926dd84925eed58ca07cc7bedf216c9064 SHA512 9c7646efa8aa44c2ae1cbcf85204749bc57491aad075d3ca283cd75a1b3a93d922169603407b2ea111e7e3abe0a43ce26fabccfe93d56a4232bd63e2b2e8b24a
DIST filebeat-6.8.1.tar.gz 35550017 BLAKE2B 0a1913adf2eda50884f33715a059fcc2028e31560afc5412e87d7fd3a6ed5cc504683ad3c5b28f18df24afd3e4c8d96c5b2a930411ae32d09d05c85cfdff0499 SHA512 5ff047e80099b09e25952ac7fc8ea0c6be25df2cd3b638c07c600e680fac32505c279a3a91ee2e61acf0f9535b4adb390a65f3a7dbc3599e74c6b02e0aa6ef71
+DIST filebeat-6.8.3.tar.gz 35551301 BLAKE2B ec33f0a5812e355bf2a9212daff999dfed869cd07b20ed9a8fa7c94c76e6fda291a137c5c601d9317ce3e1a34e06be241c1ce7c148f7b6e181903f88c6b1a410 SHA512 49cea2f95429feb311a15b9f247a0c627409edb1badd09d629d37a28994301e69526d5156bce72c9ed65079815f58bca41202862321edc46315e649395293632
DIST filebeat-7.2.0.tar.gz 46415588 BLAKE2B a8940e9a4a85e6eac79dca3418d3dcd14c5a1062741dd895c561d1498c287bb974a5ac89d5b353dbb75e78e6c67cba97a08d41528042db4e4d76bb46016fac60 SHA512 67d251cabca10a1f6d392be8e6203e66d4cf5d63ceb2af88185ea4824259995dafd3aa8dd2da326d079cfcfedce5996f173cd6c50972db67cbe25f660683e5d1
+DIST filebeat-7.3.2.tar.gz 49977990 BLAKE2B 6219a382b415572fdea2ff4b0aa3f02b3c1e500d77ed5200b6d5b4334a08b8e91d389ea41b3afe98355f8b20e7f8ecaccf5996f0bb7aad5f10e0f0d69400a0d6 SHA512 75943b251343d28f478f2f19665e4ba31f5bc6e4b26f6e6da8aa062322da4ab8e134c87a9557a97677ba3b22484c44ebaeaeeb87866e0f12e67f1647fe34131a
diff --git a/app-admin/filebeat/filebeat-6.8.3.ebuild b/app-admin/filebeat/filebeat-6.8.3.ebuild
new file mode 100644
index 000000000000..0c71f0e08435
--- /dev/null
+++ b/app-admin/filebeat/filebeat-6.8.3.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Lightweight log shipper for Logstash and Elasticsearch"
+HOMEPAGE="https://www.elastic.co/products/beats"
+SRC_URI="https://github.com/elastic/beats/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+DEPEND=">=dev-lang/go-1.12.9"
+RDEPEND="!app-admin/filebeat-bin"
+
+# Do not complain about CFLAGS etc since go projects do not use them.
+QA_FLAGS_IGNORED='.*'
+
+S="${WORKDIR}/src/github.com/elastic/beats"
+
+src_unpack() {
+ mkdir -p "${S%/*}" || die
+ default
+ mv beats-${PV} "${S}" || die
+}
+
+src_prepare() {
+ default
+
+ # avoid Elastic license
+ rm -r x-pack || die
+
+ # use ${PV} instead of git commit id
+ sed -i "s/\(COMMIT_ID=\).*/\1${PV}/g" "${S}/libbeat/scripts/Makefile" || die
+}
+
+src_compile() {
+ GOPATH="${WORKDIR}" emake -C "${S}/filebeat"
+}
+
+src_install() {
+ keepdir /etc/${PN}
+ keepdir /var/{lib,log}/${PN}
+
+ fperms 0750 /var/{lib,log}/${PN}
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd.1" ${PN}
+
+ docinto examples
+ dodoc ${PN}/{filebeat.yml,filebeat.reference.yml}
+
+ dobin filebeat/filebeat
+}
+
+pkg_postinst() {
+ if [[ -n "${REPLACING_VERSIONS}" ]]; then
+ elog "Please read the migration guide at:"
+ elog "https://www.elastic.co/guide/en/beats/libbeat/$(ver_cut 1-2)/upgrading.html"
+ elog ""
+ fi
+
+ elog "Example configurations:"
+ elog "${EROOT}/usr/share/doc/${PF}/examples"
+}
diff --git a/app-admin/filebeat/filebeat-7.3.2.ebuild b/app-admin/filebeat/filebeat-7.3.2.ebuild
new file mode 100644
index 000000000000..0c71f0e08435
--- /dev/null
+++ b/app-admin/filebeat/filebeat-7.3.2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Lightweight log shipper for Logstash and Elasticsearch"
+HOMEPAGE="https://www.elastic.co/products/beats"
+SRC_URI="https://github.com/elastic/beats/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+DEPEND=">=dev-lang/go-1.12.9"
+RDEPEND="!app-admin/filebeat-bin"
+
+# Do not complain about CFLAGS etc since go projects do not use them.
+QA_FLAGS_IGNORED='.*'
+
+S="${WORKDIR}/src/github.com/elastic/beats"
+
+src_unpack() {
+ mkdir -p "${S%/*}" || die
+ default
+ mv beats-${PV} "${S}" || die
+}
+
+src_prepare() {
+ default
+
+ # avoid Elastic license
+ rm -r x-pack || die
+
+ # use ${PV} instead of git commit id
+ sed -i "s/\(COMMIT_ID=\).*/\1${PV}/g" "${S}/libbeat/scripts/Makefile" || die
+}
+
+src_compile() {
+ GOPATH="${WORKDIR}" emake -C "${S}/filebeat"
+}
+
+src_install() {
+ keepdir /etc/${PN}
+ keepdir /var/{lib,log}/${PN}
+
+ fperms 0750 /var/{lib,log}/${PN}
+
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+ newinitd "${FILESDIR}/${PN}.initd.1" ${PN}
+
+ docinto examples
+ dodoc ${PN}/{filebeat.yml,filebeat.reference.yml}
+
+ dobin filebeat/filebeat
+}
+
+pkg_postinst() {
+ if [[ -n "${REPLACING_VERSIONS}" ]]; then
+ elog "Please read the migration guide at:"
+ elog "https://www.elastic.co/guide/en/beats/libbeat/$(ver_cut 1-2)/upgrading.html"
+ elog ""
+ fi
+
+ elog "Example configurations:"
+ elog "${EROOT}/usr/share/doc/${PF}/examples"
+}
diff --git a/app-admin/keepass/Manifest b/app-admin/keepass/Manifest
index eeae91cd736b..470ee9d4d770 100644
--- a/app-admin/keepass/Manifest
+++ b/app-admin/keepass/Manifest
@@ -1 +1,2 @@
DIST KeePass-2.42.1-Source.zip 5163432 BLAKE2B c24a57da863c92d3f89663f33ed89c277e248c926067c14a6a7e3526e77c458e943e62c4b98a3d86595eea308d8744fd4a17da6d5456030a771e324a662abd9f SHA512 c87581afbaa516f637848db134a8d945db168bbbe97789a9a7424600d4188a21d2b1b3cf907a20577b2903ce8916b6b12355a3296ee1630a5b556c9170c4fa22
+DIST KeePass-2.43-Source.zip 5177684 BLAKE2B 72530afd37139d250fe7378ccfec9056e9f2210aa9dfc4cc082d977ccfc517697bc52dad3d487ebabc796977cdbb9679df32a79a6be807c21ceab5931d464df0 SHA512 c403ae5d7b2a997e1aadffd6a522c8292d01a5803371af8b30734414ca5d47871b53a15067251d4cb072215fd41396465b0b16351e76dad7a48044b7ed62a7e8
diff --git a/app-admin/keepass/keepass-2.43.ebuild b/app-admin/keepass/keepass-2.43.ebuild
new file mode 100644
index 000000000000..1dc244ea08cf
--- /dev/null
+++ b/app-admin/keepass/keepass-2.43.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils xdg-utils
+
+MY_PN="KeePass"
+DESCRIPTION="A free, open source, light-weight and easy-to-use password manager"
+HOMEPAGE="https://keepass.info/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-${PV}-Source.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="aot"
+
+COMMON_DEPEND="dev-lang/mono"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip
+"
+RDEPEND="${COMMON_DEPEND}
+ dev-dotnet/libgdiplus[cairo]
+"
+
+S="${WORKDIR}"
+PATCHES=( "${FILESDIR}/${PN}-2.36-xsl-path-detection.patch" )
+
+src_prepare() {
+ # KeePass looks for some XSL files in the same folder as the executable,
+ # we prefer to have it in /usr/share/KeePass. Apply patch using base function.
+ # This XSL file will not be upstreamed since the KeePass creator said that
+ # including this patch would break the Portable USB version of KeePass
+ # (which keeps/looks for xsl files in its own folder)
+ default
+
+ # Switch into build dir so the mono prepration script works correctly
+ pushd Build || die
+ source PrepMonoDev.sh || die
+ popd || die
+}
+
+src_compile() {
+ export MONO_REGISTRY_PATH=/dev/null # bug 659808
+
+ # Build with Release target
+ xbuild /target:KeePass /property:Configuration=Release || die
+
+ # Run Ahead Of Time compiler on the binary
+ if use aot; then
+ cp Ext/KeePass.exe.config Build/KeePass/Release/ || die
+ mono --aot -O=all Build/KeePass/Release/KeePass.exe || die
+ fi
+}
+
+src_install() {
+ # Wrapper script to launch mono
+ make_wrapper "${PN}" "mono /usr/$(get_libdir)/${PN}/KeePass.exe"
+
+ # Some XSL files
+ insinto "/usr/share/${PN}/XSL"
+ doins Ext/XSL/*
+
+ insinto "/usr/$(get_libdir)/${PN}"
+ exeinto "/usr/$(get_libdir)/${PN}"
+
+ doins Ext/KeePass.exe.config
+
+ # Default configuration, simply says to use user-specific configuration
+ doins Ext/KeePass.config.xml
+
+ # The actual executable
+ doexe Build/KeePass/Release/KeePass.exe
+
+ # Copy the AOT compilation result
+ if use aot; then
+ doexe Build/KeePass/Release/KeePass.exe.so
+ fi
+
+ # Prepare the icons
+ newicon -s 256 Ext/Icons_04_CB/Finals/plockb.png "${PN}.png"
+ newicon -s 256 -t gnome -c mimetypes Ext/Icons_04_CB/Finals/plockb.png "application-x-${PN}2.png"
+
+ # Create a desktop entry and associate it with the KeePass mime type
+ make_desktop_entry "${PN}" "${MY_PN}" "${PN}" "System;Security" "MimeType=application/x-keepass2;\nStartupWMClass=KeePass2;"
+
+ # MIME descriptor for .kdbx files
+ insinto /usr/share/mime/packages
+ doins "${FILESDIR}/${PN}.xml"
+
+ # sed, because patching this really sucks
+ sed -i 's/mono/mono --verify-all/g' "${D}/usr/bin/keepass" || die
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+
+ if ! has_version x11-misc/xdotool ; then
+ elog "Optional dependencies:"
+ elog " x11-misc/xdotool (enables autotype/autofill)"
+ fi
+
+ elog "Some systems may experience issues with copy and paste operations."
+ elog "If you encounter this, please install x11-misc/xsel."
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/app-admin/lastpass-binary-component/lastpass-binary-component-4.19.0.ebuild b/app-admin/lastpass-binary-component/lastpass-binary-component-4.19.0.ebuild
index c0407fd6d94f..ac0969132cf4 100644
--- a/app-admin/lastpass-binary-component/lastpass-binary-component-4.19.0.ebuild
+++ b/app-admin/lastpass-binary-component/lastpass-binary-component-4.19.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://download.cloud.lastpass.com/linux/lplinux.tar.bz2 -> ${P}.tar.b
LICENSE="LastPass"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
-RESTRICT="strip mirror" # We can't mirror it, but we can fetch it
+RESTRICT="bindist strip mirror" # We can't mirror it, but we can fetch it
LASTPASS_EXEDIR=/opt/lastpass/
diff --git a/app-admin/logstash-bin/Manifest b/app-admin/logstash-bin/Manifest
index a612b116191c..f7fcb55e128f 100644
--- a/app-admin/logstash-bin/Manifest
+++ b/app-admin/logstash-bin/Manifest
@@ -1,7 +1,11 @@
DIST logstash-5.6.15.tar.gz 110086992 BLAKE2B 3047259c4bc5d71b072fa004c44953f84860ec53e051641c4efc903e38243e85b8fdebeaf093c01f5410c1f05a78a8d8aa2282fc45cf5fd784a41ea66ff5b196 SHA512 405039ff988aee8878cbeca96ef0fcbadba762f877eaec36c8a75b010e56a943c2951a8f83f9279d7d9fea99c4f8a200c705f784813a2733289336c58c34ca1e
DIST logstash-6.6.1.tar.gz 169642354 BLAKE2B 335fa036e9f120de5d6588ed18e927ddfb3a94dfcfbc9605fbda3e3eb4da3ba88561d466eb171c85a2deebb3328312ba903616704844e253a7599f75597efbae SHA512 a66f196f160af29492b64efb61b7e3253a4ef45764c5e6226f73c2a216151ff43f6d344c2e3340a1a9ddb8b00e61f14c65d5dd0c14d69421f4efa3542445fe4f
DIST logstash-6.8.1.tar.gz 172031559 BLAKE2B dcb0d37ce0325affa86c3cba546dae262ae8436cc2234eb977a359498f923620cb1ce4bc79a5a5c5d7afe6b7b3b3e938791baf44ce25ba967f5738ea5cb15669 SHA512 3f3a90cbd185a5efaefbe2004f1265ea5d1fbd3371820897b19d8b9b8fcc6d5522bd97ef4150fd963a376ce7726d9ab4d62fa9e2bc718a2c8bb69dd7e964c378
+DIST logstash-6.8.3.tar.gz 172067513 BLAKE2B e91661009b1977879117c814f1b17a703848bbf09093ed0eb7c91007254299b2935f2cb36374ee0e9ebb71cc3f61521e96db51d4e4f7fa1612cc04cd08cf5201 SHA512 b441619570af6043c914744d32e5a7fef95ed24103693990c9ca6b45aca717678a7916e18a08d7903b907aabda4fab75ef3a4f8ab0e0ea4bea4fc4e167db4dcf
DIST logstash-7.2.0.tar.gz 171299740 BLAKE2B cfdbabc11d6e0d182ea7bdff1d30ca3a5bfbfe036f952c0d944c105f563dfa1b444c8dd1e9f023301abfbf9a86708d6bde2689b462b28f00a34d09f78fe3898c SHA512 955358d504b6626ba9ac88a2d65b161044180c3085f8dbaedfb8b85b092ecc65721bbda73b750f7d8b78a052828a54f7ed7ad16ee7ec72f3ed5e428ba291a173
+DIST logstash-7.3.2.tar.gz 171783584 BLAKE2B 0a936edaa57ae5552b79bead754b75c8a8c7a920461b720c58dc8e32c2aae342f3639955b63264e8704093c0d30d5d801f468d1b391e9efb2c5d605dcb2ebf5e SHA512 311b849cb8e1f336908aefa1cb2f0e2d76b696410346dd3fa0560313f9cbd3f098c93aee68c9fead736a3edb39ca543161eb7de115597e034eb0a015904c7417
DIST logstash-oss-6.6.1.tar.gz 169512439 BLAKE2B 54a18deda80079c9bf2de39936737689d696a4ddc6f8a7ae375d48817ea127f1eb83f1ef50a18b573709446fc3deb858f53a5aff6411329b52ef0316859a7f03 SHA512 7fbe960e615c3c6b6715bd63debd3db869abe29bfdc94d4947290b822fe1d858e289548dbda266c8ad6d25745e63a788de0c83566121faa0d3027642b0f3d108
DIST logstash-oss-6.8.1.tar.gz 171901409 BLAKE2B bff3b96bcf3f53450e1279f633788af7d7a1d18b18305741c87c6b2c7e9e24db0664798c7040116bfbf72c9714bad867a00a3f37fe8eb436ce1948bb84a2096f SHA512 d928f9eaa2278c76cbdec46349bf1b924d3f5a9f668c834c882158decf52d44f14dcc356a491cc935dd3717f4a76b8a23eac1173ab28f44cdb32a57ab298fbcd
+DIST logstash-oss-6.8.3.tar.gz 171937304 BLAKE2B 25dc90c6223d2481ee7cb4fb5bc9019aff6aa6e01bd56e33758842898a273de5fbec1e939dde91ceb719b41ea0222ab9ce8548cece56fd7c07d398a30b329a1d SHA512 24efed274cf1adf5e538048d1d9c2c5d252fd8671c167f2bf28b1ecbbec353e4b41729e722b3aeadfa72835717bad7f4bd1638ddedf53827dd5d9826e234e8b1
DIST logstash-oss-7.2.0.tar.gz 171128040 BLAKE2B f0f3d4f0d5228918d8435c521d10ff5070e23561c25ce28e8d58997d499a7c7697354c1fb1cb70bf2bd832ad50c04afb00cbde4b3053f9f24d2619f3fbfffbdf SHA512 24120740bc727b6da50b865bb85bf61f013a38b6679d679ecc75a73c69766a5133fd47ad99fa0220d5dc6cceb506fbde206787adcee31483288c68c228edd1fd
+DIST logstash-oss-7.3.2.tar.gz 171613705 BLAKE2B e1a0c512cadd5855e1a1524e1c44214aeb792361493406c5cacde1bd72243178d03113c08a1fe0d1c2212cec5a2947074911bf19eaaedc636db754081c3fe32c SHA512 3aac74966b27d0d551f49c78c457b18a1a76d0e5a7b2fa1dc9a7776927145b28a6c02f51e4dd7e9ca49dabe5f63effd4227fc6980e522ab7da4ef847da6bda12
diff --git a/app-admin/logstash-bin/logstash-bin-6.8.3.ebuild b/app-admin/logstash-bin/logstash-bin-6.8.3.ebuild
new file mode 100644
index 000000000000..bc5b7769f9ee
--- /dev/null
+++ b/app-admin/logstash-bin/logstash-bin-6.8.3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-2
+
+MY_PN="${PN%-bin}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tool for managing events and logs"
+HOMEPAGE="https://www.elastic.co/products/logstash"
+SRC_URI="x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_P}.tar.gz )
+ !x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_PN}-oss-${PV}.tar.gz )"
+
+# source: LICENSE.txt and NOTICE.txt
+LICENSE="Apache-2.0 MIT x-pack? ( Elastic )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="x-pack"
+
+RESTRICT="strip"
+QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
+
+RDEPEND="acct-group/logstash
+ acct-user/logstash
+ virtual/jre:1.8"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
+ keepdir "/var/log/${MY_PN}"
+
+ insinto "/usr/share/${MY_PN}"
+ newins "${FILESDIR}/agent.conf.sample" agent.conf
+
+ rm -v config/{pipelines.yml,startup.options} || die
+ insinto /etc/${MY_PN}
+ doins -r config/.
+ doins "${FILESDIR}/pipelines.yml"
+ rm -rv config data || die
+
+ insinto "/opt/${MY_PN}"
+ doins -r .
+ fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby" "/opt/${MY_PN}/bin/logstash-plugin"
+
+ newconfd "${FILESDIR}/${MY_PN}.confd-r2" "${MY_PN}"
+ newinitd "${FILESDIR}/${MY_PN}.initd-r2" "${MY_PN}"
+
+ insinto /usr/share/eselect/modules
+ doins "${FILESDIR}"/logstash-plugin.eselect
+}
+
+pkg_postinst() {
+ ewarn "Self installed plugins are removed during Logstash upgrades (Bug #622602)"
+ ewarn "Install the plugins via eselect module that will automatically re-install"
+ ewarn "all self installed plugins after Logstash upgrades."
+ elog
+ elog "Installing plugins:"
+ elog "eselect logstash-plugin install logstash-output-gelf"
+ elog
+
+ elog "Reinstalling self installed plugins (installed via eselect module):"
+ eselect logstash-plugin reinstall
+
+ elog
+ elog "Sample configuration:"
+ elog "${EROOT}/usr/share/${MY_PN}"
+ elog
+ elog "The default pipeline configuration expects the configuration(s) to be found in:"
+ elog "${EROOT}/etc/logstash/conf.d/*.conf"
+}
diff --git a/app-admin/logstash-bin/logstash-bin-7.3.2.ebuild b/app-admin/logstash-bin/logstash-bin-7.3.2.ebuild
new file mode 100644
index 000000000000..7b2c36e2a632
--- /dev/null
+++ b/app-admin/logstash-bin/logstash-bin-7.3.2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-2
+
+MY_PN="${PN%-bin}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Tool for managing events and logs"
+HOMEPAGE="https://www.elastic.co/products/logstash"
+SRC_URI="x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_P}.tar.gz )
+ !x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_PN}-oss-${PV}.tar.gz )"
+
+# source: LICENSE.txt and NOTICE.txt
+LICENSE="Apache-2.0 MIT x-pack? ( Elastic )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="x-pack"
+
+RESTRICT="strip"
+QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
+
+RDEPEND="acct-group/logstash
+ acct-user/logstash
+ virtual/jre"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
+ keepdir "/var/log/${MY_PN}"
+
+ insinto "/usr/share/${MY_PN}"
+ newins "${FILESDIR}/agent.conf.sample" agent.conf
+
+ rm -v config/{pipelines.yml,startup.options} || die
+ insinto /etc/${MY_PN}
+ doins -r config/.
+ doins "${FILESDIR}/pipelines.yml"
+ rm -rv config data || die
+
+ insinto "/opt/${MY_PN}"
+ doins -r .
+ fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby" "/opt/${MY_PN}/bin/logstash-plugin"
+
+ newconfd "${FILESDIR}/${MY_PN}.confd-r2" "${MY_PN}"
+ newinitd "${FILESDIR}/${MY_PN}.initd-r2" "${MY_PN}"
+
+ insinto /usr/share/eselect/modules
+ doins "${FILESDIR}"/logstash-plugin.eselect
+}
+
+pkg_postinst() {
+ ewarn "Self installed plugins are removed during Logstash upgrades (Bug #622602)"
+ ewarn "Install the plugins via eselect module that will automatically re-install"
+ ewarn "all self installed plugins after Logstash upgrades."
+ elog
+ elog "Installing plugins:"
+ elog "eselect logstash-plugin install logstash-output-gelf"
+ elog
+
+ elog "Reinstalling self installed plugins (installed via eselect module):"
+ eselect logstash-plugin reinstall
+
+ elog
+ elog "Sample configuration:"
+ elog "${EROOT}/usr/share/${MY_PN}"
+ elog
+ elog "The default pipeline configuration expects the configuration(s) to be found in:"
+ elog "${EROOT}/etc/logstash/conf.d/*.conf"
+}
diff --git a/app-admin/mongo-tools/Manifest b/app-admin/mongo-tools/Manifest
index 99045b1b43e5..8f5e9f7f8de1 100644
--- a/app-admin/mongo-tools/Manifest
+++ b/app-admin/mongo-tools/Manifest
@@ -1,4 +1,6 @@
DIST mongo-tools-3.6.13.tar.gz 4990848 BLAKE2B 022ddf214869c3a3e545aa9572f77f0adc21c0dbd6ea6ad9e083633c2e972b7ef77c0bda4354dbde9fd0e23c6dd02a7de8873d4b2c2a3e4423ea6f8e1c23ed52 SHA512 fac21c4841bfecba11a7765bb6c36d1fa19d4dd94f6f4168fa767fc11dc8b3caf04a5029becd09eba01dd694274e9cc22da8566ce878769e5c3c97016c162432
+DIST mongo-tools-3.6.14.tar.gz 4990861 BLAKE2B 13394a7222e73c0912e7d9d04205b25e5d73d6c72b53521b0749e0998dc52bbe4c7733d460b189aff2401790f537d9aa369b969ed273ea0858520ecd75782b66 SHA512 3e7caaa1d568023d478c77d5e88127796b25d27c71e30af692983f4fd2160887662253ffc67e6e87aa3a7e1fd4ae231de9401b1628412a4561b9595b71df8834
DIST mongo-tools-3.6.8.tar.gz 4723878 BLAKE2B a1693024d60f69d25c268eaaa30a478b1e4c0042c5fb7a3fd6252ed00aef2fee3fba94516fe825165a1a57887ed38e4fbce488c48ddd4f45349f0b7a1b244020 SHA512 359e8ce2d847d005d48ff12bc2e8af73213d81cd1521d2b5b5ac94792468218248bebbe808e1bd8fd49234eab8480608f294c1b63f317aed58f456b84ef17dcf
DIST mongo-tools-4.0.10.tar.gz 11134721 BLAKE2B f25e834622db8a2cea1658d9396b747666dee6a0e6471f5fcf351431f716735227b19f854c228ebb9ace8a7c27b8cdf83f8a5009107191aa6dd27c1a4c037505 SHA512 12764b2e2016ae3ab3f0ed1f5b9be9ce10e466c53b408ad2c01b26bdf39ca41a358acd07aea5847db2b40e3e89293f77efcd2b310e4e2bf3071873abf1b20f49
DIST mongo-tools-4.0.12.tar.gz 11134652 BLAKE2B d3c9703046dc577b85cefe1185678e0029411ddd44d0648f9b09fc3ab41e3661891d18afd83bf1a148dc4c9208895f444c115948e515e09dfa3062e89d98fc24 SHA512 068d8c456386caddcce23fa8917ffecdc9b5c39fb6794c5cd1d9099be1f127ecf680b006055581dc3d90507072a87788b46be7410f0dbede42da64c664b77ced
+DIST mongo-tools-4.2.0.tar.gz 14402906 BLAKE2B 535a9a0e49f4288e63c905f7bd98c1f1b8e38eef562cb5c40a0c09500a18eb7fd401f05df2261c92db3e8a126cc03902fa3c61177b50a3e18f2d33bee7590f52 SHA512 f937a9f2b4ccfe262ca1a09e7bd103ffbdd45eae7c6deed8c1453f4499935f526f513749422e3215071ef465291c3f0544bf1e9510bbaf8dd9fa1edcf22f887a
diff --git a/app-admin/mongo-tools/mongo-tools-3.6.14.ebuild b/app-admin/mongo-tools/mongo-tools-3.6.14.ebuild
new file mode 100644
index 000000000000..092d770686fb
--- /dev/null
+++ b/app-admin/mongo-tools/mongo-tools-3.6.14.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-r${MY_PV}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://github.com/mongodb/mongo-tools/archive/r${MY_PV}.tar.gz -> mongo-tools-${MY_PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="sasl ssl"
+
+DEPEND="dev-lang/go:=
+ net-libs/libpcap
+ sasl? ( dev-libs/cyrus-sasl )
+ ssl? ( dev-libs/openssl:0= )"
+
+# Do not complain about CFLAGS etc since go projects do not use them.
+QA_FLAGS_IGNORED='.*'
+
+EGO_PN="github.com/mongodb/mongo-tools"
+S="${WORKDIR}/src/${EGO_PN}"
+
+src_unpack() {
+ mkdir -p "${S%/*}" || die
+ default
+ mv ${MY_P} "${S}" || die
+}
+
+src_prepare() {
+ default
+
+ # allow building with go 1.12 #678924
+ sed -i 's/_Ctype_struct_/C.struct_/' vendor/github.com/google/gopacket/pcap/pcap.go || die
+}
+
+src_compile() {
+ local myconf=()
+
+ if use sasl; then
+ myconf+=(sasl)
+ fi
+
+ if use ssl; then
+ myconf+=(ssl)
+ fi
+
+ # build pie to avoid text relocations wrt #582854
+ local buildmode="pie"
+
+ # skip on ppc64 wrt #610984
+ if use ppc64; then
+ buildmode="default"
+ fi
+
+ mkdir -p bin || die
+ for i in bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop mongoreplay; do
+ echo "Building $i"
+ GOROOT="$(go env GOROOT)" GOPATH="${WORKDIR}" go build -buildmode="${buildmode}" -o "bin/$i" \
+ -ldflags "-X ${EGO_PN}/common/options.VersionStr=${PV}" --tags "${myconf[*]}" "$i/main/$i.go" || die
+ done
+}
+
+src_install() {
+ dobin bin/*
+}
diff --git a/app-admin/mongo-tools/mongo-tools-4.2.0.ebuild b/app-admin/mongo-tools/mongo-tools-4.2.0.ebuild
new file mode 100644
index 000000000000..092d770686fb
--- /dev/null
+++ b/app-admin/mongo-tools/mongo-tools-4.2.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV=${PV/_rc/-rc}
+MY_P=${PN}-r${MY_PV}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://github.com/mongodb/mongo-tools/archive/r${MY_PV}.tar.gz -> mongo-tools-${MY_PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="sasl ssl"
+
+DEPEND="dev-lang/go:=
+ net-libs/libpcap
+ sasl? ( dev-libs/cyrus-sasl )
+ ssl? ( dev-libs/openssl:0= )"
+
+# Do not complain about CFLAGS etc since go projects do not use them.
+QA_FLAGS_IGNORED='.*'
+
+EGO_PN="github.com/mongodb/mongo-tools"
+S="${WORKDIR}/src/${EGO_PN}"
+
+src_unpack() {
+ mkdir -p "${S%/*}" || die
+ default
+ mv ${MY_P} "${S}" || die
+}
+
+src_prepare() {
+ default
+
+ # allow building with go 1.12 #678924
+ sed -i 's/_Ctype_struct_/C.struct_/' vendor/github.com/google/gopacket/pcap/pcap.go || die
+}
+
+src_compile() {
+ local myconf=()
+
+ if use sasl; then
+ myconf+=(sasl)
+ fi
+
+ if use ssl; then
+ myconf+=(ssl)
+ fi
+
+ # build pie to avoid text relocations wrt #582854
+ local buildmode="pie"
+
+ # skip on ppc64 wrt #610984
+ if use ppc64; then
+ buildmode="default"
+ fi
+
+ mkdir -p bin || die
+ for i in bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop mongoreplay; do
+ echo "Building $i"
+ GOROOT="$(go env GOROOT)" GOPATH="${WORKDIR}" go build -buildmode="${buildmode}" -o "bin/$i" \
+ -ldflags "-X ${EGO_PN}/common/options.VersionStr=${PV}" --tags "${myconf[*]}" "$i/main/$i.go" || die
+ done
+}
+
+src_install() {
+ dobin bin/*
+}
diff --git a/app-admin/puppet-agent/Manifest b/app-admin/puppet-agent/Manifest
index e6c6f0a2fdca..ee5edccb7eab 100644
--- a/app-admin/puppet-agent/Manifest
+++ b/app-admin/puppet-agent/Manifest
@@ -1,5 +1,3 @@
-DIST puppet-agent_6.6.0-1stretch_amd64.deb 19177382 BLAKE2B c8034e4a943394da7fd97756b3dfb59897f3d787a8f49743a4c42ed47db4411f6d0e125cf6984728a108e5070cc8e42ca0a203d2afdcce99e08ae38a6ebb9293 SHA512 f0d129b357feb6e5d05c080437910e119bbce0e97e36927c2f97d3d7fb8f54a0eb1503a74ffec3cef7fd29785fe97ffd53f04a4be6a35b558ee278af8871289b
-DIST puppet-agent_6.6.0-1stretch_i386.deb 19443284 BLAKE2B c017abc3166b3cb04a98c511b5ab05dd7076906a38edd8ee919848c130ae5b1cb6c7542b6c6c3da267fa801e152ad963c84293083c709dd769185f943a4bebcb SHA512 adadc3201dae261f2000282b67b8c4735eeb588c4c6c5dcbcde2e655772bebb1c343611607d84ba1b019279480445dc44cd4e3cc3d64e89b70e93b85a37678d5
DIST puppet-agent_6.7.2-1stretch_amd64.deb 19184682 BLAKE2B 6078c1b21f0e737881d949cfaf052571b40df450e53724696e2738141da30e59da7abf03ce00285ab77fd4ac52291ab6e42da373420807499f37b75c872fa83e SHA512 1c464448b1478397af7b806f8bfcaee0378af9d4b6bfa5a73e8245064329b1b49136107c5fcbaea0ef6cd4e1daf840d1ba331e798b2cd255ead54969520315c9
DIST puppet-agent_6.7.2-1stretch_i386.deb 19452604 BLAKE2B 1915e7b7085db6cb87980a98a7cb85881331719e2af98b07f8461514a0296b3cf5181eb88f78893055a0fa09fc2ffce0e81e866db27abcecf9d8f745e329311c SHA512 8d89735601c9764e207eef77f5d42e836ee9d7c0c0f2856e0f293919cce52e7a42fc28fca42bd0e0bed760063aae527007ef7ce25503ce05fcfd495a44243ee3
DIST puppet-agent_6.8.0-1stretch_amd64.deb 19184708 BLAKE2B ac961857784eaaa55604285cf305dac437007628ea5baa3c3ae9a8a345fcb8cf2b20820bd80cc2c96afb77cb03c4d2779b17b1183c9bc9461b56860d2179f448 SHA512 707146f71b21df4b89244df7b786f481136cfe7b0cabf20aa0d4784aca547ba85c75d13309b77c853b9e034b8271f350b30bc5358010d90b7573e3fdb63c31b6
diff --git a/app-admin/puppet-agent/puppet-agent-6.6.0.ebuild b/app-admin/puppet-agent/puppet-agent-6.6.0.ebuild
deleted file mode 100644
index c648209a4a7e..000000000000
--- a/app-admin/puppet-agent/puppet-agent-6.6.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit eutils systemd unpacker user
-
-DESCRIPTION="general puppet client utils along with hiera and facter"
-HOMEPAGE="https://puppetlabs.com/"
-SRC_BASE="http://apt.puppetlabs.com/pool/stretch/puppet/${PN:0:1}/${PN}/${PN}_${PV}-1stretch"
-SRC_URI="
- amd64? ( ${SRC_BASE}_amd64.deb )
- x86? ( ${SRC_BASE}_i386.deb )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="puppetdb selinux"
-RESTRICT="strip"
-
-CDEPEND="!app-admin/augeas
- !app-admin/puppet
- !dev-ruby/hiera
- !dev-ruby/facter
- !app-emulation/virt-what"
-
-DEPEND="
- ${CDEPEND}"
-RDEPEND="${CDEPEND}
- app-portage/eix
- sys-apps/dmidecode
- sys-libs/glibc
- sys-libs/readline:0/7
- sys-libs/ncurses:0[tinfo]
- selinux? (
- sys-libs/libselinux[ruby]
- sec-policy/selinux-puppet
- )
- puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"
-
-S=${WORKDIR}
-
-pkg_setup() {
- enewgroup puppet
- enewuser puppet -1 -1 /var/run/puppet puppet
-}
-
-src_install() {
- # conf.d
- doconfd etc/default/puppet
- doconfd etc/default/pxp-agent
- # logrotate.d
- insinto /etc/logrotate.d
- doins etc/logrotate.d/pxp-agent
- # puppet itself
- insinto /etc/puppetlabs
- doins -r etc/puppetlabs/*
- # logdir for systemd
- dodir var/log/puppetlabs/puppet/
- fperms 0750 var/log/puppetlabs/puppet/
- # the rest
- insinto /opt
- dodir opt/puppetlabs/puppet/cache
- doins -r opt/*
- fperms 0750 /opt/puppetlabs/puppet/cache
- # init
- newinitd "${FILESDIR}/puppet.initd" puppet
- systemd_dounit lib/systemd/system/puppet.service
- systemd_dounit lib/systemd/system/pxp-agent.service
- systemd_newtmpfilesd "${FILESDIR}/puppet-agent.conf.tmpfilesd" puppet-agent.conf
- # symlinks
- chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
- chmod 0755 "${D}//opt/puppetlabs/puppet/lib/virt-what/virt-what-cpuid-helper"
- dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
- dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
- dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
- dosym ../../opt/puppetlabs/puppet/bin/virt-what /usr/bin/virt-what
- dosym ../../opt/puppetlabs/puppet/bin/augparse /usr/bin/augparse
- dosym ../../opt/puppetlabs/puppet/bin/augtool /usr/bin/augtool
-}
diff --git a/app-admin/puppet-agent/puppet-agent-6.8.0.ebuild b/app-admin/puppet-agent/puppet-agent-6.8.0.ebuild
index a72df734d6b1..c648209a4a7e 100644
--- a/app-admin/puppet-agent/puppet-agent-6.8.0.ebuild
+++ b/app-admin/puppet-agent/puppet-agent-6.8.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="puppetdb selinux"
RESTRICT="strip"
diff --git a/app-admin/puppet/Manifest b/app-admin/puppet/Manifest
index e769be51f4c3..4c2d9c5ae07b 100644
--- a/app-admin/puppet/Manifest
+++ b/app-admin/puppet/Manifest
@@ -1,7 +1,6 @@
DIST puppet-4.10.12.tar.gz 3022218 BLAKE2B 03757857868b1544078ae5e40d6e438631c788f1b01a3e62ba90e477b754601d2c085228e084363ff20ee39728b02ebe8ca83e17f7c79dddae1c3968aef4e320 SHA512 ff7accf70b1d4de7282cf3b41246151c49c4758a41ace56a470e4723749638027011cf170747e66fa5812280e1612e754e12d92dd35fa6c93171f7187bb9cfa2
DIST puppet-5.5.14.tar.gz 3075736 BLAKE2B bfea82d40f9671cdefab0b10c9481e4fbad397dd0a4aa26f5d0fa9ffa94477a5cc59b3724ab9ae3ee2e7e9230881676582c328c804ce9138dc484b9bd92e0ec3 SHA512 861100c02e0b8a5bb232d266bcd5e54b0e32cf26954ea37f276690aa3159ffdb28195ab8691df61ee0098300d226ea1d369dbdff8aae69101c2bbe6068ede8b1
DIST puppet-5.5.16.tar.gz 3084466 BLAKE2B f3e2f12331b4794b90a81a4f80e626fcd3d5252b7cbdacc1d6243faa557540d3a68e5e23b7b5c3e4f4286774e9a9198e59fb15d7d7c41d7193754ed5c80dd624 SHA512 7d9e533e352a22e347ac6467094c4bdbde893c2503f47b4a2d175fd6e759e6662991efdd1a0a83d9495d22f28da4ae7a30cc771c5d90b8252c4618bd8837833a
-DIST puppet-6.6.0.tar.gz 2898687 BLAKE2B 67370b191985f75f783d795d7ef38df53fbf28efa8ab79ae309dba985f4ba296d2862fb366b68a46d03f526c3f27c51b1e1cefcccbaa96f6694dc888a7adcc2c SHA512 e7e7367565d12c208654bd353112542fb84b736f262dc86adb940e02a4e34d473e7bb5f084e0caa5fab01be4ef479ad2baa3e751d4d86ee447cf960f400413e5
DIST puppet-6.7.2.tar.gz 2907345 BLAKE2B bbb0f789ae64b5039e5b1bd2ce985e89ba693d33352baee7a1d11df7f314663aa3606a73d42d6b20042f81ee405a72cd17b9cf8f3c3cb257869e982f84cfd552 SHA512 6ebcaff30bda27fc17870b991287d620d455db8cf9a41c59833efc2a7541d3622228a7278689eb0494d0f6328cd334764f21ffe8700a567696e05398a5c16b7d
DIST puppet-6.8.0.tar.gz 2906582 BLAKE2B 2dd2f9eb203aa951e0ea9639efa20aac3edb063b4bd68dd0b05a07fc2a399c4b59b3b87a1cb573096c5042920080623b9afb9c4d863b6249664edcc291cd1787 SHA512 c8446529e706dab7fd156b5bbca638f1722b07a638f626df2002a4ad218ec5e448f533395a6eed613b31ebbacea56539e903c040998d4110c8a362f2ead7f43b
DIST puppet-6.9.0.tar.gz 2911311 BLAKE2B 1d58d0e976430031732de4f63c3ec100088f1d93894cf52caff252befeabe1ea3cf51939063143bd7c9011bb56f2a6420ba38ae230edea19ac8f1f135ed6f56f SHA512 4d1bc1a398c1e75bf8e832d477a0fff4fa3613510f8d59d73594e6fc2f2bbbedf050b1e7729b71bb1428c230f42fcf7b98f7a7683fc3c52cb36a596e20e6540b
diff --git a/app-admin/puppet/puppet-6.6.0.ebuild b/app-admin/puppet/puppet-6.6.0.ebuild
deleted file mode 100644
index eeefd4e8c63d..000000000000
--- a/app-admin/puppet/puppet-6.6.0.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-USE_RUBY="ruby23 ruby24 ruby25"
-
-RUBY_FAKEGEM_RECIPE_TEST="rspec3"
-
-RUBY_FAKEGEM_TASK_DOC="doc:all"
-
-RUBY_FAKEGEM_EXTRAINSTALL="locales"
-
-inherit eutils user ruby-fakegem eapi7-ver
-
-DESCRIPTION="A system automation and configuration management software."
-HOMEPAGE="https://puppet.com/"
-SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
-
-LICENSE="Apache-2.0 GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
-IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
-RESTRICT="test"
-
-ruby_add_rdepend "
- dev-ruby/hiera
- dev-ruby/json:=
- dev-ruby/semantic_puppet
- >=dev-ruby/facter-3.0.0
- augeas? ( dev-ruby/ruby-augeas )
- diff? ( dev-ruby/diff-lcs )
- doc? ( dev-ruby/rdoc )
- ldap? ( dev-ruby/ruby-ldap )
- shadow? ( dev-ruby/ruby-shadow )
- sqlite? ( dev-ruby/sqlite3 )
- virtual/ruby-ssl
- dev-ruby/hocon"
-
-ruby_add_bdepend "
- doc? ( dev-ruby/yard )
- test? (
- dev-ruby/mocha
- dev-ruby/rack
- dev-ruby/rspec-its
- )"
-# this should go in the above lists, but isn't because of test deps not being keyworded
-# dev-ruby/rspec-collection_matchers
-
-RDEPEND+=" ${RDEPEND}
- rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
- selinux? (
- sys-libs/libselinux[ruby]
- sec-policy/selinux-puppet
- )
- vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
- >=app-portage/eix-0.18.0"
-PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
-
-pkg_setup() {
- enewgroup puppet
- enewuser puppet -1 -1 /var/lib/puppet puppet
-}
-
-all_ruby_prepare() {
- # Avoid spec that require unpackaged json-schema.
- rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
-
- # can't be run within portage.
- epatch "${FILESDIR}/puppet-fix-tests-6.4.1.patch"
-
- # fix systemd path
- epatch "${FILESDIR}/puppet-systemd.patch"
-
- # Avoid specs that can only run in the puppet.git repository. This
- # should be narrowed down to the specific specs.
- rm spec/integration/parser/compiler_spec.rb || die
-
- # Avoid failing spec that need further investigation.
- rm spec/unit/module_tool/metadata_spec.rb || die
-}
-
-each_ruby_install() {
- each_fakegem_install
-# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
-}
-
-all_ruby_install() {
- all_fakegem_install
-
- # systemd stuffs
- insinto /usr/lib/systemd/system
- doins "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
-
- # tmpfiles stuff
- insinto /usr/lib/tmpfiles.d
- newins "${FILESDIR}/tmpfiles.d" "puppet.conf"
-
- # openrc init stuff
- newinitd "${FILESDIR}"/puppet.init-4.x puppet
-
- keepdir /etc/puppetlabs/puppet/ssl
-
- keepdir /var/lib/puppet/facts
- keepdir /var/lib/puppet/files
- fowners -R puppet:puppet /var/lib/puppet
-
- fperms 0750 /var/lib/puppet
-
- fperms 0750 /etc/puppetlabs
- fperms 0750 /etc/puppetlabs/puppet
- fperms 0750 /etc/puppetlabs/puppet/ssl
- fowners -R :puppet /etc/puppetlabs
- fowners -R :puppet /var/lib/puppet
-
- if use ldap ; then
- insinto /etc/openldap/schema; doins ext/ldap/puppet.schema
- fi
-
- # ext and examples files
- for f in $(find ext examples -type f) ; do
- docinto "$(dirname ${f})"; dodoc "${f}"
- done
-}
-
-pkg_postinst() {
- elog
- elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
- elog "cause puppet to hang while installing packages."
- elog
- elog "Portage Puppet module with Gentoo-specific resources:"
- elog "http://forge.puppetlabs.com/gentoo/portage"
- elog
- elog "If updating from puppet 5 to 6, keep in mind that webrick (server/master)"
- elog "suppert was removed for >=6.x, please migrate to puppetserver if you have"
- elog "not already done so."
- elog
-}
diff --git a/app-admin/puppet/puppet-6.8.0.ebuild b/app-admin/puppet/puppet-6.8.0.ebuild
index 0038f1ebf433..eeefd4e8c63d 100644
--- a/app-admin/puppet/puppet-6.8.0.ebuild
+++ b/app-admin/puppet/puppet-6.8.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
IUSE="augeas diff doc emacs ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
diff --git a/app-admin/puppet/puppet-6.9.0.ebuild b/app-admin/puppet/puppet-6.9.0-r1.ebuild
similarity index 99%
rename from app-admin/puppet/puppet-6.9.0.ebuild
rename to app-admin/puppet/puppet-6.9.0-r1.ebuild
index 0038f1ebf433..d633c6865a1a 100644
--- a/app-admin/puppet/puppet-6.9.0.ebuild
+++ b/app-admin/puppet/puppet-6.9.0-r1.ebuild
@@ -28,6 +28,7 @@ ruby_add_rdepend "
dev-ruby/json:=
dev-ruby/semantic_puppet
>=dev-ruby/facter-3.0.0
+ dev-ruby/concurrent-ruby
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
diff --git a/app-admin/puppetdb/Manifest b/app-admin/puppetdb/Manifest
index 89c8abd12c00..11650917a22a 100644
--- a/app-admin/puppetdb/Manifest
+++ b/app-admin/puppetdb/Manifest
@@ -1,4 +1,3 @@
-DIST puppetdb-6.3.4.tar.gz 41716289 BLAKE2B c2f0c074229340234e8ce146d6d711f0311f4a4d6c091ef497a376a5cca02f7bc5a85fc63555f7408f16dc60784266ba126149fb27a9e0bf0592d7ee314e4b4a SHA512 9da3707f0ecf1b7664dbf44dbc6dda79adce6928298aa8e263bb134bfccaf2403245ed0176f8929583f5631ba3927f99d6d06233eca07720d0fd174da33e4990
DIST puppetdb-6.4.0.tar.gz 41720668 BLAKE2B a4637750c553eed8ee5bdd46212a7455fe1d59015aa78fe01f6fa9ee2b4a98ec50a2a8b551f65d4bc6965b2a969f559c53f5a6324a8e48983a1d027948387ce7 SHA512 c49afce1661ed284280e89ed9dbc2406a657e5f2cdbc501acf50900d431b58a341f1541789ea4ffe9109e8d30faf47eb85573a589426c40ad50597a7d81b5552
DIST puppetdb-6.5.0.tar.gz 41768030 BLAKE2B 2a52239dabb5c026f4d00ee2942e3128ce50f1de23aa5ff5d53f2020237b54867b48727e774ecc27f5f18bd1617b43fcf30fbd3b03a730ca60d5bab7296e3f9c SHA512 8aee40101a17e22ef5b9b7b965ffe8d8a9b8dfaa787721b3e6a5e7363b98e0c52dc0583216a058540618a6a980cf80f138fa6b358a9daac518abd50981910cf5
DIST puppetdb-6.6.0.tar.gz 43366185 BLAKE2B 224c13ff2583a7c8124f03845eca4756be6446e7470565c44d3fe1fcb756d5564ae2ded69d0bef1dda939efe082756c0e44afd3c6b0fc4268a744946860b5a02 SHA512 5076f52af51b7a3b43a0deb9cf1f10d77da98a5e531983d3661cda522c8d46f70882457934be6f70e77587b930077c0a4d2eaf7ed41eff9c6bcf4bc5ecbf2205
diff --git a/app-admin/puppetdb/puppetdb-6.3.4.ebuild b/app-admin/puppetdb/puppetdb-6.3.4.ebuild
deleted file mode 100644
index 77d1c1ca9cc4..000000000000
--- a/app-admin/puppetdb/puppetdb-6.3.4.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib systemd user
-
-DESCRIPTION="PuppetDB collects data generated by Puppet."
-HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
-SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-# will need the same keywords as puppet
-KEYWORDS="amd64 x86"
-
-RDEPEND+=">=virtual/jdk-1.8.0"
-DEPEND+=""
-
-pkg_setup() {
- enewgroup puppetdb
- enewuser puppetdb -1 -1 /opt/puppetlabs/server/data/puppetdb "puppetdb"
-}
-
-src_prepare() {
- sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
- sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
- sed -i 's/sysconfig/conf\.d/g' install.sh || die
- sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
- sed -i 's/var\/run/run/g' install.sh || die
- default
-}
-
-src_compile() {
- einfo "not compiling"
-}
-
-src_install() {
- dodir /opt/puppetlabs/server/data/puppetdb
- insinto /opt/puppetlabs/server/apps/puppetdb
- insopts -m0744
- doins ext/ezbake-functions.sh
- insopts -m0644
- doins ext/ezbake.manifest
- doins puppetdb.jar
- insinto /etc/puppetlabs/puppetdb
- doins ext/config/logback.xml
- doins ext/config/bootstrap.cfg
- doins ext/config/request-logging.xml
- insinto /etc/puppetlabs/puppetdb/conf.d
- doins ext/config/conf.d/jetty.ini
- doins ext/config/conf.d/repl.ini
- doins ext/config/conf.d/database.ini
- doins ext/config/conf.d/config.ini
- insopts -m0755
- insinto /opt/puppetlabs/server/apps/puppetdb/scripts
- doins install.sh
- insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
- doins ext/cli/foreground
- doins ext/cli/ssl-setup
- doins ext/cli/config-migration
- doins ext/cli/foreground
- doins ext/cli/anonymize
- doins ext/cli/reload
- doins ext/cli/start
- doins ext/cli/stop
- insinto /opt/puppetlabs/server/apps/puppetdb/bin
- doins ext/bin/puppetdb
- insopts -m0644
- dodir /opt/puppetlabs/server/bin
- dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
- dodir /opt/puppetlabs/bin
- dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
- dosym ../../opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
- # init type tasks
- newconfd ext/default puppetdb
- systemd_dounit ext/redhat/puppetdb.service
- systemd_newtmpfilesd ext/puppetdb.tmpfiles.conf puppetdb.conf
- newinitd "${FILESDIR}/puppetdb.initd-r2" puppetdb
- # misc
- insinto /etc/logrotate.d
- newins ext/puppetdb.logrotate.conf puppetdb
- fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
- fperms -R 770 /opt/puppetlabs/server/data/puppetdb
-}
-
-pkg_postinst() {
- elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
- elog
- elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
-}
diff --git a/app-admin/puppetdb/puppetdb-6.5.0.ebuild b/app-admin/puppetdb/puppetdb-6.5.0.ebuild
index 616793cb4123..77d1c1ca9cc4 100644
--- a/app-admin/puppetdb/puppetdb-6.5.0.ebuild
+++ b/app-admin/puppetdb/puppetdb-6.5.0.ebuild
@@ -13,7 +13,7 @@ LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
# will need the same keywords as puppet
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND+=">=virtual/jdk-1.8.0"
DEPEND+=""
diff --git a/app-admin/puppetserver/Manifest b/app-admin/puppetserver/Manifest
index c278d172f5dd..7ba314dfcf11 100644
--- a/app-admin/puppetserver/Manifest
+++ b/app-admin/puppetserver/Manifest
@@ -1,3 +1,2 @@
-DIST puppetserver-6.4.0.tar.gz 75721867 BLAKE2B 299d73bab6f76464fc7b2e3b5a5b63e4b0d6f11752990d2926db247dc5d6aa475f5de571640ae38f22da75505153ce0f83e7a952bd0d037f4d3d12fd37c8f269 SHA512 cc9ac9a163b1ee7488b1afb95457cea4ae9da205d4cd91dd70c8cc995fad32829b5c4d9de8baa3ca325ac235bcaee2dca78ea9cd50bc9dfe11f2837f64587a11
DIST puppetserver-6.5.0.tar.gz 76080713 BLAKE2B 0562128001a24eae6cec071a366e16ab3ce5b0babbe50330ecddd13ab3dbfd35d6cb23634770e4bd7904cd231752ce923d4af8dc42d783cc137f300efcb05fb2 SHA512 d871f3817c370ddd08e8d791deb1a30aa50ab0d801192ebfb5ef225d8dce21885175fe4e9911287437b687b2bcbf5a098d8b9511b24bd05fdf4854575a686cfe
DIST puppetserver-6.6.0.tar.gz 59095750 BLAKE2B adbc08a68a1382106c43d27604c2cef52bd1d9875c5f555320d97d31dcf9d248c88baa2d6dfd37a855010fda76ad4d273a7bd5eca77bb216aabf6a120e41cee0 SHA512 2b43092752e246027a437398d6d23a4085caa2956a1453cec2e62f1001fca1c98bddca0a9d90c178ce9c89a06c26edcaee49416c1b8a4941e2bc4b6b5bb1fe0e
diff --git a/app-admin/puppetserver/files/puppetserver.init-r1 b/app-admin/puppetserver/files/puppetserver.init-r1
new file mode 100644
index 000000000000..2b7665d901a1
--- /dev/null
+++ b/app-admin/puppetserver/files/puppetserver.init-r1
@@ -0,0 +1,72 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="checkconfig reload"
+
+LOGDIR="/var/log/puppetlabs/puppetserver"
+RUNDIR="/run/puppetlabs/puppetserver"
+
+checkconfig() {
+ if [ ! -x $JAVA_BIN ]; then
+ eerror "Missing JAVA_BIN."
+ eend 1
+ fi
+ if [ ! -d $INSTALL_DIR ]; then
+ eerror "Missing INSTALL_DIR."
+ eend 1
+ fi
+ if [ ! -e $BOOTSTRAP_CONFIG ]; then
+ eerror "Missing BOOTSTRAP_CONFIG."
+ eend 1
+ fi
+ if [ ! -e $CONFIG ]; then
+ eerror "Missing CONFIG."
+ eend 1
+ fi
+ if [ ! -n $USER ]; then
+ eerror "Missing USER."
+ eend 1
+ fi
+ if [ ! -n $GROUP ]; then
+ eerror "Missing GROUP."
+ eend 1
+ fi
+
+ checkpath -d -m 0755 "${LOGDIR%/*}"
+ checkpath -d -m 0755 "${RUNDIR%/*}"
+ checkpath -d -m 0700 -o "${USER}:${GROUP}" "${LOGDIR}"
+ checkpath -d -m 0755 -o "${USER}:${GROUP}" "${RUNDIR}"
+
+ PUPPETSERVER_ARGS="-Djava.security.egd=/dev/urandom -XX:OnOutOfMemoryError=\"kill -9 %p\" -cp ${INSTALL_DIR}/puppet-server-release.jar:${INSTALL_DIR}/jruby-1_7.jar:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.jar clojure.main -m puppetlabs.trapperkeeper.main"
+ PUPPETSERVER_OPTS="--config /etc/puppetlabs/puppetserver/conf.d --bootstrap-config ${BOOTSTRAP_CONFIG} --restart-file /opt/puppetlabs/server/data/puppetserver/restartcounter"
+ EXEC="${JAVA_BIN} ${JAVA_ARGS} ${PUPPETSERVER_ARGS} ${PUPPETSERVER_OPTS}"
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Puppet Server"
+ start-stop-daemon --start -u "${USER}" -g "${GROUP}" \
+ -m --pidfile "${RUNDIR}/puppetserver.pid" \
+ -b --exec "/bin/bash" \
+ -- -c "exec ${EXEC} >> ${LOGDIR}/daemon.log 2>&1"
+ local retval=$?
+ if [ $retval -ne 0 ]; then
+ ewarn "Error starting puppetserver."
+ fi
+ eend $retval
+}
+
+stop() {
+ ebegin "Stopping Puppet Server"
+ start-stop-daemon --stop --pidfile "${RUNDIR}/puppetserver.pid"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading Puppet Server"
+ start-stop-daemon --signal HUP --pidfile "${RUNDIR}/puppetserver.pid"
+ eend $?
+}
+
diff --git a/app-admin/puppetserver/puppetserver-6.4.0.ebuild b/app-admin/puppetserver/puppetserver-6.4.0.ebuild
deleted file mode 100644
index 9200fa82fd3f..000000000000
--- a/app-admin/puppetserver/puppetserver-6.4.0.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib systemd user
-
-DESCRIPTION="Puppet Server is the next-generation application for managing Puppet agents."
-HOMEPAGE="http://docs.puppetlabs.com/puppetserver/"
-SRC_URI="https://downloads.puppetlabs.com/puppet/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="puppetdb"
-# will need the same keywords as puppet
-KEYWORDS="amd64 x86"
-
-RDEPEND+="
- >=virtual/jdk-1.8.0
- app-admin/puppet-agent[puppetdb?]"
-DEPEND+=""
-
-pkg_setup() {
- enewgroup puppet
- enewuser puppet -1 -1 /opt/puppetlabs/server/data/puppetserver "puppet"
-}
-
-src_prepare() {
- sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/redhat/puppetserver.service || die
- sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' ext/bin/puppetserver || die
- sed -i 's/sysconfig\/puppetserver/default\/puppetserver/g' install.sh || die
- sed -i 's/var\/run/run/g' ext/config/conf.d/puppetserver.conf || die
- sed -i 's/var\/run/run/g' ext/redhat/puppetserver.service || die
- sed -i 's/var\/run/run/g' install.sh || die
- default
-}
-
-src_compile() {
- einfo "not compiling"
-}
-
-src_install() {
- insinto /opt/puppetlabs/server/apps/puppetserver
- insopts -m0774
- doins ext/ezbake-functions.sh
- insopts -m0644
- doins ext/ezbake.manifest
- doins puppet-server-release.jar
- insinto /etc/puppetlabs/puppetserver
- doins ext/config/logback.xml
- doins ext/config/request-logging.xml
- insinto /etc/puppetlabs/puppetserver/services.d
- doins ext/system-config/services.d/bootstrap.cfg
- doins ext/config/services.d/ca.cfg
- insinto /etc/puppetlabs/puppetserver/conf.d
- doins ext/config/conf.d/puppetserver.conf
- doins ext/config/conf.d/auth.conf
- doins ext/config/conf.d/global.conf
- doins ext/config/conf.d/web-routes.conf
- doins ext/config/conf.d/metrics.conf
- doins ext/config/conf.d/webserver.conf
- insopts -m0755
- insinto /opt/puppetlabs/server/apps/puppetserver/scripts
- doins install.sh
- insinto /opt/puppetlabs/server/apps/puppetserver/cli/apps
- doins ext/cli/ca
- doins ext/cli/irb
- doins ext/cli/foreground
- doins ext/cli/gem
- doins ext/cli/ruby
- doins ext/cli/reload
- doins ext/cli/start
- doins ext/cli/stop
- insinto /opt/puppetlabs/server/apps/puppetserver/cli
- doins ext/cli_defaults/cli-defaults.sh
- insinto /opt/puppetlabs/server/apps/puppetserver/bin
- doins ext/bin/puppetserver
- insopts -m0644
- dodir /opt/puppetlabs/server/bin
- dosym ../apps/puppetserver/bin/puppetserver /opt/puppetlabs/server/bin/puppetserver
- dodir /opt/puppetlabs/bin
- dosym ../server/apps/puppetserver/bin/puppetserver /opt/puppetlabs/bin/puppetserver
- dosym ../../opt/puppetlabs/server/apps/puppetserver/bin/puppetserver /usr/bin/puppetserver
- dodir /opt/puppetlabs/server/apps/puppetserver/config/services.d
- # other sys stuff
- dodir /etc/puppetlabs/code
- # needed for systemd
- dodir /var/log/puppetlabs/puppetserver
- dodir /etc/puppetlabs/puppet/ssl
- fowners -R puppet:puppet /etc/puppetlabs/puppet/ssl
- fperms -R 771 /etc/puppetlabs/puppet/ssl
- # systemd type things
- insinto /etc/systemd/system/puppetserver.service.d/
- systemd_dounit ext/redhat/puppetserver.service
- insinto /etc/default
- newins ext/default puppetserver
- # normal init type tasks
- dosym ../default/puppetserver /etc/conf.d/puppetserver
- newinitd "${FILESDIR}/puppetserver.init" puppetserver
- # misc
- insinto /etc/logrotate.d
- newins ext/puppetserver.logrotate.conf puppetserver
- # cleanup
- dodir /opt/puppetlabs/server/data/puppetserver/jruby-gems
- fowners -R puppet:puppet /opt/puppetlabs/server/data
- fperms -R 775 /opt/puppetlabs/server/data/puppetserver
- fperms -R 700 /var/log/puppetlabs/puppetserver
- insinto /opt/puppetlabs/server/data
- doins ext/build-scripts/jruby-gem-list.txt
- doins ext/build-scripts/mri-gem-list-no-dependencies.txt
- insopts -m 0644
- insinto /usr/lib/tmpfiles.d
- newins ext/puppetserver.tmpfiles.conf puppetserver.conf
-}
-
-pkg_postinst() {
- elog "to install you may want to run the following:"
- elog
- elog "puppet config set --section master vardir /opt/puppetlabs/server/data/puppetserver"
- elog "puppet config set --section master logdir /var/log/puppetlabs/puppetserver"
- elog "puppet config set --section master rundir /run/puppetlabs/puppetserver"
- elog "puppet config set --section master pidfile /run/puppetlabs/puppetserver/puppetserver.pid"
- elog "puppet config set --section master codedir /etc/puppetlabs/code"
- elog
- elog "# install puppetserver gems"
- elog "cd /opt/puppetlabs/server/apps/puppetserver"
- elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems }\" > jruby.conf"
- elog "while read LINE do"
- elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
- elog "done < /opt/puppetlabs/server/data/jruby-gem-list.txt"
- elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/puppet/lib/ruby/vendor_gems }\" > jruby.conf"
- elog "while read LINE do"
- elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
- elog "done < /opt/puppetlabs/server/data/mri-gem-list.txt"
-}
diff --git a/app-admin/puppetserver/puppetserver-6.6.0.ebuild b/app-admin/puppetserver/puppetserver-6.6.0-r1.ebuild
similarity index 96%
rename from app-admin/puppetserver/puppetserver-6.6.0.ebuild
rename to app-admin/puppetserver/puppetserver-6.6.0-r1.ebuild
index e064d2554eb5..45ac7ad8e73d 100644
--- a/app-admin/puppetserver/puppetserver-6.6.0.ebuild
+++ b/app-admin/puppetserver/puppetserver-6.6.0-r1.ebuild
@@ -96,7 +96,7 @@ src_install() {
newins ext/default puppetserver
# normal init type tasks
dosym ../default/puppetserver /etc/conf.d/puppetserver
- newinitd "${FILESDIR}/puppetserver.init" puppetserver
+ newinitd "${FILESDIR}/puppetserver.init-r1" puppetserver
# misc
insinto /etc/logrotate.d
newins ext/puppetserver.logrotate.conf puppetserver
@@ -125,11 +125,11 @@ pkg_postinst() {
elog "# install puppetserver gems"
elog "cd /opt/puppetlabs/server/apps/puppetserver"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems }\" > jruby.conf"
- elog "while read LINE do"
+ elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
elog "done < /opt/puppetlabs/server/data/jruby-gem-list.txt"
elog "echo \"jruby-puppet: { gem-home: ${DESTDIR}/opt/puppetlabs/puppet/lib/ruby/vendor_gems }\" > jruby.conf"
- elog "while read LINE do"
+ elog "while read LINE; do"
elog " java -cp puppet-server-release.jar:jruby-9k.jar clojure.main -m puppetlabs.puppetserver.cli.gem --config jruby.conf -- install --no-ri --no-rdoc \$(echo \$LINE |awk '{print \$1}') --version \$(echo \$LINE |awk '{print \$2}')"
- elog "done < /opt/puppetlabs/server/data/mri-gem-list.txt"
+ elog "done < /opt/puppetlabs/server/data/mri-gem-list-no-dependencies.txt"
}
diff --git a/app-admin/webmin/Manifest b/app-admin/webmin/Manifest
deleted file mode 100644
index 1869d7a965bb..000000000000
--- a/app-admin/webmin/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST webmin-1.881-minimal.tar.gz 2827351 BLAKE2B b8ea9964147c09c91413fbdad3b6a0e5161497296bb33b614161e370ac1292ac9cdf752483835fb279aa70ba41eb09f2774d08caa58861049e467346ad0b64ff SHA512 5b855c5562a6eb6a8fd836e3bd1dcc30696b7f63776d0f8b5ee69f5e219c749210436315fe5fd8f811f4f19e02fe4d7d3cff451a831b085101081b97b8ce794d
-DIST webmin-1.881.tar.gz 28903876 BLAKE2B beaab3282ccbbe7716fe35e62ee93e64b636f420fa9235398954904b5e14888cdc4b0acd5126184dcdab59274d3e5b71a7997df3e73e18c55849b7197f024971 SHA512 eab1acb53aca5e947bb9fac1c08a32e9eeca2903bc19595fbc8e19895bda8f4c3432550c2a87cf8c2b577b223b97566b046b7c339bd8754266544f5777560cc7
diff --git a/app-admin/webmin/files/gentoo-setup b/app-admin/webmin/files/gentoo-setup
deleted file mode 100644
index 680dfbb5303b..000000000000
--- a/app-admin/webmin/files/gentoo-setup
+++ /dev/null
@@ -1,438 +0,0 @@
-#!/bin/sh
-# gentoo-setup.sh
-#
-# Version 1.2
-#
-# A modified original Webmin setup.sh script to comply with Gentoo specifics
-#
-# Modification done by: PhobosK
-#
-# This script runs after the webmin archive is installed, and in the pkg_config() phase.
-# It does setup the various config files of Webmin depending on if it is
-# a new install, an upgrade or a reset.
-
-LANG=
-export LANG
-
-if [ -z ${wadir} ]; then
- echo "You can't run this script outside of the 'emerge --config app-admin/webmin' command."
- exit 1
-fi
-
-# All things we do is from the Webmin install dir - $wadir
-cd $wadir
-
-
-# Are we hard resetting everything?
-# If yes, we do:
-# 1. Run the specific Webmin $wadir/run-uninstalls.pl
-# It runs all uninstall.pl files in every module's folder.
-# They delete all the set specific Webmin cron jobs.
-# If bumping you should go through these files using the command:
-# find . -name uninstall.pl -exec cat {} \; -print
-# 2. Delete the whole /etc/webmin content, keeping only the gentoo .keep_* files
-if [ "$reset" = "hard" ]; then
- echo "Running Webmin's specific uninstall procedures.. (Please ignore any possible errors)"
- (WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir LANG= "$wadir/run-uninstalls.pl")
- echo "..done"
- echo ""
-
- echo "Deleting the content of user's config folder: $config_dir .."
- find $config_dir ! -name '.keep_*' -delete 2>/dev/null
- echo "..done"
- echo ""
-fi
-
-
-# Are we soft resetting?
-# If yes we do:
-# - Delete the $config_dir/config file so we get new config values
-if [ "$reset" = "soft" ]; then
- echo "Deleting the user's $config_dir/config file.."
- if [ -f "$config_dir/config" ]; then
- rm -f "$config_dir/config"
- fi
- echo "..done"
- echo ""
-fi
-
-
-# Get all available modules of this version
-allmods=`echo */module.info | sed -e 's/\/module.info//g'`
-
-# Get current Webmin version
-ver=`cat "$wadir/version"`
-
-if [ -r "$config_dir/config" ]; then
- upgrading=1
-fi
-
-
-# Check if upgrading from an old version
-if [ "$upgrading" = 1 ]; then
- echo "Updating existant Webmin's config files.."
-
- # Get current var path
- if [ -r "$config_dir/var-path" ]; then
- _var_dir=`cat $config_dir/var-path`
- if [ -n ${_var_dir} ]; then
- var_dir=${_var_dir}
- fi
- fi
-
- # Get current perl path
- if [ -r "$config_dir/perl-path" ]; then
- _perl=`cat $config_dir/perl-path`
- if [ -n ${_perl} ]; then
- perl=${_perl}
- fi
- fi
-
- # Get old os name and version
- os_type=`grep "^os_type=" $config_dir/config | sed -e 's/os_type=//g'`
- os_version=`grep "^os_version=" $config_dir/config | sed -e 's/os_version=//g'`
- real_os_type=`grep "^real_os_type=" $config_dir/config | sed -e 's/real_os_type=//g'`
- real_os_version=`grep "^real_os_version=" $config_dir/config | sed -e 's/real_os_version=//g'`
-
- # Get port, ssl, no_ssl2, no_ssl3, ssl_redirect, no_sslcompression, ssl_honorcipherorder, no_tls1, no_tls1_1 and keyfile
- port=`grep "^port=" $config_dir/miniserv.conf | sed -e 's/port=//g'`
- ssl=`grep "^ssl=" $config_dir/miniserv.conf | sed -e 's/ssl=//g'`
- no_ssl2=`grep "^no_ssl2=" $config_dir/miniserv.conf | sed -e 's/no_ssl2=//g'`
- no_ssl3=`grep "^no_ssl3=" $config_dir/miniserv.conf | sed -e 's/no_ssl3=//g'`
- ssl_redirect=`grep "^ssl_redirect=" $config_dir/miniserv.conf | sed -e 's/ssl_redirect=//g'`
- ssl_honorcipherorder=`grep "^ssl_honorcipherorder=" $config_dir/miniserv.conf | sed -e 's/ssl_honorcipherorder=//g'`
- no_sslcompression=`grep "^no_sslcompression=" $config_dir/miniserv.conf | sed -e 's/no_sslcompression=//g'`
- no_tls1=`grep "^no_tls1=" $config_dir/miniserv.conf | sed -e 's/no_tls1=//g'`
- no_tls1_1=`grep "^no_tls1_1=" $config_dir/miniserv.conf | sed -e 's/no_tls1_1=//g'`
- keyfile=`grep "^keyfile=" $config_dir/miniserv.conf | sed -e 's/keyfile=//g'`
-
- # Update ACLs
- $perl "$wadir/newmods.pl" $config_dir $allmods
-
- # Update miniserv.conf with new root directory, mime types file and server info
- grep -v "^root=" $config_dir/miniserv.conf | grep -v "^mimetypes=" | grep -v "^server=" >$tempdir/$$.miniserv.conf
- mv $tempdir/$$.miniserv.conf $config_dir/miniserv.conf
- echo "root=$wadir" >> $config_dir/miniserv.conf
- echo "mimetypes=$wadir/mime.types" >> $config_dir/miniserv.conf
- echo "server=MiniServ/$ver" >> $config_dir/miniserv.conf
- grep logout= $config_dir/miniserv.conf >/dev/null
- if [ $? != "0" ]; then
- echo "logout=$config_dir/logout-flag" >> $config_dir/miniserv.conf
- fi
-
- # Remove old cache of module infos
- rm -f $config_dir/module.infos.cache
- echo "..done"
- echo ""
-else
- # Create webserver's new config files
- echo "Creating Webmin's new config files.."
-
- echo $perl > $config_dir/perl-path
- echo $var_dir > $config_dir/var-path
-
- # Create a totally new conf file
- cfile=$config_dir/miniserv.conf
- echo "port=$port" > $cfile
- echo "root=$wadir" >> $cfile
- echo "mimetypes=$wadir/mime.types" >> $cfile
- echo "addtype_cgi=internal/cgi" >> $cfile
- echo "realm=Webmin Server" >> $cfile
- echo "logfile=$var_dir/miniserv.log" >> $cfile
- echo "errorlog=$var_dir/miniserv.error" >> $cfile
- echo "pidfile=$pidfile" >> $cfile
- echo "logtime=168" >> $cfile
- echo "ppath=$ppath" >> $cfile
- echo "ssl=$ssl" >> $cfile
- echo "no_ssl2=$no_ssl2" >> $cfile
- echo "no_ssl3=$no_ssl3" >> $cfile
- echo "ssl_redirect=$ssl_redirect" >> $cfile
- echo "ssl_honorcipherorder=$ssl_honorcipherorder" >> $cfile
- echo "no_sslcompression=$no_sslcompression" >> $cfile
- echo "no_tls1=$no_tls1" >> $cfile
- echo "no_tls1_1=$no_tls1_1" >> $cfile
- echo "keyfile=$keyfile" >> $cfile
- echo "env_WEBMIN_CONFIG=$config_dir" >> $cfile
- echo "env_WEBMIN_VAR=$var_dir" >> $cfile
- echo "atboot=$atboot" >> $cfile
- echo "logout=$config_dir/logout-flag" >> $cfile
- echo "listen=10000" >> $cfile
- echo "denyfile=\\.pl\$" >> $cfile
- echo "log=1" >> $cfile
- echo "blockhost_failures=5" >> $cfile
- echo "blockhost_time=60" >> $cfile
- echo "syslog=1" >> $cfile
- echo "session=1" >> $cfile
- echo "premodules=WebminCore" >> $cfile
- echo "server=MiniServ/$ver" >> $cfile
-
- # Append package-specific info to config file.
- # miniserv-conf can be created by upstream or by us in src_install phase (see there).
- if [ -f "$wadir/miniserv-conf" ]; then
- cat "$wadir/miniserv-conf" >>$cfile
- fi
-
- # Create the default user allowed to login - root only
- login="root"
-
- if [ -r /etc/shadow ]; then
- #crypt=`grep "^root:" /etc/shadow | cut -f 2 -d :`
- crypt=x
- else
- crypt=`grep "^root:" /etc/passwd | cut -f 2 -d :`
- fi
-
- ufile=$config_dir/miniserv.users
- echo "$login:$crypt:0" > $ufile
- chmod 600 $ufile
-
-
- echo "userfile=$ufile" >> $cfile
- chmod 600 $cfile
- echo "..done"
- echo ""
-
- echo "Creating access control file.."
- afile=$config_dir/webmin.acl
- echo "$login: $allmods" > $afile
- chmod 600 $afile
- echo "..done"
- echo ""
-fi
-
-
-# Create start, stop, restart and reload Gentoo compliant Webmin scripts
-# We use sys-apps/openrc functions which is already pulled by sys-apps/baselayout
-# or systemctl if we run under systemd
-echo "Creating start and stop scripts.."
-rm -f $config_dir/{start,stop,restart,reload}
-
-# The start script in /etc/webmin (Gentoo compliant)
-cat <>"$config_dir/start"
-#!/bin/sh
-
-if [ ! -f "${pidfile}" ]; then
- if [[ -d /run/systemd/system ]] ; then
- systemctl start webmin.service
- else
- rc-service --ifexists -- webmin start
- fi
-fi
-END
-
-# The stop script in /etc/webmin (Gentoo compliant)
-cat <>"$config_dir/stop"
-#!/bin/sh
-
-if [[ -d /run/systemd/system ]] ; then
- systemctl stop webmin.service
-else
- rc-service --ifexists -- webmin --ifstarted stop
-fi
-END
-
-# The restart script in /etc/webmin (Gentoo compliant)
-cat <>"$config_dir/restart"
-#!/bin/sh
-
-if [[ -d /run/systemd/system ]] ; then
- systemctl try-restart webmin.service
-else
- rc-service --ifexists -- webmin --ifstarted restart
-fi
-END
-
-# The reload script in /etc/webmin (Gentoo compliant)
-cat <>"$config_dir/reload"
-#!/bin/sh
-
-if [[ -d /run/systemd/system ]] ; then
- systemctl reload-or-try-restart webmin.service
-else
- rc-service --ifexists -- webmin --ifstarted reload
-fi
-END
-
-chmod 755 $config_dir/{start,stop,restart,reload}
-echo "..done"
-echo ""
-
-
-if [ "$upgrading" = 1 ]; then
- echo "Updating other config files.."
-else
- echo "Copying other config files.."
-fi
-
-# This just copies and merges the Webmin's release config files, with user's in the /etc/webmin folder
-newmods=`$perl "$wadir/copyconfig.pl" "$os_type/$real_os_type" "$os_version/$real_os_version" "$wadir" $config_dir "" $allmods`
-if [ "$upgrading" != 1 ]; then
- # Store the OS and version
- echo "os_type=$os_type" >> $config_dir/config
- echo "os_version=$os_version" >> $config_dir/config
- echo "real_os_type=$real_os_type" >> $config_dir/config
- echo "real_os_version=$real_os_version" >> $config_dir/config
-
- # Turn on logging by default
- echo "log=1" >> $config_dir/config
-
- # Disallow unknown referers by default
- echo "referers_none=1" >>$config_dir/config
-else
- # one-off hack to set log variable in config from miniserv.conf
- grep log= $config_dir/config >/dev/null
- if [ "$?" = "1" ]; then
- grep log= $config_dir/miniserv.conf >> $config_dir/config
- grep logtime= $config_dir/miniserv.conf >> $config_dir/config
- grep logclear= $config_dir/miniserv.conf >> $config_dir/config
- fi
-
- # Disallow unknown referers if not set
- grep referers_none= $config_dir/config >/dev/null
- if [ "$?" != "0" ]; then
- echo "referers_none=1" >>$config_dir/config
- fi
-fi
-echo $ver > $config_dir/version
-echo "..done"
-echo ""
-
-# Set passwd_ fields in miniserv.conf from global config
-for field in passwd_file passwd_uindex passwd_pindex passwd_cindex passwd_mindex; do
- grep $field= $config_dir/miniserv.conf >/dev/null
- if [ "$?" != "0" ]; then
- grep $field= $config_dir/config >> $config_dir/miniserv.conf
- fi
-done
-grep passwd_mode= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo passwd_mode=0 >> $config_dir/miniserv.conf
-fi
-
-grep ssl_honorcipherorder= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo ssl_honorcipherorder=1 >> $config_dir/miniserv.conf
-fi
-
-# Disable SSL compression to defeat BEAST attack
-grep no_sslcompression= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo no_sslcompression=1 >> $config_dir/miniserv.conf
-fi
-
-# Tighten SSL security
-grep no_ssl2= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo no_ssl2=1 >> $config_dir/miniserv.conf
-fi
-
-grep no_ssl3= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo no_ssl3=1 >> $config_dir/miniserv.conf
-fi
-
-grep no_tls1= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo no_tls1=1 >> $config_dir/miniserv.conf
-fi
-
-grep no_tls1_1= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo no_tls1_1=1 >> $config_dir/miniserv.conf
-fi
-
-# Make Perl crypt MD5 the default
-grep md5pass= $config_dir/config >/dev/null
-if [ "$?" != "0" ]; then
- echo md5pass=1 >> $config_dir/config
-fi
-
-# Set a special theme if none was set before
-if [ "$theme" = "" ]; then
- theme=`cat "$wadir/defaulttheme" 2>/dev/null`
-fi
-oldthemeline=`grep "^theme=" $config_dir/config`
-oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'`
-if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then
- themelist=$theme
-fi
-
-# Set a special overlay if none was set before
-if [ "$overlay" = "" ]; then
- overlay=`cat "$wadir/defaultoverlay" 2>/dev/null`
-fi
-if [ "$overlay" != "" ] && [ "$theme" != "" ] && [ -d "$wadir/$overlay" ]; then
- themelist="$themelist $overlay"
-fi
-
-# Apply the theme and maybe overlay
-if [ "$themelist" != "" ]; then
- echo "theme=$themelist" >> $config_dir/config
- echo "preroot=$themelist" >> $config_dir/miniserv.conf
-fi
-
-# If the old blue-theme is still in use, change it (new in 1.730)
-oldtheme=`grep "^theme=" $config_dir/config | sed -e 's/theme=//g'`
-if [ "$oldtheme" = "blue-theme" ]; then
- sed -i -e 's/theme=blue-theme/theme=gray-theme/g' $config_dir/config
- sed -i -e 's/preroot=blue-theme/preroot=gray-theme/g' $config_dir/miniserv.conf
-fi
-
-# Set the product field in the global config
-grep product= $config_dir/config >/dev/null
-if [ "$?" != "0" ]; then
- echo product=webmin >> $config_dir/config
-fi
-
-# If password delays are not specifically disabled, enable them
-grep passdelay= $config_dir/miniserv.conf >/dev/null
-if [ "$?" != "0" ]; then
- echo passdelay=1 >> $config_dir/miniserv.conf
-fi
-
-
-echo "Changing ownership and permissions.."
-# Make all config dirs non-world-readable
-for m in $newmods; do
- chown -R root:root $config_dir/$m
- chmod -R og-rw $config_dir/$m
-done
-
-# Make miniserv config files non-world-readable
-for f in miniserv.conf miniserv.users; do
- chown -R root:root $config_dir/$f
- chmod -R og-rw $config_dir/$f
-done
-chmod +r $config_dir/version
-
-# Fix up bad permissions from some older installs
-for m in ldap-client ldap-server ldap-useradmin mailboxes mysql postgresql servers virtual-server; do
- if [ -d "$config_dir/$m" ]; then
- chown root:root $config_dir/$m
- chmod og-rw $config_dir/$m
- chmod og-rw $config_dir/$m/config 2>/dev/null
- fi
-done
-echo "..done"
-echo ""
-
-
-# This executes all postinstall.pl for every module
-# If you do bump, you should look at the specific changes they do with this command in root folder:
-# find . -name postinstall.pl -exec cat {} \; -print
-# Generally they are safe to run 'cause they change only user's config in /etc/webmin
-# or setup some cron jobs
-if [ "$nopostinstall" = "" ]; then
- echo "Running postinstall scripts.. (Please ignore any possible errors)"
- (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-postinstalls.pl")
- echo "..done"
- echo ""
-fi
-
-# Enable background collection
-if [ "$upgrading" != 1 -a -r $config_dir/system-status/enable-collection.pl ]; then
- echo "Enabling background status collection.. (Please ignore any possible errors)"
- $config_dir/system-status/enable-collection.pl 5
- echo "..done"
- echo ""
-fi
diff --git a/app-admin/webmin/files/init.d.webmin b/app-admin/webmin/files/init.d.webmin
deleted file mode 100644
index 0c9dcc08831a..000000000000
--- a/app-admin/webmin/files/init.d.webmin
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-
-# We do not give a choice to user for configuring these 'cause it will mess up
-# Webmin's configuration
-WEBMIN_EXE="%exe%"
-WEBMIN_PID="%pid%"
-WEBMIN_CONF="%conf%"
-WEBMIN_CONFIG="%config%"
-
-extra_started_commands="reload"
-
-depend() {
- use net logger
-}
-
-checkconfig() {
- # Check if Webmin setup has been done
- if [ ! -f ${WEBMIN_CONFIG} ]; then
- eerror "Error in Webmin's configuration. The ${WEBMIN_CONFIG} is not present."
- eerror "Please run 'emerge --config app-admin/webmin' to fix this."
- return 1
- fi
-
- # Check if ssl cert is present
- local key ssl
- key=`grep "^keyfile=" ${WEBMIN_CONF} | sed -e 's/keyfile=//g'`
- ssl=`grep "^ssl=" ${WEBMIN_CONF} | sed -e 's/ssl=//g'`
-
- if [ ! -f "${key}" ] ; then
- if [ "${ssl}" = "0" ]; then
- ewarn "Your SSL certificate is not present."
- ewarn "Please either fix the path in the 'keyfile=' option of your ${WEBMIN_CONF}"
- ewarn "OR run 'emerge --config app-admin/webmin'"
- else
- eerror "Error in Webmin's configuration. No SSL certificate is present."
- eerror "Please either fix the path in the 'keyfile=' option of your ${WEBMIN_CONF}"
- eerror "OR change the 'ssl=' option of your ${WEBMIN_CONF} to 'ssl=0'"
- eerror "OR run 'emerge --config app-admin/webmin'"
- return 1
- fi
- fi
-
- return 0
-}
-
-reload() {
- if [ ! -f "${WEBMIN_PID}" ]; then
- eerror "Webmin is not running"
- return 1
- fi
-
- checkconfig || return 1
-
- ebegin "Reloading Webmin's configuration files"
- start-stop-daemon --signal USR1 --pidfile "$WEBMIN_PID"
- eend $?
-}
-
-start() {
- checkconfig || return 1
- ebegin "Starting Webmin"
-
- start-stop-daemon --start --background --interpreted \
- --env LANG= \
- --env PERLLIB="%perllib%" \
- --exec "$WEBMIN_EXE" \
- --pidfile "$WEBMIN_PID" \
- -- "$WEBMIN_CONF"
- eend $?
- # Leave time to spawn, so no stop is received while spawning
- sleep 3
-}
-
-stop() {
- ebegin "Stopping Webmin"
- start-stop-daemon --stop --interpreted --quiet \
- --exec "$WEBMIN_EXE" \
- --pidfile "$WEBMIN_PID"
- eend $?
- # Leave time to stop because of the scripts that use this
- sleep 3
-}
diff --git a/app-admin/webmin/files/webmin.service b/app-admin/webmin/files/webmin.service
deleted file mode 100644
index 5bec85b97c8c..000000000000
--- a/app-admin/webmin/files/webmin.service
+++ /dev/null
@@ -1,18 +0,0 @@
-[Unit]
-Description=Webmin Administration Tool
-After=network.target remote-fs.target nss-lookup.target
-ConditionFileNotEmpty=%config%
-ConditionFileNotEmpty=%conf%
-
-[Service]
-RemainAfterExit=yes
-KillMode=mixed
-# Webmin is exiting with 1 on SIGTERM
-SuccessExitStatus=1
-ExecStart=%exe% %conf%
-PIDFile=%pid%
-Environment="PERLLIB=%perllib%" LANG=
-ExecReload=/bin/kill -USR1 $MAINPID
-
-[Install]
-WantedBy=multi-user.target
diff --git a/app-admin/webmin/webmin-1.881.ebuild b/app-admin/webmin/webmin-1.881.ebuild
deleted file mode 100644
index 28d8074d3a83..000000000000
--- a/app-admin/webmin/webmin-1.881.ebuild
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit pam ssl-cert systemd
-
-DESCRIPTION="A web-based Unix systems administration interface"
-HOMEPAGE="http://www.webmin.com/"
-SRC_URI="minimal? ( mirror://sourceforge/webadmin/${P}-minimal.tar.gz )
- !minimal? ( mirror://sourceforge/webadmin/${P}.tar.gz )"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-
-KEYWORDS="~amd64 ~x86"
-
-# NOTE: The ssl flag auto added by ssl-cert eclass is not used actually
-# because openssl is forced by dev-perl/Net-SSLeay
-IUSE="minimal +ssl mysql postgres ldap"
-REQUIRED_USE="minimal? ( !mysql !postgres !ldap )"
-
-# All the required perl modules can be found easily using (in Webmin's root src dir):
-# find . -name cpan_modules.pl -exec grep "::" {} \;
-# NOTE: If Webmin doesn't find the required perl modules, it offers(runtime) the user
-# to install them using the in-built cpan module, and this will mess up perl on the system
-# That's why some modules are forced without a use flag
-# NOTE: pam, ssl and dnssec-tools deps are forced for security and Gentoo compliance installation reasons
-DEPEND="virtual/perl-MIME-Base64
- virtual/perl-Socket
- virtual/perl-Sys-Syslog
- virtual/perl-Time-HiRes
- virtual/perl-Time-Local
- dev-perl/Authen-Libwrap
- dev-perl/IO-Tty
- dev-perl/MD5
- dev-perl/Net-SSLeay
- dev-perl/Authen-PAM
- dev-perl/Sys-Hostname-Long
- >=net-dns/dnssec-tools-1.13
- !minimal? (
- mysql? ( dev-perl/DBD-mysql )
- postgres? ( dev-perl/DBD-Pg )
- ldap? ( dev-perl/perl-ldap )
- dev-perl/XML-Generator
- dev-perl/XML-Parser
- )
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
-
- local perl="$( which perl )"
-
- # Remove the unnecessary and incompatible files
- rm -rf acl/Authen-SolarisRBAC-0.1*
- if ! use minimal ; then
- rm -rf {format,{bsd,hpux,sgi}exports,zones,rbac}
- rm -f mount/{free,net,open}bsd-mounts*
- rm -f mount/macos-mounts*
- fi
-
- # For security reasons remove the SSL certificate that comes with Webmin
- # We will create our own later
- rm -f miniserv.pem
-
- # Remove the Webmin setup scripts to avoid Webmin in runtime to mess up config
- # We will use our own later
- rm -f setup.{sh,pl}
-
- # Set the installation type/mode to Gentoo
- echo "gentoo" > install-type
-
- # Fix the permissions of the install files
- chmod -R og-w "${S}"
-
- # Since we should not modify any files after install
- # we set the perl path in all cgi and pl files here using Webmin's routines
- # The pl file is Prefix safe and works only on provided input, no other filesystem files
- ebegin "Fixing perl path in source files"
- (find "${S}" -name '*.cgi' -print ; find "${S}" -name '*.pl' -print) | $perl "${S}"/perlpath.pl $perl -
- eend $?
-}
-
-src_install() {
- # Create config dir and keep
- diropts -m0755
- dodir /etc/webmin
- keepdir /etc/webmin
-
- # Create install dir
- # Third party modules installed through Webmin go here too, so keep
- dodir /usr/libexec/webmin
- keepdir /usr/libexec/webmin
-
- # Copy our own setup script to installation folder
- insinto /usr/libexec/webmin
- newins "${FILESDIR}"/gentoo-setup gentoo-setup.sh
- fperms 0744 /usr/libexec/webmin/gentoo-setup.sh
-
- # This is here if we ever want in future ebuilds to add some specific
- # config values in the /etc/webmin/miniserv.conf
- # The format of this file should be the same as the one of miniserv.conf:
- # var=value
- #
- # Uncomment it if you use such file. Before that check if upstream
- # has this file in root dir too.
- #newins "${FILESDIR}/miniserv-conf" miniserv-conf
-
- # Create the log dir and keep
- diropts -m0700
- dodir /var/log/webmin
- keepdir /var/log/webmin
-
- # Create the init.d file and put the neccessary variables there
- newinitd "${FILESDIR}"/init.d.webmin webmin
- sed -i \
- -e "s:%exe%:${EROOT}usr/libexec/webmin/miniserv.pl:" \
- -e "s:%pid%:${EROOT}var/run/webmin.pid:" \
- -e "s:%conf%:${EROOT}etc/webmin/miniserv.conf:" \
- -e "s:%config%:${EROOT}etc/webmin/config:" \
- -e "s:%perllib%:${EROOT}usr/libexec/webmin:" \
- "${ED}etc/init.d/webmin" \
- || die "Failed to patch the webmin init file"
-
- # Create the systemd service file and put the neccessary variables there
- systemd_newunit "${FILESDIR}"/webmin.service webmin.service
- sed -i \
- -e "s:%exe%:${EROOT}usr/libexec/webmin/miniserv.pl:" \
- -e "s:%pid%:${EROOT}var/run/webmin.pid:" \
- -e "s:%conf%:${EROOT}etc/webmin/miniserv.conf:" \
- -e "s:%config%:${EROOT}etc/webmin/config:" \
- -e "s:%perllib%:${EROOT}usr/libexec/webmin:" \
- "${ED}$(_systemd_get_systemunitdir)/webmin.service" \
- || die "Failed to patch the webmin systemd service file"
-
- # Setup pam
- pamd_mimic system-auth webmin auth account session
-
- # Copy files to installation folder
- ebegin "Copying install files to destination"
- cp -pPR "${S}"/* "${ED}usr/libexec/webmin"
- eend $?
-}
-
-pkg_preinst() {
- # First stop service if running so Webmin to not messup our config
- ebegin "Stopping any running Webmin instance prior merging"
- if systemd_is_booted ; then
- systemctl stop webmin.service 2>/dev/null
- else
- rc-service --ifexists -- webmin --ifstarted stop
- fi
- eend $?
-}
-
-pkg_postinst() {
- # Run webmin_config first - non interactively
- export INTERACTIVE="no"
- webmin_config
- # Every next time webmin_config should be interactive
- INTERACTIVE="yes"
-
- ewarn
- ewarn "Bare in mind that not all Webmin modules are Gentoo tweaked and may have some issues."
- ewarn "Always be careful when using modules that modify init entries, do update of webmin, install CPAN modules etc."
- ewarn "To avoid problems, please before using any module, look at its configuration options first."
- ewarn "(Usually there is a link at top in the right pane of Webmin for configuring the module.)"
- ewarn
- if systemd_is_booted ; then
- elog "- To make Webmin start at boot time, run: 'systemctl enable webmin.service'"
- else
- elog "- To make Webmin start at boot time, run: 'rc-update add webmin default'"
- fi
- elog "- The default URL to connect to Webmin is: https://localhost:10000"
- elog "- The default user that can login is: root"
- elog "- To reconfigure Webmin in case of problems run 'emerge --config app-admin/webmin'"
-}
-
-pkg_prerm() {
- # First stop service if running - we do not want Webmin to mess up config
- ebegin "Stopping any running Webmin instance prior unmerging"
- if systemd_is_booted ; then
- systemctl stop webmin.service 2>/dev/null
- else
- rc-service --ifexists -- webmin --ifstarted stop
- fi
- eend $?
-}
-
-pkg_postrm() {
- # If removing webmin completely, remind the user for the Webmin's own cron jobs.
- if [[ ! ${REPLACED_BY_VERSION} ]]; then
- ewarn
- ewarn "You have uninstalled Webmin, so have in mind that all cron jobs scheduled"
- ewarn "by Webmin for its own modules, are left active and they will fail when Webmin is missing."
- ewarn "To fix this just disable them if you intend to use Webmin again,"
- ewarn "OR delete them if not."
- ewarn
- fi
-}
-
-pkg_config(){
- webmin_config
-}
-
-webmin_config(){
- # First stop service if running
- ebegin "Stopping any running Webmin instance"
- if systemd_is_booted ; then
- systemctl stop webmin.service 2>/dev/null
- else
- rc-service --ifexists -- webmin --ifstarted stop
- fi
- eend $?
-
- # Next set the default reset variable to 'none'
- # reset/_reset can be:
- # 'none' - does not reset anything, just upgrades if a conf is present
- # OR installs new conf if a conf is missing
- # 'soft' - deletes only $config_dir/config file and thus resetting most
- # conf values to their defaults. Keeps the specific Webmin cron jobs
- # 'hard' - deletes all files in $config_dir (keeping the .keep_* Gentoo file)
- # and thus resetting all Webmin. Deletes the specific Webmin cron jobs too.
- local _reset="none"
-
- # If in interactive mode ask user what should we do
- if [[ "${INTERACTIVE}" = "yes" ]]; then
- einfo
- einfo "Please enter the number of the action you would like to perform?"
- einfo
- einfo "1. Update configuration"
- einfo " (keeps old config options and adds the new ones)"
- einfo "2. Soft reset configuration"
- einfo " (keeps some old config options, the other options are set to default)"
- ewarn " All Webmin users will be reset"
- einfo "3. Hard reset configuration"
- einfo " (all options including module options are set to default)"
- ewarn " You will lose all Webmin configuration options you have done till now"
- einfo "4. Exit this configuration utility (default)"
- while [ "$correct" != "true" ] ; do
- read answer
- if [[ "$answer" = "1" ]] ; then
- _reset="none"
- correct="true"
- elif [[ "$answer" = "2" ]] ; then
- _reset="soft"
- correct="true"
- elif [[ "$answer" = "3" ]] ; then
- _reset="hard"
- correct="true"
- elif [ "$answer" = "4" -o "$answer" = "" ] ; then
- die "User aborted configuration."
- else
- echo "Answer not recognized. Enter a number from 1 to 4"
- fi
- done
-
- if [[ "$_reset" = "hard" ]]; then
- while [ "$sure" != "true" ] ; do
- ewarn "You will lose all Webmin configuration options you have done till now."
- ewarn "Are you sure you want to do this? (y/n)"
- read answer
- if [[ $answer =~ ^[Yy]([Ee][Ss])?$ ]] ; then
- sure="true"
- elif [[ $answer =~ ^[Nn]([Oo])?$ ]] ; then
- die "User aborted configuration."
- else
- echo "Answer not recognized. Enter 'y' or 'n'"
- fi
- done
- fi
- fi
-
- export reset=$_reset
-
- # Create ssl certificate for Webmin if there is not one in the proper place
- if [[ ! -e "${EROOT}etc/ssl/webmin/server.pem" ]]; then
- SSL_ORGANIZATION="${SSL_ORGANIZATION:-Webmin Server}"
- SSL_COMMONNAME="${SSL_COMMONNAME:-*}"
- install_cert "${EROOT}/etc/ssl/webmin/server"
- fi
-
- # Ensure all paths passed to the setup script use EROOT
- export wadir="${EROOT}usr/libexec/webmin"
- export config_dir="${EROOT}etc/webmin"
- export var_dir="${EROOT}var/log/webmin"
- export tempdir="${T}"
- export pidfile="${EROOT}var/run/webmin.pid"
- export perl="$( which perl )"
- export os_type='gentoo-linux'
- export os_version='*'
- export real_os_type='Gentoo Linux'
- export real_os_version='Any version'
- # Forcing 'ssl', 'no_ssl2', 'no_ssl3', 'ssl_redirect', 'no_sslcompression',
- # 'ssl_honorcipherorder', 'no_tls1' and 'no_tls1_1' for tightening security
- export ssl=1
- export no_ssl2=1
- export no_ssl3=1
- export ssl_redirect=1
- export ssl_honorcipherorder=1
- export no_sslcompression=1
- export no_tls1=1
- export no_tls1_1=1
- export keyfile="${EROOT}etc/ssl/webmin/server.pem"
- export port=10000
-
- export atboot=0
-
- einfo "Executing Webmin's configure script"
- $wadir/gentoo-setup.sh
-
- einfo "Configuration of Webmin done"
-}
diff --git a/app-arch/Manifest.gz b/app-arch/Manifest.gz
index 0133294a9f57..365ea121dbbf 100644
Binary files a/app-arch/Manifest.gz and b/app-arch/Manifest.gz differ
diff --git a/app-arch/innoextract/Manifest b/app-arch/innoextract/Manifest
index 4ecec7c6a20d..149c2f7dd31a 100644
--- a/app-arch/innoextract/Manifest
+++ b/app-arch/innoextract/Manifest
@@ -1 +1,2 @@
DIST innoextract-1.7.tar.gz 195123 BLAKE2B 5dffb49da7ec3f8e48a70d0809e059179e84610dd50397b8ca472b9f5a96a5edd0cf36898f0e513b3f70685829e2b8edbd7d7932c9f1b47706c2929f596867e5 SHA512 5e92625a411a4351dd4639d4b63e8664519c6697122a0679c010412e94a1e5da95324c33be16211f91c2b25b8cea40fe4ba4da5e19c12d0c27a4916159465ca4
+DIST innoextract-1.8.tar.gz 205553 BLAKE2B 223f0997ae00f2a854912befca25595b275ece8e0fe4f4451d6aa3db14ad1ed98474a19c919c56d958e99c0175be647d3eb3c14d7869504405a7bf6db3a35957 SHA512 2c68009333f02a8a677c084e9c95c835d84a73e60c9b0c70fee5f23fd9a7a640cf2aa7e0476c55579774ac7079498fa24668f9388493bbc13415ff5a5b06ac9c
diff --git a/app-arch/innoextract/innoextract-1.8.ebuild b/app-arch/innoextract/innoextract-1.8.ebuild
new file mode 100644
index 000000000000..b5df9fba5b81
--- /dev/null
+++ b/app-arch/innoextract/innoextract-1.8.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="A tool to unpack installers created by Inno Setup"
+HOMEPAGE="https://constexpr.org/innoextract/"
+SRC_URI="https://constexpr.org/innoextract/files/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +iconv +lzma"
+
+RDEPEND="
+ dev-libs/boost:=
+ iconv? ( virtual/libiconv )
+ lzma? ( app-arch/xz-utils )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDEBUG=$(usex debug)
+ -DSET_OPTIMIZATION_FLAGS=OFF
+ -DSTRICT_USE=ON
+ -DUSE_LZMA=$(usex lzma)
+ -DWITH_CONV=$(usex iconv iconv builtin)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/app-benchmarks/Manifest.gz b/app-benchmarks/Manifest.gz
index 028bbd935481..382f0ecc3f64 100644
Binary files a/app-benchmarks/Manifest.gz and b/app-benchmarks/Manifest.gz differ
diff --git a/app-benchmarks/geekbench/Manifest b/app-benchmarks/geekbench/Manifest
index a801ca74f328..6e7904e870cb 100644
--- a/app-benchmarks/geekbench/Manifest
+++ b/app-benchmarks/geekbench/Manifest
@@ -1,6 +1,5 @@
DIST Geekbench-2.4.2-LinuxARM.tar.gz 1921401 BLAKE2B 34d86178e35d586b79182b3320303258a5dcc6f169cee0134f1114927ff52745d5f6c0b5d604698e45a464a157454a249cab8e3114b01dad3f7b693ca45a5b0b SHA512 0acc0ce61aa5d2575976c66aeae6ebb88ba895dd89c07daf55e2c7af344858a620336f3e79ccfc5e7b8829caa9d600f97a35a4d6e4da630d19d723dd887fdafe
DIST Geekbench-2.4.3-Linux.tar.gz 3337551 BLAKE2B cb660f3c08cc812cb23374032490a148449a36845fe63320788432493581ec6bd5958bf178d83d68b532ffbe5c7ee13e92b0bb00c0aca968bb2e499453f1b7a7 SHA512 d84e13eb5fd28fb232a5f93aa76f4855adcb9ccffbcd90dacc3e2b45231afd82e78d40c63f729391e5d00e95c14653e83757faca4e543c6306dd913c4e0edb87
DIST Geekbench-3.4.2-Linux.tar.gz 9986039 BLAKE2B 63d7e768d65bc033260a0d99da17df2e518750f19882e63dbc9bbe6ff0b52a8cddb35b9143e85c01838bf5d77a04599578fc0a57a3e6fd89e7aec8c8ffdd4f5b SHA512 a61a5d5481682baefdce64f6054c3373900e8cd585dcbfa2feabbf386032986b40b603619c552102401a83e0b748831d00af5b5b5278e88ef42dee176adf06e9
-DIST Geekbench-4.3.3-Linux.tar.gz 71101735 BLAKE2B f7e784a624f558711e7ebc5fc502de0cae5be489154f3d7d20bfccb624269644ff90867c96ce9f8136609f4911b6764bcfb7ecfb037ebddac56e450b3baa2415 SHA512 8c4bdc51f215f6c84ef955d012d3ba81fab542716cb7dd9e2b05d15c68e678955817fd25032ec659028a769312b5bc04d2d3b9832c9f2fa46d55784446e31b49
DIST Geekbench-4.4.1-Linux.tar.gz 71076124 BLAKE2B 14c2b80c971798e7d2bb256e76c7ab9c48e8c1c389e2f7547a436f706ac4f21c1e52e564cd584893071ee2f9f0a4747cd03ea72cc728ff8e4f369d5cc794d77a SHA512 fa687d33a7d7a2d09c544e3d17de93f41cfa77915c708cd1ef0743f84f7f83df9d3f8df2872a8f85ed2c4c872e3cd41932685ffeb19cdb0ea047ab5116713420
DIST Geekbench-5.0.1-Linux.tar.gz 92098694 BLAKE2B 007439570830816d573897eb3fb666656e0521e885fd241ad8606b6a6ca533a5ed490ac86465993ba4532d9278d09d03c78ca01bcf6cd932eb00eac00eb3a242 SHA512 82bd126c533764bdf6d25588d59b929be59deb4d0548ca0d414910fcea6a473918f4e62e9fed5fe644683b57819c868285ecaf92a6d123954ad92a93f989ed69
diff --git a/app-benchmarks/geekbench/geekbench-4.3.3.ebuild b/app-benchmarks/geekbench/geekbench-4.3.3.ebuild
deleted file mode 100644
index 4c5b3c5b523d..000000000000
--- a/app-benchmarks/geekbench/geekbench-4.3.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
-HOMEPAGE="https://www.geekbench.com"
-SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
-
-KEYWORDS="-* amd64 x86"
-LICENSE="geekbench"
-SLOT="4"
-
-RESTRICT="bindist fetch mirror strip"
-
-S="${WORKDIR}/Geekbench-${PV}-Linux"
-
-QA_PREBUILT="
- opt/geekbench4/geekbench4
- opt/geekbench4/geekbench_x86_32
- opt/geekbench4/geekbench_x86_64
-"
-
-pkg_nofetch() {
- elog "Please download ${A} from ${HOMEPAGE}/download/linux"
- elog "and place it in your DISTDIR directory."
-}
-
-src_install() {
- exeinto "/opt/geekbench4"
- doexe "geekbench4" "geekbench_x86_32" "geekbench_x86_64"
-
- insinto "/opt/geekbench4"
- doins "geekbench.plar"
-
- dodir "/opt/bin"
- dosym "../geekbench4/geekbench4" "/opt/bin/geekbench4"
-}
-
-pkg_postinst() {
- elog "If you have purchased a commercial license, you can enter"
- elog "your email address and your license key with the following command:"
- elog "geekbench4 -r "
-}
diff --git a/app-benchmarks/geekbench/geekbench-4.4.1.ebuild b/app-benchmarks/geekbench/geekbench-4.4.1.ebuild
index 0a63a4d5eff2..6768181dccfd 100644
--- a/app-benchmarks/geekbench/geekbench-4.4.1.ebuild
+++ b/app-benchmarks/geekbench/geekbench-4.4.1.ebuild
@@ -7,7 +7,7 @@ DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windo
HOMEPAGE="https://www.geekbench.com"
SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
-KEYWORDS="-* ~amd64 x86"
+KEYWORDS="-* amd64 x86"
LICENSE="geekbench"
SLOT="4"
diff --git a/app-benchmarks/stress-ng/Manifest b/app-benchmarks/stress-ng/Manifest
index a57673ef5194..1a7ee8d7cfa7 100644
--- a/app-benchmarks/stress-ng/Manifest
+++ b/app-benchmarks/stress-ng/Manifest
@@ -1 +1 @@
-DIST stress-ng-0.10.04.tar.xz 401148 BLAKE2B c5c1db3e5fc7316b5620311934f0119d00193f8d73d6705ff6597affebd78e81f3132a9748adc8beb7437261162c835346566a32501205416d223b9d03629423 SHA512 44097bd5a26b7c84ea69b47fc23be3a43369ad8325af375cfc51e45e51d8caabb84ea1af25aff00f042cc564980d7b3fc4b997cfb6246ab562a2f6e11d94ee5e
+DIST stress-ng-0.10.05.tar.xz 401176 BLAKE2B f9562656b361e9a931f4ed65e57865310ac6b1630e48c1fd3680f5d5aeb644ac59f1b4f57760faebe6604cfa1f3619530aeef883f34bd573594767095e6d1201 SHA512 b6ea5d9b20431297988861c4416250960c340050a2e1958f93459b3bbfd4c801c61463efdf5a190d33b76627db05fe8288ebbb3aa12f48734dc93d36266bf363
diff --git a/app-benchmarks/stress-ng/stress-ng-0.10.04.ebuild b/app-benchmarks/stress-ng/stress-ng-0.10.05.ebuild
similarity index 99%
rename from app-benchmarks/stress-ng/stress-ng-0.10.04.ebuild
rename to app-benchmarks/stress-ng/stress-ng-0.10.05.ebuild
index a91a89b38cdf..b2c3a4b18a19 100644
--- a/app-benchmarks/stress-ng/stress-ng-0.10.04.ebuild
+++ b/app-benchmarks/stress-ng/stress-ng-0.10.05.ebuild
@@ -33,5 +33,6 @@ PATCHES=( "${FILESDIR}/${PN}-0.09.53-makefile.patch" )
src_compile() {
tc-export CC
+
default
}
diff --git a/app-crypt/Manifest.gz b/app-crypt/Manifest.gz
index cbcc330acdba..396f622a320d 100644
Binary files a/app-crypt/Manifest.gz and b/app-crypt/Manifest.gz differ
diff --git a/app-crypt/seahorse-sharing/seahorse-sharing-3.8.0_p20151117.ebuild b/app-crypt/seahorse-sharing/seahorse-sharing-3.8.0_p20151117.ebuild
index 94a36921e4fc..3abf12384403 100644
--- a/app-crypt/seahorse-sharing/seahorse-sharing-3.8.0_p20151117.ebuild
+++ b/app-crypt/seahorse-sharing/seahorse-sharing-3.8.0_p20151117.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
@@ -18,7 +18,7 @@ IUSE=""
COMMON_DEPEND="
app-crypt/seahorse
dev-libs/glib:2
- >=net-dns/avahi-0.6:=
+ >=net-dns/avahi-0.6:=[dbus]
net-libs/libsoup:2.4
>=x11-libs/gtk+-3:3
diff --git a/app-crypt/seahorse/Manifest b/app-crypt/seahorse/Manifest
index 035749a2e148..bd3406819a6c 100644
--- a/app-crypt/seahorse/Manifest
+++ b/app-crypt/seahorse/Manifest
@@ -1 +1,2 @@
DIST seahorse-3.30.1.1.tar.xz 1428904 BLAKE2B 54760362fc452b2ff3f7a0d72b25540568703cb91cd46321fb8cd60c9b51f84c3f48575ae9f6c72080cbe0b29e8a38f5e6afdb6c3120b2783a8a04688bd219c9 SHA512 971b8bea484f456d2942f1d1b407ca5b11c1d431f2ee524e58348a421a235dd9d2fa463e73487c6137bde116b34a5d1c0291b479d8562d4ce03766081e0dc469
+DIST seahorse-3.32.2.tar.xz 1278668 BLAKE2B cd3fe6794ca02b1b0fd4b833a7128b8180137441a788f1f3ec5bb4186517ebb9e7422fabab2d19f60420b36e6b1ecab8b8326c99122aad185b8e45927232708f SHA512 e372f79907fbc5d60a41ea0db3a91575b0b304c1727c6091f94eec28445cd836faa32754582c59fd1eb8ce784986e63b4c8cabbd46d5e4cacec1150d9ca08481
diff --git a/app-crypt/seahorse/seahorse-3.30.1.1.ebuild b/app-crypt/seahorse/seahorse-3.30.1.1.ebuild
index 3533fb8d228f..0ab9589d6042 100644
--- a/app-crypt/seahorse/seahorse-3.30.1.1.ebuild
+++ b/app-crypt/seahorse/seahorse-3.30.1.1.ebuild
@@ -22,7 +22,7 @@ RDEPEND="
net-misc/openssh
ldap? ( net-nds/openldap:= )
>=net-libs/libsoup-2.33.92:2.4
- zeroconf? ( >=net-dns/avahi-0.6:= )
+ zeroconf? ( >=net-dns/avahi-0.6:=[dbus] )
"
DEPEND="${RDEPEND}
$(vala_depend)
diff --git a/app-crypt/seahorse/seahorse-3.32.2.ebuild b/app-crypt/seahorse/seahorse-3.32.2.ebuild
new file mode 100644
index 000000000000..5b9a65df7628
--- /dev/null
+++ b/app-crypt/seahorse/seahorse-3.32.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit gnome.org gnome2-utils meson xdg vala
+
+DESCRIPTION="Manage your passwords and encryption keys"
+HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse"
+
+LICENSE="GPL-2+ FDL-1.1+"
+SLOT="0"
+IUSE="ldap zeroconf"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+RDEPEND="
+ >=dev-libs/glib-2.44:2
+ >=app-crypt/gcr-3.11.91:=
+ >=app-crypt/gpgme-1.7.0
+ >=x11-libs/gtk+-3.22.0:3
+ >=app-crypt/gnupg-2.0.12
+ >=app-crypt/libsecret-0.16
+ dev-libs/libpwquality
+ net-misc/openssh
+ ldap? ( net-nds/openldap:= )
+ >=net-libs/libsoup-2.33.92:2.4
+ zeroconf? ( >=net-dns/avahi-0.6:=[dbus] )
+"
+DEPEND="${RDEPEND}
+ $(vala_depend)
+ dev-libs/appstream-glib
+ dev-libs/libxml2:2
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ app-crypt/gcr[vala]
+ app-crypt/libsecret[vala]
+"
+
+src_prepare() {
+ xdg_src_prepare
+ vala_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dhelp=true
+ -Dpgp-support=true
+ -Dcheck-compatible-gpg=false # keep lowest version listed as compatible as min dep for gnupg RDEPEND
+ -Dpkcs11-support=true
+ -Dkeyservers-support=true
+ -Dhkp-support=true
+ $(meson_use ldap ldap-support)
+ $(meson_use zeroconf key-sharing)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-editors/Manifest.gz b/app-editors/Manifest.gz
index 0a9576d3117a..1e0f31284fcb 100644
Binary files a/app-editors/Manifest.gz and b/app-editors/Manifest.gz differ
diff --git a/app-editors/emacs-vcs/Manifest b/app-editors/emacs-vcs/Manifest
index f66409fa88bc..93af8da7a5ef 100644
--- a/app-editors/emacs-vcs/Manifest
+++ b/app-editors/emacs-vcs/Manifest
@@ -1,2 +1 @@
-DIST emacs-26.2.90.tar.xz 44412120 BLAKE2B 72eab92b3144e3807a612a1a4c87da23181ab9b42b12692401f666eae7fbdb3e832d4f5d9dbc6473df8de9af6046ad94bbb0874a57747b594dbae62435fe5357 SHA512 66e53ae2a6d89505111e7bc9b7a6e6324a9a5577d1ad8905244dbc8619b21ea410b20bd8bab0442ec226f7a0d5f2292e01171189517736e4fa5e0e15eba51074
DIST emacs-27.0.50_pre20180831.tar.xz 28668124 BLAKE2B fae74d9885889b042142f580e971c73c193306dca26b42dd87ac3d3d765312ce6695511d7d31a047d79803982f6345c4c319a3d83cea1313080170da97482fa2 SHA512 43b32d8943dc897dfc0c1fddb4261a196d3a604add5bcf87a93748125f15db2cac762d3550d6593b80e961ae35d543adc4d5937bac77970c658f93dba26f17e4
diff --git a/app-editors/emacs-vcs/emacs-vcs-26.2.9999.ebuild b/app-editors/emacs-vcs/emacs-vcs-26.2.9999.ebuild
deleted file mode 100644
index 728af76b902b..000000000000
--- a/app-editors/emacs-vcs/emacs-vcs-26.2.9999.ebuild
+++ /dev/null
@@ -1,409 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
-
-if [[ ${PV##*.} = 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git"
- EGIT_BRANCH="emacs-26"
- EGIT_CHECKOUT_DIR="${WORKDIR}/emacs"
- S="${EGIT_CHECKOUT_DIR}"
-else
- SRC_URI="https://dev.gentoo.org/~ulm/distfiles/emacs-${PV}.tar.xz
- mirror://gnu-alpha/emacs/pretest/emacs-${PV}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
- # FULL_VERSION keeps the full version number, which is needed in
- # order to determine some path information correctly for copy/move
- # operations later on
- FULL_VERSION="${PV%%_*}"
- S="${WORKDIR}/emacs-${FULL_VERSION}"
- [[ ${FULL_VERSION} != ${PV} ]] && S="${WORKDIR}/emacs"
-fi
-
-DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
-HOMEPAGE="https://www.gnu.org/software/emacs/"
-
-LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
-SLOT="26"
-IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk gtk2 gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm xwidgets zlib"
-REQUIRED_USE="?? ( aqua X )"
-
-RDEPEND="sys-libs/ncurses:0=
- >=app-eselect/eselect-emacs-1.16
- >=app-emacs/emacs-common-gentoo-1.5[games?,X?]
- acl? ( virtual/acl )
- alsa? ( media-libs/alsa-lib )
- dbus? ( sys-apps/dbus )
- games? ( acct-group/gamestat )
- gpm? ( sys-libs/gpm )
- !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
- kerberos? ( virtual/krb5 )
- lcms? ( media-libs/lcms:2 )
- libxml2? ( >=dev-libs/libxml2-2.2.0 )
- mailutils? ( net-mail/mailutils[clients] )
- !mailutils? ( net-libs/liblockfile )
- selinux? ( sys-libs/libselinux )
- ssl? ( net-libs/gnutls:0= )
- systemd? ( sys-apps/systemd )
- zlib? ( sys-libs/zlib )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libxcb
- x11-misc/xbitmaps
- gconf? ( >=gnome-base/gconf-2.26.2 )
- gsettings? ( >=dev-libs/glib-2.28.6 )
- gif? ( media-libs/giflib:0= )
- jpeg? ( virtual/jpeg:0= )
- png? ( >=media-libs/libpng-1.4:0= )
- svg? ( >=gnome-base/librsvg-2.0 )
- tiff? ( media-libs/tiff:0 )
- xpm? ( x11-libs/libXpm )
- imagemagick? ( >=media-gfx/imagemagick-6.6.2:0=
- =x11-libs/cairo-1.12.18 )
- m17n-lib? (
- >=dev-libs/libotf-0.9.4
- >=dev-libs/m17n-lib-1.5.1
- )
- )
- gtk? (
- gtk2? ( x11-libs/gtk+:2 )
- !gtk2? (
- x11-libs/gtk+:3
- xwidgets? (
- net-libs/webkit-gtk:4=
- x11-libs/libXcomposite
- )
- )
- )
- !gtk? (
- motif? (
- >=x11-libs/motif-2.3:0
- x11-libs/libXpm
- x11-libs/libXmu
- x11-libs/libXt
- )
- !motif? (
- Xaw3d? (
- x11-libs/libXaw3d
- x11-libs/libXmu
- x11-libs/libXt
- )
- !Xaw3d? ( athena? (
- x11-libs/libXaw
- x11-libs/libXmu
- x11-libs/libXt
- ) )
- )
- )
- )"
-
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )"
-
-BDEPEND="virtual/pkgconfig
- gzip-el? ( app-arch/gzip )"
-# pax_kernel? ( sys-apps/attr )
-
-if [[ ${PV##*.} = 9999 ]]; then
- BDEPEND="${BDEPEND}
- sys-apps/texinfo"
-fi
-
-EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
-SITEFILE="20${PN}-${SLOT}-gentoo.el"
-
-src_prepare() {
- if [[ ${PV##*.} = 9999 ]]; then
- FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[ \t]*\([^ \t,)]*\).*/\1/p' \
- configure.ac)
- [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version"
- einfo "Emacs branch: ${EGIT_BRANCH}"
- einfo "Commit: ${EGIT_VERSION}"
- einfo "Emacs version number: ${FULL_VERSION}"
- [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \
- || die "Upstream version number changed to ${FULL_VERSION}"
- fi
-
- eapply_user
-
- # Fix filename reference in redirected man page
- sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
-
- AT_M4DIR=m4 eautoreconf
-}
-
-src_configure() {
- strip-flags
- filter-flags -pie #526948
-
- if use sh; then
- replace-flags "-O[1-9]" -O0 #262359
- elif use ia64; then
- replace-flags "-O[2-9]" -O1 #325373
- else
- replace-flags "-O[3-9]" -O2
- fi
-
- local myconf
-
- if use alsa; then
- use sound || ewarn \
- "USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
- myconf+=" --with-sound=alsa"
- else
- myconf+=" --with-sound=$(usex sound oss)"
- fi
-
- if use X; then
- myconf+=" --with-x --without-ns"
- myconf+=" $(use_with gconf)"
- myconf+=" $(use_with gsettings)"
- myconf+=" $(use_with toolkit-scroll-bars)"
- myconf+=" $(use_with gif)"
- myconf+=" $(use_with jpeg)"
- myconf+=" $(use_with png)"
- myconf+=" $(use_with svg rsvg)"
- myconf+=" $(use_with tiff)"
- myconf+=" $(use_with xpm)"
- myconf+=" $(use_with imagemagick)"
-
- if use xft; then
- myconf+=" --with-xft"
- myconf+=" $(use_with cairo)"
- myconf+=" $(use_with m17n-lib libotf)"
- myconf+=" $(use_with m17n-lib m17n-flt)"
- else
- myconf+=" --without-xft"
- myconf+=" --without-cairo"
- myconf+=" --without-libotf --without-m17n-flt"
- use cairo && ewarn \
- "USE flag \"cairo\" has no effect if \"xft\" is not set."
- use m17n-lib && ewarn \
- "USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
- fi
-
- local f line
- if use gtk; then
- einfo "Configuring to build with GIMP Toolkit (GTK+)"
- while read line; do ewarn "${line}"; done <<-EOF
- Your version of GTK+ will have problems with closing open
- displays. This is no problem if you just use one display, but
- if you use more than one and close one of them Emacs may crash.
- See .
- If you intend to use more than one display, then it is strongly
- recommended that you compile Emacs with the Athena/Lucid or the
- Motif toolkit instead.
- EOF
- if use gtk2; then
- myconf+=" --with-x-toolkit=gtk2 --without-xwidgets"
- use xwidgets && ewarn \
- "USE flag \"xwidgets\" has no effect if \"gtk2\" is set."
- else
- myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
- fi
- for f in motif Xaw3d athena; do
- use ${f} && ewarn \
- "USE flag \"${f}\" has no effect if \"gtk\" is set."
- done
- elif use motif; then
- einfo "Configuring to build with Motif toolkit"
- myconf+=" --with-x-toolkit=motif"
- for f in Xaw3d athena; do
- use ${f} && ewarn \
- "USE flag \"${f}\" has no effect if \"motif\" is set."
- done
- elif use athena || use Xaw3d; then
- einfo "Configuring to build with Athena/Lucid toolkit"
- myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
- else
- einfo "Configuring to build with no toolkit"
- myconf+=" --with-x-toolkit=no"
- fi
- if ! use gtk; then
- use gtk2 && ewarn \
- "USE flag \"gtk2\" has no effect if \"gtk\" is not set."
- use xwidgets && ewarn \
- "USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
- fi
- elif use aqua; then
- einfo "Configuring to build with Nextstep (Cocoa) support"
- myconf+=" --with-ns --disable-ns-self-contained"
- myconf+=" --without-x"
- else
- myconf+=" --without-x --without-ns"
- fi
-
- econf \
- --program-suffix="-${EMACS_SUFFIX}" \
- --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
- --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
- --localstatedir="${EPREFIX}"/var \
- --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
- --without-compress-install \
- --without-hesiod \
- --without-pop \
- --with-file-notification=$(usev inotify || usev gfile || echo no) \
- $(use_enable acl) \
- $(use_with dbus) \
- $(use_with dynamic-loading modules) \
- $(use_with games gameuser ":gamestat") \
- $(use_with gpm) \
- $(use_with kerberos) $(use_with kerberos kerberos5) \
- $(use_with lcms lcms2) \
- $(use_with libxml2 xml2) \
- $(use_with mailutils) \
- $(use_with selinux) \
- $(use_with ssl gnutls) \
- $(use_with systemd libsystemd) \
- $(use_with threads) \
- $(use_with wide-int) \
- $(use_with zlib) \
- ${myconf}
-}
-
-src_compile() {
- # Disable sandbox when dumping. For the unbelievers, see bug #131505
- emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
-}
-
-src_install () {
- emake DESTDIR="${D}" NO_BIN_LINK=t install
-
- mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
- mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
- mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
-
- # move info dir to avoid collisions with the dir file generated by portage
- mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} || die
- touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
- docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
-
- # avoid collision between slots, see bug #169033 e.g.
- rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
- rm -rf "${ED}"/usr/share/{appdata,applications,icons}
- rm -rf "${ED}/usr/$(get_libdir)"
- rm -rf "${ED}"/var
-
- # remove unused /site-lisp dir
- rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
-
- # remove COPYING file (except for etc/COPYING used by describe-copying)
- rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
-
- if use gzip-el; then
- # compress .el files when a corresponding .elc exists
- find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
- -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
- assert "gzip .el failed"
- fi
-
- local cdir
- if use source; then
- cdir="/usr/share/emacs/${FULL_VERSION}/src"
- insinto "${cdir}"
- # This is not meant to install all the source -- just the
- # C source you might find via find-function
- doins src/*.{c,h,m}
- elif has installsources ${FEATURES}; then
- cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
- fi
-
- sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
- X
- ;;; ${PN}-${SLOT} site-lisp configuration
- X
- (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
- Y (setq find-function-C-source-directory
- Y "${EPREFIX}${cdir}")
- X (let ((path (getenv "INFOPATH"))
- X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
- X (re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
- X (and path
- X ;; move Emacs Info dir before anything else in /usr/share/info
- X (let* ((p (cons nil (split-string path ":" t))) (q p))
- X (while (and (cdr q) (not (string-match re (cadr q))))
- X (setq q (cdr q)))
- X (setcdr q (cons dir (delete dir (cdr q))))
- X (setq Info-directory-list (prune-directory-list (cdr p)))))))
- EOF
- elisp-site-file-install "${T}/${SITEFILE}" || die
-
- dodoc README BUGS CONTRIBUTE
-
- if use aqua; then
- dodir /Applications/Gentoo
- rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
- mv nextstep/Emacs.app \
- "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
- fi
-
- DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
- through the Emacs eselect module, which also redirects man and info
- pages. Therefore, several Emacs versions can be installed at the
- same time. \"man emacs.eselect\" for details.
- \\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
- strongly recommended that you use app-admin/emacs-updater to rebuild
- all byte-compiled elisp files of the installed Emacs packages."
- use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
- Installing media-fonts/font-adobe-{75,100}dpi on the X server's
- machine would satisfy basic Emacs requirements under X11.
- See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
- for how to enable anti-aliased fonts."
- use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
- \"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
- it into /Applications by yourself."
- readme.gentoo_create_doc
-}
-
-pkg_preinst() {
- # move Info dir file to correct name
- local infodir=/usr/share/info/${EMACS_SUFFIX} f
- if [[ -f ${ED}${infodir}/dir.orig ]]; then
- mv "${ED}"${infodir}/dir{.orig,} || die
- elif [[ -d "${ED}"${infodir} ]]; then
- # this should not happen in EAPI 4
- ewarn "Regenerating Info directory index in ${infodir} ..."
- rm -f "${ED}"${infodir}/dir{,.*}
- for f in "${ED}"${infodir}/*; do
- if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
- install-info --info-dir="${ED}"${infodir} "${f}" || die
- fi
- done
- fi
-}
-
-pkg_postinst() {
- elisp-site-regen
- readme.gentoo_print_elog
-
- if use livecd; then
- # force an update of the emacs symlink for the livecd/dvd,
- # because some microemacs packages set it with USE=livecd
- eselect emacs update
- elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
- # refresh symlinks in case any installed files have changed
- eselect emacs set ${EMACS_SUFFIX}
- else
- eselect emacs update ifunset
- fi
-}
-
-pkg_postrm() {
- elisp-site-regen
- eselect emacs update ifunset
-}
diff --git a/app-editors/emacs-vcs/emacs-vcs-26.2.90.ebuild b/app-editors/emacs-vcs/emacs-vcs-26.3.9999.ebuild
similarity index 97%
rename from app-editors/emacs-vcs/emacs-vcs-26.2.90.ebuild
rename to app-editors/emacs-vcs/emacs-vcs-26.3.9999.ebuild
index 728af76b902b..bc37463010be 100644
--- a/app-editors/emacs-vcs/emacs-vcs-26.2.90.ebuild
+++ b/app-editors/emacs-vcs/emacs-vcs-26.3.9999.ebuild
@@ -67,8 +67,7 @@ RDEPEND="sys-libs/ncurses:0=
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
- imagemagick? ( >=media-gfx/imagemagick-6.6.2:0=
- =media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
@@ -305,6 +304,15 @@ src_install () {
# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+ if use systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
diff --git a/app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild b/app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild
index cb262d172dd2..3ee98c8520ad 100644
--- a/app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild
+++ b/app-editors/emacs-vcs/emacs-vcs-27.0.9999.ebuild
@@ -311,6 +311,15 @@ src_install () {
# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+ if use systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
diff --git a/app-editors/emacs/emacs-26.3.ebuild b/app-editors/emacs/emacs-26.3-r1.ebuild
similarity index 97%
rename from app-editors/emacs/emacs-26.3.ebuild
rename to app-editors/emacs/emacs-26.3-r1.ebuild
index 0e312adbbbb7..40ca9d580196 100644
--- a/app-editors/emacs/emacs-26.3.ebuild
+++ b/app-editors/emacs/emacs-26.3-r1.ebuild
@@ -281,6 +281,15 @@ src_install () {
# remove COPYING file (except for etc/COPYING used by describe-copying)
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+ if use systemd; then
+ insinto /usr/lib/systemd/user
+ sed -e "/^##/d" \
+ -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
+ -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
+ etc/emacs.service | newins - ${EMACS_SUFFIX}.service
+ assert
+ fi
+
if use gzip-el; then
# compress .el files when a corresponding .elc exists
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
diff --git a/app-emacs/Manifest.gz b/app-emacs/Manifest.gz
index b95e6e1ac8c0..34179d80d3e9 100644
Binary files a/app-emacs/Manifest.gz and b/app-emacs/Manifest.gz differ
diff --git a/app-emacs/identica-mode/Manifest b/app-emacs/identica-mode/Manifest
deleted file mode 100644
index b8b32c46fd22..000000000000
--- a/app-emacs/identica-mode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST identica-mode-1.1.tar.gz 33078 BLAKE2B f10665b5468a2fef27dc7142aa88aab1ee7583872149654b1d4f072e74732ae9512e117a2c9d26c99b2445dc93d370c77250fe4c80e432865983d1fafe4fd0da SHA512 c8dfe17da04d7124398065a171829b30036d1df32d383c0297c0155a2fbe4a8260901c903194c1136c05add960270aea4b92a9b97928541985ff1c2f1084f53c
diff --git a/app-emacs/identica-mode/files/50identica-mode-gentoo.el b/app-emacs/identica-mode/files/50identica-mode-gentoo.el
deleted file mode 100644
index e2ecd33d5bff..000000000000
--- a/app-emacs/identica-mode/files/50identica-mode-gentoo.el
+++ /dev/null
@@ -1,2 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'identica "identica-mode" "Start identica-mode." t)
diff --git a/app-emacs/identica-mode/identica-mode-1.1-r1.ebuild b/app-emacs/identica-mode/identica-mode-1.1-r1.ebuild
deleted file mode 100644
index c2f01e7d5778..000000000000
--- a/app-emacs/identica-mode/identica-mode-1.1-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit elisp
-
-DESCRIPTION="Identi.ca mode for Emacs"
-HOMEPAGE="http://blog.nethazard.net/identica-mode-for-emacs/"
-# taken from: http://git.savannah.gnu.org/cgit/identica-mode.git/snapshot/${P}.tar.gz
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="GPL-2+ FDL-1.2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="sys-apps/texinfo"
-
-ELISP_TEXINFO="doc/${PN}.texi"
-SITEFILE="50${PN}-gentoo.el"
-
-pkg_postinst() {
- elisp-site-regen
- elog "You may optionally set username and password in your ~/.emacs file:"
- elog " (setq identica-username \"yourusername\")"
- elog " (setq identica-password \"yourpassword\")"
-}
diff --git a/app-emacs/identica-mode/metadata.xml b/app-emacs/identica-mode/metadata.xml
deleted file mode 100644
index c918cdef9591..000000000000
--- a/app-emacs/identica-mode/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- gnu-emacs@gentoo.org
- Gentoo GNU Emacs project
-
-
-
diff --git a/app-emacs/thumbs/Manifest b/app-emacs/thumbs/Manifest
deleted file mode 100644
index 955f5c16272c..000000000000
--- a/app-emacs/thumbs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST thumbs-2.0.el.bz2 6521 BLAKE2B f37154658fdc660698a28ac01d0b266ff6cc4f86f30d93a9e0929e565a6666ccd168d861122d5ff893073f9aaa4a3c7412a3f96758b044faad11f13ec7000533 SHA512 d4bca861ed5db620a2319659e255bef14241a68067be994402d2d36bb7fe34ab5a22b6b76dea5631aa5288d03caadb3a8163a8ecf439144d8d50cc410cfe078d
diff --git a/app-emacs/thumbs/files/50thumbs-gentoo.el b/app-emacs/thumbs/files/50thumbs-gentoo.el
deleted file mode 100644
index 12627d30c75e..000000000000
--- a/app-emacs/thumbs/files/50thumbs-gentoo.el
+++ /dev/null
@@ -1,11 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'thumbs-find-thumb "thumbs" "Display the thumbnail for IMG." t)
-(autoload 'thumbs-show-all-from-dir "thumbs"
- "Make a preview buffer for all images in DIR." t)
-(autoload 'thumbs-dired-show-marked "thumbs"
- "In Dired, make a thumbs buffer with all marked files." t)
-(autoload 'thumbs-dired-show-all "thumbs"
- "In dired, make a thumbs buffer with all files in current directory." t)
-(defalias 'thumbs 'thumbs-show-all-from-dir)
-(autoload 'thumbs-dired-setroot "thumbs"
- "In dired, Call the setroot program on the image at point." t)
diff --git a/app-emacs/thumbs/metadata.xml b/app-emacs/thumbs/metadata.xml
deleted file mode 100644
index c918cdef9591..000000000000
--- a/app-emacs/thumbs/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- gnu-emacs@gentoo.org
- Gentoo GNU Emacs project
-
-
-
diff --git a/app-emacs/thumbs/thumbs-2.0-r1.ebuild b/app-emacs/thumbs/thumbs-2.0-r1.ebuild
deleted file mode 100644
index 85ffa7643736..000000000000
--- a/app-emacs/thumbs/thumbs-2.0-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit elisp
-
-DESCRIPTION="Emacs thumbnail previewer for image files"
-HOMEPAGE="https://www.emacswiki.org/emacs/ThumbsMode"
-SRC_URI="mirror://gentoo/${P}.el.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc sparc x86"
-IUSE=""
-
-RDEPEND="virtual/imagemagick-tools"
-
-SITEFILE="50${PN}-gentoo.el"
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 7c35f2a4a27d..68011522cfe7 100644
Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ
diff --git a/app-emulation/diskimage-builder/Manifest b/app-emulation/diskimage-builder/Manifest
index 56c895fc9732..5687436efe1d 100644
--- a/app-emulation/diskimage-builder/Manifest
+++ b/app-emulation/diskimage-builder/Manifest
@@ -1,3 +1,2 @@
DIST diskimage-builder-2.26.1.tar.gz 421821 BLAKE2B 11c0ba668494285f33f3461e1a2c091ce6d622e4be164c4ab56a93cd000c82cec6702a6ed2ae37007120320f053760473f45f58ad8b45ee14b7b3eb47ac82d9a SHA512 e8bb68d15fc0bdd4881e76a7277f3e5e481b77decb4591546a576eda015bf624da3746326735add299551e168b82ab8bb165a18a64e96532c5b846e49815528f
-DIST diskimage-builder-2.27.0.tar.gz 421632 BLAKE2B 3899f65c3fe29a9a39410393585c12c977687c6cf2865fcb4a923780600f92f09211a65f7e69e9e0c00501bf6db21341c1a2f55fc066e53574f4ad1808464dba SHA512 90a84489e4a753d6aa2a445abf3eb1402c387036959055bcdb607b7daabaa43502bd0689d450a5e785271aa3a3f696cf20fced2dfda7b9c872d59a9e2f87cf30
-DIST diskimage-builder-2.27.1.tar.gz 422323 BLAKE2B ae0099187318d62c9e2441d24d3bf85816d617e923572ca6ee7ec92b45f882b00f40fa22744fd6e4687f4be2881b3325e8b519a34f4589fcf304ea7197fcebf4 SHA512 b1104e7730fc85ee7cca534ba24236969d13066275a06734c9a8841268d8243ab38ad420434e4bcba38e5604377f3c0c30df67a0a9e7439170380f6fba626d04
+DIST diskimage-builder-2.27.2.tar.gz 421433 BLAKE2B 089e68b07c6f79e54b8fb30e7a9328a6c55d1abb5f77b6592cc0b29b30a44a83803bdde93631e95e39d7fc82d9b5ff3fb425a7b94821b96f56421cbde9f8b078 SHA512 e2cc6f24d5bbfdf741d6b6e7e216d0e9631d6394cf3f3f4d34ce8a78ba2ba2ddbcb0b1434121f7ab1bd3600194777a5538651d9039c3bca06bb8cc621f06f037
diff --git a/app-emulation/diskimage-builder/diskimage-builder-2.27.1.ebuild b/app-emulation/diskimage-builder/diskimage-builder-2.27.1.ebuild
deleted file mode 100644
index 86d3bb124b34..000000000000
--- a/app-emulation/diskimage-builder/diskimage-builder-2.27.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 python3_6 python3_7 )
-
-inherit distutils-r1
-
-DESCRIPTION="Golden Disk Image builder."
-HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
-DEPEND="${CDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="${CDEPEND}
- >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
- !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/networkx-1.10[${PYTHON_USEDEP}]
- =dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
- >=dev-python/flake8-2.5.4[${PYTHON_USEDEP}]
- =dev-python/six-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- app-emulation/qemu
- sys-block/parted
- sys-fs/multipath-tools
- sys-fs/dosfstools
- sys-apps/gptfdisk
- !dev-python/dib-utils[${PYTHON_USEDEP}]"
diff --git a/app-emulation/diskimage-builder/diskimage-builder-2.27.0.ebuild b/app-emulation/diskimage-builder/diskimage-builder-2.27.2.ebuild
similarity index 100%
rename from app-emulation/diskimage-builder/diskimage-builder-2.27.0.ebuild
rename to app-emulation/diskimage-builder/diskimage-builder-2.27.2.ebuild
diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest
index 4893496ab537..0e4d9c3760d4 100644
--- a/app-emulation/docker/Manifest
+++ b/app-emulation/docker/Manifest
@@ -1,4 +1,2 @@
-DIST docker-18.09.8.tar.gz 15263186 BLAKE2B 9c6d23172e138491c383342753ddf0f7d3831d11b0d4212bd62709733a68b77151884c2a7a7b52e53a3885a84fc860eeb1561723e5967e0a95eff174fda68ae4 SHA512 34cf91da732ebbde88f0c8cd39664130e6bd344b18d4643715a00e1c4062d0838a37650a8ee68fb371abd8f01910c7bdce1237af74a49cd63b5ed5382eaf00ed
DIST docker-18.09.9.tar.gz 15299640 BLAKE2B 2a4fa670ddac0136e85300fd137a8ea91651c51c54fa3d52ddc5b1a640a1ee202a34f428fcf9eea286c581f49a2c28b711100e7541773e5bc1f2e37884cae2dc SHA512 d0235ae54e4d8d4d0893f6f35293f36177afabc71d0b3e6a74341260e52dcd9351a924efe8fa299cf9a51efdc68b6b284f6435d7210c44193a673f7fff71ce0b
-DIST docker-19.03.1.tar.gz 16652136 BLAKE2B be5c001e48bdce0ea8e520c131ff1699d12e39c45cf7dba3452689879e29abe12509c5d70e4a82eb66ac599b85717cd7e057cff1a41ba552eb2ce549e692d991 SHA512 92b4e5fe2bbf96a261d290ca807550af45146be9d21680940bd6aa45d9127ae8ddbc706df4056f1720ed6975a2a92004f1789fae4109c50206904ad827d4bf2e
DIST docker-19.03.2.tar.gz 16657356 BLAKE2B 3e48ea67f1ef65786c30b4d47b29dbe92d7fb7b043d2c4f15c07cdc929554a07870ce5ade2c1fe26eebea74d28dc71752e9c96e86fe12e0d96608059b5c91f11 SHA512 6b594fdbb53dcc0228781375a3884eb370446738c44f7c1e42945c4ccc263e75f53d984bc8ea6a6a498446859e667305bd967299c12956f1cb925d868a4bf2b8
diff --git a/app-emulation/docker/docker-18.09.8.ebuild b/app-emulation/docker/docker-18.09.8.ebuild
deleted file mode 100644
index 58711331389a..000000000000
--- a/app-emulation/docker/docker-18.09.8.ebuild
+++ /dev/null
@@ -1,308 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGO_PN="github.com/docker/docker-ce"
-
-if [[ ${PV} = *9999* ]]; then
- # Docker cannot be fetched via "go get", thanks to autogenerated code
- EGIT_REPO_URI="https://${EGO_PN}.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
- inherit git-r3
-else
- DOCKER_GITCOMMIT="00dd43dd"
- MY_PV=${PV/_/-}
- SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64"
- [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
- inherit golang-vcs-snapshot
-fi
-inherit bash-completion-r1 golang-base linux-info systemd udev user
-
-DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
-HOMEPAGE="https://dockerproject.org"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay seccomp"
-
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
-CDEPEND="
- >=dev-db/sqlite-3.7.9:3
- device-mapper? (
- >=sys-fs/lvm2-2.02.89[thin]
- )
- seccomp? ( >=sys-libs/libseccomp-2.2.1 )
- apparmor? ( sys-libs/libapparmor )
-"
-
-DEPEND="
- ${CDEPEND}
-
- dev-go/go-md2man
-
- btrfs? (
- >=sys-fs/btrfs-progs-3.16.1
- )
-"
-
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
-RDEPEND="
- ${CDEPEND}
- >=net-firewall/iptables-1.4
- sys-process/procps
- >=dev-vcs/git-1.7
- >=app-arch/xz-utils-4.9
- dev-libs/libltdl
- ~app-emulation/containerd-1.2.6
- ~app-emulation/runc-1.0.0_rc8[apparmor?,seccomp?]
- ~app-emulation/docker-proxy-0.8.0_p20190513
- container-init? ( >=sys-process/tini-0.18.0[static] )
-"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-# see "contrib/check-config.sh" from upstream's sources
-CONFIG_CHECK="
- ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
- ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
- ~KEYS
- ~VETH ~BRIDGE ~BRIDGE_NETFILTER
- ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
- ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
- ~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED
- ~POSIX_MQUEUE
-
- ~USER_NS
- ~SECCOMP
- ~CGROUP_PIDS
- ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
-
- ~BLK_CGROUP ~BLK_DEV_THROTTLING
- ~CGROUP_PERF
- ~CGROUP_HUGETLB
- ~NET_CLS_CGROUP
- ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
- ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
-
- ~VXLAN
- ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
- ~IPVLAN
- ~MACVLAN ~DUMMY
-"
-
-ERROR_KEYS="CONFIG_KEYS: is mandatory"
-ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
-ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
-
-ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
-ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
-ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
-ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
-ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
-ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
-
-pkg_setup() {
- if kernel_is lt 3 10; then
- ewarn ""
- ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
- ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
- fi
-
- if kernel_is le 3 18; then
- CONFIG_CHECK+="
- ~RESOURCE_COUNTERS
- "
- fi
-
- if kernel_is le 3 13; then
- CONFIG_CHECK+="
- ~NETPRIO_CGROUP
- "
- else
- CONFIG_CHECK+="
- ~CGROUP_NET_PRIO
- "
- fi
-
- if kernel_is lt 4 5; then
- CONFIG_CHECK+="
- ~MEMCG_KMEM
- "
- ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
- fi
-
- if kernel_is lt 4 7; then
- CONFIG_CHECK+="
- ~DEVPTS_MULTIPLE_INSTANCES
- "
- fi
-
- if kernel_is lt 5 1; then
- CONFIG_CHECK+="
- ~NF_NAT_IPV4
- ~IOSCHED_CFQ
- ~CFQ_GROUP_IOSCHED
- "
- fi
-
- if use aufs; then
- CONFIG_CHECK+="
- ~AUFS_FS
- ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
- "
- ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
- fi
-
- if use btrfs; then
- CONFIG_CHECK+="
- ~BTRFS_FS
- ~BTRFS_FS_POSIX_ACL
- "
- fi
-
- if use device-mapper; then
- CONFIG_CHECK+="
- ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
- "
- fi
-
- if use overlay; then
- CONFIG_CHECK+="
- ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
- "
- fi
-
- linux-info_pkg_setup
-
- # create docker group for the code checking for it in /etc/group
- enewgroup docker
-}
-
-src_compile() {
- export GOPATH="${WORKDIR}/${P}"
-
- # setup CFLAGS and LDFLAGS for separate build target
- # see https://github.com/tianon/docker-overlay/pull/10
- export CGO_CFLAGS="-I${ROOT}/usr/include"
- export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
-
- # if we're building from a tarball, we need the GITCOMMIT value
- [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
-
- # fake golang layout
- ln -s docker-ce/components/engine ../docker || die
- ln -s docker-ce/components/cli ../cli || die
-
- # let's set up some optional features :)
- export DOCKER_BUILDTAGS=''
- for gd in aufs btrfs device-mapper overlay; do
- if ! use $gd; then
- DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
- fi
- done
-
- for tag in apparmor seccomp; do
- if use $tag; then
- DOCKER_BUILDTAGS+=" $tag"
- fi
- done
-
- pushd components/engine || die
-
- if use hardened; then
- sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
- grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
- sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
- -i hack/make/dynbinary-daemon || die
- grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
- fi
-
- # build daemon
- VERSION="$(cat ../../VERSION)" \
- ./hack/make.sh dynbinary || die 'dynbinary failed'
-
- popd || die # components/engine
-
- pushd components/cli || die
-
- # build cli
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat ../../VERSION)" \
- GITCOMMIT="${DOCKER_GITCOMMIT}" \
- DISABLE_WARN_OUTSIDE_CONTAINER=1 \
- dynbinary || die
-
- # build man pages
- go build -o gen-manpages github.com/docker/cli/man || die
- ./gen-manpages --root . --target ./man/man1 || die
- ./man/md2man-all.sh -q || die
- rm gen-manpages || die
- # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
-
- popd || die # components/cli
-}
-
-src_install() {
- dosym containerd /usr/bin/docker-containerd
- dosym containerd-shim /usr/bin/docker-containerd-shim
- dosym runc /usr/bin/docker-runc
- use container-init && dosym tini /usr/bin/docker-init
-
- pushd components/engine || die
- newbin "$(readlink -f bundles/latest/dynbinary-daemon/dockerd)" dockerd
-
- newinitd contrib/init/openrc/docker.initd docker
- newconfd contrib/init/openrc/docker.confd docker
-
- systemd_dounit contrib/init/systemd/docker.{service,socket}
-
- udev_dorules contrib/udev/*.rules
-
- dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
- dodoc -r docs/*
-
- insinto /usr/share/vim/vimfiles
- doins -r contrib/syntax/vim/ftdetect
- doins -r contrib/syntax/vim/syntax
-
- # note: intentionally not using "doins" so that we preserve +x bits
- dodir /usr/share/${PN}/contrib
- cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
- popd || die # components/engine
-
- pushd components/cli || die
-
- newbin build/docker-* docker
-
- doman man/man*/*
-
- dobashcomp contrib/completion/bash/*
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
- popd || die # components/cli
-}
-
-pkg_postinst() {
- udev_reload
-
- elog
- elog "To use Docker, the Docker daemon must be running as root. To automatically"
- elog "start the Docker daemon at boot, add Docker to the default runlevel:"
- elog " rc-update add docker default"
- elog "Similarly for systemd:"
- elog " systemctl enable docker.service"
- elog
- elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
- elog " usermod -aG docker youruser"
- elog
-
- elog " Devicemapper storage driver has been deprecated"
- elog " It will be removed in a future release"
-}
diff --git a/app-emulation/docker/docker-18.09.9.ebuild b/app-emulation/docker/docker-18.09.9.ebuild
index 94950688f27c..86284c9e3965 100644
--- a/app-emulation/docker/docker-18.09.9.ebuild
+++ b/app-emulation/docker/docker-18.09.9.ebuild
@@ -14,7 +14,7 @@ else
DOCKER_GITCOMMIT="039a7df"
MY_PV=${PV/_/-}
SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64"
+ KEYWORDS="amd64 ~arm ~arm64"
[ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
inherit golang-vcs-snapshot
fi
diff --git a/app-emulation/docker/docker-19.03.1.ebuild b/app-emulation/docker/docker-19.03.1.ebuild
deleted file mode 100644
index 7c0a798fbfd9..000000000000
--- a/app-emulation/docker/docker-19.03.1.ebuild
+++ /dev/null
@@ -1,308 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGO_PN="github.com/docker/docker-ce"
-
-if [[ ${PV} = *9999* ]]; then
- # Docker cannot be fetched via "go get", thanks to autogenerated code
- EGIT_REPO_URI="https://${EGO_PN}.git"
- EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}"
- inherit git-r3
-else
- DOCKER_GITCOMMIT="74b1e89"
- MY_PV=${PV/_/-}
- SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64"
- [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!"
- inherit golang-vcs-snapshot
-fi
-inherit bash-completion-r1 golang-base linux-info systemd udev user
-
-DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
-HOMEPAGE="https://dockerproject.org"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay seccomp"
-
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
-CDEPEND="
- >=dev-db/sqlite-3.7.9:3
- device-mapper? (
- >=sys-fs/lvm2-2.02.89[thin]
- )
- seccomp? ( >=sys-libs/libseccomp-2.2.1 )
- apparmor? ( sys-libs/libapparmor )
-"
-
-DEPEND="
- ${CDEPEND}
-
- dev-go/go-md2man
-
- btrfs? (
- >=sys-fs/btrfs-progs-3.16.1
- )
-"
-
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies
-RDEPEND="
- ${CDEPEND}
- >=net-firewall/iptables-1.4
- sys-process/procps
- >=dev-vcs/git-1.7
- >=app-arch/xz-utils-4.9
- dev-libs/libltdl
- ~app-emulation/containerd-1.2.6
- ~app-emulation/runc-1.0.0_rc8[apparmor?,seccomp?]
- ~app-emulation/docker-proxy-0.8.0_p20190604
- container-init? ( >=sys-process/tini-0.18.0[static] )
-"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-# see "contrib/check-config.sh" from upstream's sources
-CONFIG_CHECK="
- ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS
- ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG
- ~KEYS
- ~VETH ~BRIDGE ~BRIDGE_NETFILTER
- ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE
- ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS
- ~IP_NF_NAT ~NF_NAT ~NF_NAT_NEEDED
- ~POSIX_MQUEUE
-
- ~USER_NS
- ~SECCOMP
- ~CGROUP_PIDS
- ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED
-
- ~BLK_CGROUP ~BLK_DEV_THROTTLING
- ~CGROUP_PERF
- ~CGROUP_HUGETLB
- ~NET_CLS_CGROUP
- ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED
- ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR
-
- ~VXLAN
- ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER
- ~IPVLAN
- ~MACVLAN ~DUMMY
-"
-
-ERROR_KEYS="CONFIG_KEYS: is mandatory"
-ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers"
-ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering"
-
-ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering"
-ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering"
-ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering"
-ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering"
-ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks"
-ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks"
-
-pkg_setup() {
- if kernel_is lt 3 10; then
- ewarn ""
- ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported."
- ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies"
- fi
-
- if kernel_is le 3 18; then
- CONFIG_CHECK+="
- ~RESOURCE_COUNTERS
- "
- fi
-
- if kernel_is le 3 13; then
- CONFIG_CHECK+="
- ~NETPRIO_CGROUP
- "
- else
- CONFIG_CHECK+="
- ~CGROUP_NET_PRIO
- "
- fi
-
- if kernel_is lt 4 5; then
- CONFIG_CHECK+="
- ~MEMCG_KMEM
- "
- ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional"
- fi
-
- if kernel_is lt 4 7; then
- CONFIG_CHECK+="
- ~DEVPTS_MULTIPLE_INSTANCES
- "
- fi
-
- if kernel_is lt 5 1; then
- CONFIG_CHECK+="
- ~NF_NAT_IPV4
- ~IOSCHED_CFQ
- ~CFQ_GROUP_IOSCHED
- "
- fi
-
- if use aufs; then
- CONFIG_CHECK+="
- ~AUFS_FS
- ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
- "
- ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3"
- fi
-
- if use btrfs; then
- CONFIG_CHECK+="
- ~BTRFS_FS
- ~BTRFS_FS_POSIX_ACL
- "
- fi
-
- if use device-mapper; then
- CONFIG_CHECK+="
- ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY
- "
- fi
-
- if use overlay; then
- CONFIG_CHECK+="
- ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL
- "
- fi
-
- linux-info_pkg_setup
-
- # create docker group for the code checking for it in /etc/group
- enewgroup docker
-}
-
-src_compile() {
- export GOPATH="${WORKDIR}/${P}"
-
- # setup CFLAGS and LDFLAGS for separate build target
- # see https://github.com/tianon/docker-overlay/pull/10
- export CGO_CFLAGS="-I${ROOT}/usr/include"
- export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)"
-
- # if we're building from a tarball, we need the GITCOMMIT value
- [ "$DOCKER_GITCOMMIT" ] && export DOCKER_GITCOMMIT
-
- # fake golang layout
- ln -s docker-ce/components/engine ../docker || die
- ln -s docker-ce/components/cli ../cli || die
-
- # let's set up some optional features :)
- export DOCKER_BUILDTAGS=''
- for gd in aufs btrfs device-mapper overlay; do
- if ! use $gd; then
- DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
- fi
- done
-
- for tag in apparmor seccomp; do
- if use $tag; then
- DOCKER_BUILDTAGS+=" $tag"
- fi
- done
-
- pushd components/engine || die
-
- if use hardened; then
- sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die
- grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed'
- sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \
- -i hack/make/dynbinary-daemon || die
- grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed'
- fi
-
- # build daemon
- VERSION="$(cat ../../VERSION)" \
- ./hack/make.sh dynbinary || die 'dynbinary failed'
-
- popd || die # components/engine
-
- pushd components/cli || die
-
- # build cli
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat ../../VERSION)" \
- GITCOMMIT="${DOCKER_GITCOMMIT}" \
- DISABLE_WARN_OUTSIDE_CONTAINER=1 \
- dynbinary || die
-
- # build man pages
- go build -o gen-manpages github.com/docker/cli/man || die
- ./gen-manpages --root . --target ./man/man1 || die
- ./man/md2man-all.sh -q || die
- rm gen-manpages || die
- # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
-
- popd || die # components/cli
-}
-
-src_install() {
- dosym containerd /usr/bin/docker-containerd
- dosym containerd-shim /usr/bin/docker-containerd-shim
- dosym runc /usr/bin/docker-runc
- use container-init && dosym tini /usr/bin/docker-init
-
- pushd components/engine || die
- newbin "$(readlink -f bundles/latest/dynbinary-daemon/dockerd)" dockerd
-
- newinitd contrib/init/openrc/docker.initd docker
- newconfd contrib/init/openrc/docker.confd docker
-
- systemd_dounit contrib/init/systemd/docker.{service,socket}
-
- udev_dorules contrib/udev/*.rules
-
- dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md
- dodoc -r docs/*
-
- insinto /usr/share/vim/vimfiles
- doins -r contrib/syntax/vim/ftdetect
- doins -r contrib/syntax/vim/syntax
-
- # note: intentionally not using "doins" so that we preserve +x bits
- dodir /usr/share/${PN}/contrib
- cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
- popd || die # components/engine
-
- pushd components/cli || die
-
- newbin build/docker-* docker
-
- doman man/man*/*
-
- dobashcomp contrib/completion/bash/*
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
- popd || die # components/cli
-}
-
-pkg_postinst() {
- udev_reload
-
- elog
- elog "To use Docker, the Docker daemon must be running as root. To automatically"
- elog "start the Docker daemon at boot, add Docker to the default runlevel:"
- elog " rc-update add docker default"
- elog "Similarly for systemd:"
- elog " systemctl enable docker.service"
- elog
- elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
- elog " usermod -aG docker youruser"
- elog
-
- elog " Devicemapper storage driver has been deprecated"
- elog " It will be removed in a future release"
-}
diff --git a/app-emulation/firecracker/Manifest b/app-emulation/firecracker/Manifest
new file mode 100644
index 000000000000..1f9272e136bf
--- /dev/null
+++ b/app-emulation/firecracker/Manifest
@@ -0,0 +1,106 @@
+DIST aho-corasick-0.6.10.crate 26122 BLAKE2B 752eccb2fbf36fbc73b8694033d2f80f6ab6d2a8c2ae023329b90bb252b537adb1e80a604b4266bfb1ccc2963fcaa6579be48ef011c9728734c7cb77fa3eab99 SHA512 4a21b0e68c416e5dcfe99ded917577abdbe7c92e50227b7906a2b3bd25105f8e7d03103514d388171a41090cc7bcb63bb5b4dc3c6847a9b4e09bb3856a1bbd9d
+DIST backtrace-0.3.35.crate 60047 BLAKE2B 716fc69b2a7999371d52792fae45fede5c3dc72c0522c0dacb275025cb97353aa0f8569ab8bad66105671babcd4e675fdf6f0d65153a83c5a0de9262cd275480 SHA512 bb4d50c57bda52b9f48772c1cdb1fb30c003a5c6d69cb5ae740115020600693b00aca7c89e8c76a5e3e0deb6e54a2ec4d68edcdebb85e3f35b8dbbaf23f88926
+DIST backtrace-sys-0.1.31.crate 518877 BLAKE2B 397f3c4053eeabd7216c4373e6457637e22ee124d8a864c2587a78ebd8d619745dece654357cb9cd970ee20d7c41d53c84ecb3ed92beefaacbcfddfaca804ce5 SHA512 6aa8c7a2694f4e953a0e9bbd07dc8b7e218719de5aef2adaecfae81beb919deffde6f184675dc6b6c1a330bb81dc9611c256f7f63caef5e301101dbe3bbaafe0
+DIST base64-0.9.3.crate 37993 BLAKE2B c0943b223d0d35438c647aa53fec5f85e65a78a5d272e4c65865bf182607b44c45b3ed1a0353e081a9dc5d9f4c9cda6cc6b8d68929a2676a512a7907cc94d8b6 SHA512 4790e4de201123e7b3e3c8a574c92089e38900a67f1bb4868987da4088785ea05e4258559c1c32be67341c2ba8a19deacd156492d8383949e1c9a6ae218b7eeb
+DIST bitflags-0.5.0.crate 10940 BLAKE2B 69d9f52d1dfbec986034981f4629022b25b94c01d54424ae2399a0749c51f0f1c725ca312cfb3f953efc95732b7ca32e432e29b1e5bbba416cb4e0c21a266546 SHA512 220511ed57391bbbd4c8828cf485aed25d078a1cad6305367939072383e48468d545550002398a288d30d8501b9232fb9a91e7a3651f67103991677b9f25de0c
+DIST bitflags-1.1.0.crate 16322 BLAKE2B 01931976111840ca69b58e77e2c18b26ebabe4ef71ebdbe83565fbef42ffbb9512ad376192c085070485cd344b8614f260aafe0614fb20342cca5a15e9616385 SHA512 e3e611cf35a1ed4930727d530e6c78add895bd96636ca1354f1269b3d0e36e77fbb9ec850fe1f448a10f09ea2b2f89c2b16bb96b7da585851ce4c29a308968e3
+DIST byteorder-1.2.1.crate 17841 BLAKE2B 2e61c88911454fb787ddc7601ae7530980e9dd6be55eb4605dc257b0753ce69be8e3cf05655e9bf118e3a3c25d709f674acb6162fcd6f08d6b73619f4d434a62 SHA512 3b8822286a3973ef80309f30e169dee5fd87d98a0b4f5a44da7e29c2f14f5ce47a9f109087c84cab09078ad0c3507bb459bac243528bf4d8eae7a958394a4041
+DIST bytes-0.4.12.crate 46361 BLAKE2B 991f1d9170e7d3438c7d74507e6274df551d483883b3be2d99f7bbc0611ee6bd3f8f45c0e086cfa5488e8fc00e36e9a549fc71a325ff62b9bb83bd8fd412b5df SHA512 5f603532ea2f04cbc53044422feed1667bf0486af398c9c8e2ce7b4601b37e1c47223201970fb0d17fed77fef7e89961e0ac05a30e6cc9bf13462d98bc587250
+DIST c2-chacha-0.2.2.crate 13766 BLAKE2B 0b963b7a4ac64d71d75ab542a23585cd7bb99995b923c52edf99c49a76222978d0a96c020a5a1199c971133fc1f8629b562088b34fd283b7b5da7800848f85ab SHA512 d8edeff2f4eefb9504160d7f4d3c450661d10905c23cc4950736ab76e73bd1e88127c006bc762d63694847f2cc981ceeb0727ecf18e8fad7c89209d7a9e70f14
+DIST cc-1.0.41.crate 48185 BLAKE2B 7fb7eba2079aed5bc7775e9e8585f9b1267066bf51cf7aa9f5ad25789f7b57021a457d2811f705d4e6bd0f38d033cea1c6be23894929df8df9f3bf1b2dcb6a20 SHA512 3a39bd28e16c3e7715e0588fb9eaef6b83075e68c1ad7aa0969d89baac1e2753f9e68b56492bf5df5b1a4882fd1b6a1df97ce559149873efacd5aa209a0bf352
+DIST cfg-if-0.1.9.crate 7353 BLAKE2B 5556f3fdbf49708e6e4f08f2c536ee093b5f04dcf1fe4f68355189d129c416c338820143b5cf5f215323b38175ee0fd34eef4b2ff58179b190a63a9728fe2839 SHA512 45f7322217d291b3905ffdc45cadd5a7a7baf440f9a82a5b5596192ed0ac54353a3ecae0326d5807aae99bc4d79e0406d71bd65745ec8d9f8815a7c9436d648c
+DIST clap-2.33.0.crate 196458 BLAKE2B 3bb62d817afc77b421a6282746b9b61367d224de6b614c7ed66bde452ce1046728077dab3368a46635b5c74d82ba3196586d87c0201478ce5b89638910dadb1a SHA512 f1075031414d48e4340bfe308904a95a31b72460724773c52a0bc8c004e625a04c904a39fc5420cb8c26a633321f9b5f4f69019c7aae5ed89900b63ed8c21a91
+DIST cpuid-0.1.0.crate 5473 BLAKE2B ff6536dd8fa1aeaf52b3ae28e5d0c3e0033383d7265eb91f376843516492e3f9d2c43bb6667538342158e6abb9c606b4e6129786d6cb48fe86f1c1effe005df2 SHA512 5b24b49acccaa393f351fca2a2cc7c5e5227e7e0f99680c109bff19377fa5822f37ad1561a33be25e34be654dd4f118ded974c7acc79608fe1efd8c19c4f8404
+DIST device_tree-1.1.0.crate 7049 BLAKE2B 11236d709c7d35d6482eed7ccf8ac82dfbb4412bcf2fec98fd2a806bcf8740c1d0b2745c39b5971f5292ad00887f423afc28a4c674cdf37511cd8615ff654cbd SHA512 b671b582d9f5dc19d8ff28d18fd2ed77842191084c6acbb41362491ea3c994699044fe0b0505f927ad9569d933806f8129a4eb49bf25443c0806ddcb6ffefad7
+DIST epoll-4.0.1.crate 8195 BLAKE2B 1ac732ade3c441a27832ef5f7cd75a4f80dcfbf42d195433a7bca91dcebd4f6a8ad0198daa3e3e12ef5ce50615dd85ef0d4cfe6670907ad0a65d55055b25da86 SHA512 b672091bc0b051c22a6217c37bf3986b2e173a1bf5d773590a1e181c9c0981baac656278f90aaa98f7a092e636e3bf68e5ea7a9edb6120cb90636f8db7e953d9
+DIST firecracker-0.18.0.tar.gz 4064752 BLAKE2B 6d58ca099f5f891966e7ccf25e5f22836e4066847891cbacab328fcbbb44c5c9010dc47223a626cedfd1c9443a754fbcf1b333378f6947299d7abb745944f471 SHA512 af599401a9323219b9d07d7a146c382c1a7521e6dabd10d6a4282dcbb8ea7742268b7999ab6aedcdadfb5d7f07efbd03feb20ab225f5711abcd45121f4c89f09
+DIST fuchsia-zircon-0.3.3.crate 22565 BLAKE2B a4dac3457036efab8f79fe5d5b4545e4091e994d3dc63188f71fafbcc28bf98ef359dcd20add30ac1d990ab2e66159723302fb66697349c65fab0aa58d54535e SHA512 a43ee59452d49742111e506d6bdd8b8399a3a646e08648e25292864d7f71460c1dd1f2d77b8efa8ed09ac21fa4ff0442a2709f16d8833a3849bde0c388d83a93
+DIST fuchsia-zircon-sys-0.3.3.crate 7191 BLAKE2B 530bb5d475ac828843af248c6bbd24ca3b5dd8118c8884ccc6d7261818cff1c79038077114ffa04bc73a078177527824c4d9d20a9b022e4057afee3330258cff SHA512 978b7e8795a5877a68409ed3a1d7b4246263f8e7e7ce9ba8a022643be98f58f329cc1c234717df80a509db849da4394f39e90a8e2a6f56f8fa8dd3c07e7d4386
+DIST futures-0.1.18.crate 153738 BLAKE2B df33639193cdfdf7c5ae7323e5798cc6decfdbfb3f1d819caf794e68411241f25cc05c5eae09a09a1df6f3fa8ac5de7fce5af4536108e5b530dd639c18860679 SHA512 5782b37be2bcd4c9d0ddfafba7718a48144c0f8533acbfd0217e1bf25c3c04ba95320b35765f57224cdfe0ee3a7748d1109d6e680e64bdb1a16addeac422b12e
+DIST futures-cpupool-0.1.8.crate 10583 BLAKE2B 5832359dc451551a3cb77e48b73054ec1505e28e04b2307af5d8e17a3be9e0552941deaaa94d477082b924daade1a2aeb15a0e095629e29ce983b0788a15251a SHA512 49d7a75e2e0a6a6d2103212a9ad9474119f4f33cf3748b605dfbb461ec822330115cada6bbf6457f2093f4af4cc04b4db63dbab8c0faa8b25ee31fea29f660e6
+DIST getrandom-0.1.11.crate 23699 BLAKE2B 9239fb86a5d43a95821d5a378ef291842ac11616ebaa131130dad0bcc5edc632d9786f10c3a15654255461f9f6b221c70854c498ea82f7da24eba9074d49bdae SHA512 ddafcf536d72607edb1587e562dfe8d25091fb073377fe5dca2babfb56e6391b920c98c695ad74d5d2aabf6b28d50a4a54c305b41303250d58e01c4da46f210d
+DIST getrandom_package-0.1.20.crate 883 BLAKE2B b72ca1dac1e8745b3a8b49423c73340b0876eb507ecefb619bdc47c48b1320c2f2653bea9f370c0988b3103ff543ac6c22f915b7c48ab108af15126f8187047d SHA512 6152ce07fabbbb3176484e38493dc1099ebe4a56b573361a92fb624f8bb784ecd8f16f8ecdef988699156aace636548c8300b205371a90fbf14379cb257b41ae
+DIST glob-0.2.11.crate 18065 BLAKE2B 8531890ce378023f0119baccd5c556f297128d3f09c07d320d5cdc3c90032447f2e5a4f2fad0097bd3c6faf93b83256b387d232b3c9f9d3c40e54c48245321eb SHA512 91a1a751bc4ed3b13154aa056180f2b8123c33627cbe972bdd7986fb0b6f1ef90e59abd4128d6e4db5e69523d757440c7df9b9721a61f5ea5a091ffc9843e10e
+DIST httparse-1.3.4.crate 23739 BLAKE2B 3abeb8bd0ca381ec3e7ef73ae51e1ff803583094d0cb12f5f4641fc4b8a312c3e1bf176a5d500a9770057fc9f9e925d437ce5173d99052d97439e773b70773c4 SHA512 97ff294eaf55684412d4e5a00c4077bd517fb1d51c420231281af09cc1dfa65a64adb4a18441db426db41cca91bd7032fbeb9fda02c1b0343466caa9dea8d457
+DIST hyper-0.11.16.crate 139464 BLAKE2B 4317ba59a217d40c56f145712394a1088a8ea2fd7f5aa1bea9314e9e4fdd7122526dbd0d1158b106646003d4ee83a2268605b6409a2257cc36eed7de0ce2efe7 SHA512 ce47fdc4b0e222ac17a03fbd1609fe692c77f70725a4f29782a7366391e0d8cd07ac085413ec27aed15b73c9b510ef67841dd6613a668ff42463dddd012f0d4b
+DIST iovec-0.1.2.crate 8565 BLAKE2B c1ff225d7e8cb8b7efc2be01763740c4f0c1188a5f1f27c5fd3fc34104b2280bee59915d71812756bfd36832fb807374d531792936ed8a7228d52ab98d622a50 SHA512 3e523bcb8b9891be66398f44c97933d246b7a7fbfc4f315bfda6cdb22ca2786ccc82139ee1b646b4c24f6f50f57fba38f9b1fb7c75e859722e9e9c789b458223
+DIST ipnetwork-0.14.0.crate 12580 BLAKE2B 125321fa04e08983d94f80efc5ccf449214a119557d32e3188d861802e50746a490af3645db06e730b6c4bc97e359d9c1923020c0b7316e5e0fd9e6c669b9ce0 SHA512 28f9a73dd68c967ab285f4cc832011cd66b8e91dae8cfcd7938471c55a2fbeeb78a52778481fd62c8af22d1138c8bba32fd815f7cc8663998b401f329a178d47
+DIST itoa-0.4.4.crate 11147 BLAKE2B bb6f1caf1e58dc313bd3cfa2cf81252cb2ebc15e1f4c9adfcdedf46c5fa79811d5b0cbd58f1e91d1f62bf85d7b941b0dba535814fb43b5b70a38db791b45717c SHA512 f5e04bd908457e7592243ce64a99c5283428b767f4cc17d77946770411b06fccb0250625263c3e84a02a018ea7e8a0e4216e1929a71988bab8e1dbf603d3801d
+DIST kernel-0.1.0.crate 153163 BLAKE2B 5c1635a16f69567ceaed92c028ef92bac0a07d7dba9c4a4997710fdfa881e906a4756744b978240b35ed2ddc1ddeb0e4be3b375693c12a49e2f27dd1255afc0d SHA512 75c9dd43b9f00dacbb9a3771be458721498ef77dd74db4f2e5f116c761767a007730f028d0d7a137efb35917b264134bfdedeafb90b96d50461d98b0f11a93c5
+DIST kernel32-sys-0.2.2.crate 24537 BLAKE2B dfc4a1e31d3ec9e2ac62b890839919fb7fed1444070c1dcd75bb75acfb53556d6cf2eddf5a6639e7852a3df2a0cc715c5ce1d3fc898ef16a1687020d98f715bc SHA512 682bc7c629aefd035966a2873518fd60719121cca7d63d89d6c97ff5306f24d8b5055a3c91b4eedaec22b1d5dd3fb8b48ff7341a05bbd72d86e06c422dab473b
+DIST kvm-bindings-0.1.1.crate 130642 BLAKE2B 254231126ca10cb8d743363f0c20d93d99318caa0aae3f9cc23f4cbe921489f33b96511bead2491b73863e75302ffb380e455d927ae96d5789001b1e6cb05efa SHA512 5dcc1162d8533d4f004268c3f3206db4f2b3b44c7ad50eb42da2ee549346c730563449b7c6cfd9a19dd4748b76c1173fd017be131dc8948032290a6a71d20b14
+DIST kvm-ioctls-0.2.0.crate 41480 BLAKE2B 7653c991502bac32e63b6d127523cde375dfa5da0780055a707fda8ec4166b40b0f8791b09dd7a626f77eab8de44762ea67a56a1ef7e984eafefa66fadf8f755 SHA512 59257755ded5584a759cf553ab9dbf2fdd9c4488377758883d3da5e3b1860c4a729d83ca407e78c1c4fdb420d2c033fefff090c601a64a45d338c8f79dcb70ce
+DIST language-tags-0.2.2.crate 12754 BLAKE2B ea59a130fa723b1537e451d5a51914391fc0d375d40df1d8b3ccda64819e918332e344585523d3ba61bb0394899fc1663cf7a452aafd4a7e694f8d70627f1bc1 SHA512 54a6c7d1bc985860c194c842d7b5ec731d0e06f9c77ead8cb0156bd34addd957d0bbf8b6a9dfc6bef5ea31e39f84ab447d1ccec3c178a6c18c4a222a51e1abc6
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.62.crate 433193 BLAKE2B cb6c3f6def6c33f0723ec3dcea2ec4b96f2a7a2e0bbe5ba0ed6a6cb69a43e64016bd05569c6d8e4701592a9d69f7b8a92213a25b5889f833f03bf2f7de9cf184 SHA512 93c178429a099606d4d61576d74204e87c042c4591b8472eb56eb3ddee883b135e28be09ff48e2718c4cdadbfc641e3a313665fe493d64b1820a7e6018f79d1e
+DIST log-0.3.9.crate 16686 BLAKE2B 543a8a2425c88bd3cf00d4cd2b4790ef344f9743b61776d65f1d8aaaa1ee1069933e33aec114a2dcaada5cf698bbd983fb22354aa50bca58b161a36b2f1efc47 SHA512 1d49a0dcff0a17c1238aba6a6cbc485a61986e8c4768805ded912c5014d0fba6ca38c9bd038f3f53900a6309d41fc0216682f137362e63715878195453d2de6f
+DIST log-0.4.8.crate 31297 BLAKE2B 31037fdc2fc94f4ab8a6e89a251b0bc29975027dc7efb7cc86a8e848dfc8e2ae50acdb177b7ba9f7c1f20ec01e50798f89abb772d67a33f1b060ac617cf9a8ab SHA512 0b71f97d5964134b5eea1332347e177806b2f171d0be5c410c0ff1539470b242ba9f0933fafd853e4171a43b5e373a150af18918924be431c7216022553a8a3b
+DIST logger-0.1.0.crate 7908 BLAKE2B ba678076c287e6c45106689220481ca04a620293398cecc2f73217095592dc0d30345b98df45722c91996cd75dfbd4b3bf6a1649cb7d4ae2434bdc78f3d5fdeb SHA512 a907cfc8a17197f7889a0b4b15880acb1eaf12b1fdb60d77bfe258c883c83b0644ab4d45381070921d3a2d5109a88d2ec7c1977f6952896097ea6daf6f638453
+DIST memchr-2.2.1.crate 20862 BLAKE2B 79c8b7772f6c4e76ef98e416cab1a87648fe1f78f77eb31a894a2b1611fcf2d8336e361ab3d692cd03579b33f6bc5adb20d42418475dac5441b8bf356e38e442 SHA512 0f5e11507a4235edaa8ef639753abf62f1c187c8c6e35b0c80c9306958e41893492d4995e28bf28e5710e8739c7e75bb75a515507ec87870741a3b426ba8f44d
+DIST mime-0.3.13.crate 14939 BLAKE2B e522741251fe764f685b5f240da3e32148e54bc0f94a2e234de477d792fb0652748410ae7e625a509706bf9ec635d2528fc14e5d58e576026d8706747fc68f8b SHA512 92805a4eaebb1f6146facf1edd0b9cc710731949141af6bfc2226edb7fbd749b04bd8a921e79c2f4a31b79d11053e36a4b7b9dba9be1405a1174a8600654e320
+DIST mio-0.6.19.crate 128192 BLAKE2B 26c821eef0aa49c80e4919d80a795971655b9726c24ce0a5b0716d89c0e254bfdf3a7d4e591ab70474dd9bdb92a48be9d74ff4d7beb3ae158accedcf780525cc SHA512 a6eeb93a34a4a4d486a821763cf660d6c5d3dcb08a7f1cd32a04d918d5196cd50cc29b30c5a97eeca68ab1cda50bf36a50c2c787e08ae3d2a2b9134350acd097
+DIST mio-uds-0.6.7.crate 14389 BLAKE2B b01fbe5ba2e2f58d2bc513ef577c70890ab0a556313dc8e980d4f51d4622be9180215e2e9655e3f02aced40823bdf69b94a8b63c6b2624e28cd24fb5dd89b0c4 SHA512 fe16c8702eef599c2379a2b72a0408970c3318e240d6ed59077c7fcae142bfcda4d9e342e3185338671b82719f7c2ab156bb28a54818a54c249216dbb0f8bb04
+DIST miow-0.2.1.crate 21133 BLAKE2B a60f04feb5bd98eaafe6123f7579ffb0287b0a3d1de0dbe1b504141d76dfbc247891eb6dd87753ce5d6e2ae0406387ccc8684a91980c5ef1ad6610c29ec9e3bc SHA512 b2639b1976274b7a01ec3ff7fd019087775e3bc5365101b24db480bf9c9b66e8a1aa34405d44db6c2be753265a5124054eb37870b84cae2c63fb6b36bd5c6d72
+DIST net2-0.2.33.crate 20936 BLAKE2B ddbc96e7cc4877b8a66d019e7e65a260379cce19c87bf507701ddf1b00208e7a321d34882282fa650a52f6b9d878605a6fc3be461fbb7e10182dda04a04e5806 SHA512 e522b399071daf1a9b913429e2eee52503d9604114feaf6987e97b85c128246b9137e3dcf03f45ca93d623ca6a4b295c9b703db4c319af47498e07d7714c07a9
+DIST num_cpus-1.10.1.crate 11151 BLAKE2B c1328d409d552c2323999a76ed5bed3382752c50091f68feae9b4cc56d28919a51672794122ba23d51a26e6241fe94d36a0a6c843e460ef9c36b734fe474fcc5 SHA512 f1f7408dc1cfe7c718928d8e3e219e3001ce4207467a0a129546f2729ba43a7bf334cd5d328a7f8f8b1c276382c8a0f9d7abf60a3ae2c32f4adafa96c6ea62cd
+DIST percent-encoding-1.0.1.crate 10057 BLAKE2B 6dbfea557cb7a604a99b6fa694ed24b1555fec34bfed54503d98fa4b285a91aab1405b7156bd00be0001b10bf15706878b7bfb4f73cc34560166e0e8f004d944 SHA512 6e884d7172e8cadcf6e39056c9f92b70252f56a8062af0e792179dcf990344f47553c04e2fce84841f20f5c28557d7768727f60c862b9876d29cabffd4ad19e9
+DIST pnet-0.22.0.crate 24740 BLAKE2B eb99d7de9f5952d89f0ede4d66666384cc2f6e914322a25ece97bf4ac8d794ad1adc21114c1b52e86e3e9637ed13a71363c923c5f5d75656ebf0c410569bd314 SHA512 8d708deb7c22ec45852be5e750c1561a3160bb379968fc2efa409f1bbb75eab6647b9fea870b42fdfbb61d450eb40bc482db4d366d531111adf18c6fadf94bca
+DIST pnet_base-0.22.0.crate 3941 BLAKE2B 142d69ac42371e59202a75f9944c026bfdf64436a68048925a04da612d60246259c6331823d4a1f9fa765c0a195bec9bc8b2da6e5acb33b4f2d1e5cbaf097de6 SHA512 d69a46da5f2e5873c7d5f752b0872f4cd2d1ce7967bdb3c21f6a3add001981cd689c453c8cda252c204df5f6c72f6335fe6e9d1eb6602031d089586072aa5ec6
+DIST pnet_datalink-0.22.0.crate 20961 BLAKE2B 0932fb341ab481184a73d0268634be9c7c4095c5c39910ef1b69e3c9d02e9fef0e6f364c353ce975ad0b85f7d72e3144740e684ee37a8f63d14c9b5c3160d48f SHA512 225232ac029cff051c63fcd485966e83fcc5bf3c1adfd9e5a91cfa7f3bdfcb9d0ae7af4302e755a0fbe9d0f7b0d149dcc4ce802d18a4921e89cb7aeaa71e3320
+DIST pnet_macros-0.22.0.crate 22531 BLAKE2B 9ffdafa6d0ef7c36b7f85494c28233a5bb29537647f2f96bd6d00ed38ba0cef0d67133d5e9ef4393ec74e9acfc74a067873a79227734e8d5c38c95d2d69d6878 SHA512 7bc6b638b79a75dad13f5ac4679ab5f90935c3c97ce083c5ba1eb5640e3d0bb69309f2c3c9ab1960ce4bb747317a36ab7d84fdc8af9aab7f2f856a8f976b97c2
+DIST pnet_macros_support-0.22.0.crate 4467 BLAKE2B a8cda3e4d91a52804f68779fd325e182d1721b26a0634fe52ef13d002634f45efad73080ec9b3af386153bca3aee200df257046abc710d3a87a5ff5968feefdd SHA512 2c0db253a1c00b5561a90bb88addd44ecc34772bc8802d843b9f921e939203fe2600295df3c0cfb37f5c66fa387734c714187dcc0e20e03f5de32a7ce6db0f21
+DIST pnet_packet-0.22.0.crate 24240 BLAKE2B d914322bad25fd73816020329f980325162a603bc4ee3c9fcaedd7e88a24190b5857766ccff3360970fd26509e02e52a109cb4ebe25c77ab9ba16ef92c0624f1 SHA512 1e1a95f3aac830159a25df1367fd64e65d7679fc7ab95f4674ae8a0a8ab4a44c75974ed2d3f171180d775e795ce9041f2402993e93ba41a0c0e895dccfb5cecf
+DIST pnet_sys-0.22.0.crate 3753 BLAKE2B c1e10c319d9bfc4152b8a2dc67d47afaf1609070f25ab0aa84ceb6b64ef99a1714c528eebe0e2bb75fe54b4bec1d779df1daabf5b7a0ac21342b86c368a9e3a8 SHA512 b1a9a1b708c98fff9cc52b5318d7beda08a3784a7a29b26d0752effd237ef6b82b3a05a848dff603c19952c4730c88bb232245f9bc31e9d1052b3b24186756cc
+DIST pnet_transport-0.22.0.crate 4549 BLAKE2B 38332a8d8e7e25a5ae43aef08980d85b5b897b07c79af144c6a04b274f0010c5117955c821c7ca10bfd2224e68fc5bc3374c81f52f66727e78ae8e06e115fa38 SHA512 7cc764f5ba037e209cf4976bc50f522f6e66f97996eb5ec60a7692ebb31adc17d725eddfcd0f819fea33dcb5c56b4572af6252d6f1cb4b0d77cd78b709e2070e
+DIST ppv-lite86-0.2.5.crate 20606 BLAKE2B aeded44b0a0fc59073d358b565c6241ce537a29967fe8f95eadc4cce420752e619023b0f813d1f157756dabc640351de61e7da9bd030c91a14b70d34e300a217 SHA512 281ea3479c4a8996aac643b707e75ca0a079681b1f182a074de0d9989ff9f1df6922cb8e4152af76025ebb4c2d00e6889aecc2a4f0fa66531eceb732aef62243
+DIST proc-macro2-1.0.2.crate 34779 BLAKE2B c99119a8c2158712f16524c568a03d60f0f4a72f79ea310c823c7bbf809f91f5836f4bc3388e2add1e202207fa91c24b64be438c7ee6d0eb0f27175b739382f8 SHA512 012ef53dd8f5abffa10490c95197bd0d303c681fe0da54adee75a9328a194cf827acaddc286b2237a6665a0bf9dd4c94250bce7919994412185c9de3828f733c
+DIST quote-1.0.2.crate 23023 BLAKE2B 4091809b4fc9b8d0b56be814b127d6ffd7c1507becba85dc905606cbe85f46233dc4b429c1e865e7c7de336cb936d956169ceb5dd45b489b7722022ccf818a3a SHA512 67778dff9dc5c4edcdd6454b74ad9353bb6c0c4e51c16cb82f2e393a7d7a0cde084d3c93279b718a8398c40af0a9377ebfae5321e69e635efd8390c125b75ce4
+DIST rand-0.7.0.crate 104208 BLAKE2B 61e0f8ba3a3be58fd43df55feae3bd571a2c758e6e36f7ffcb42af1ced067338b6baf9b9d3b097c3d9037a440ca961aec87267fa5147e59c1e34f3a8210e2a95 SHA512 20c82ed8edf0bd203ac6f04f746b80abf5ad5716b307cd76fda399f26519ccc3b757f390058e7d8826508ed8a2b524c49ebad56a79fa77416b386f2b9a854352
+DIST rand_chacha-0.2.1.crate 11475 BLAKE2B 698f830845e24b85fe52b11e9a1c621dcdbe4232bc22f3dc0b1d2fcd4427045f302f74134d9b451fc5b4f9ac559fb2bc06f3d0eec5eddb6fd6cf3e6d3030855e SHA512 30933fdb94ca8d4bf040a7e08a42944a0d7c2f3f6a9a3d547e74bc32f922b0eb79d85afb1f6c85c78dc115170e70bdf96b36f0478d61ba5651876d5350ad18f6
+DIST rand_core-0.5.1.crate 21116 BLAKE2B e74791f941a79971f2741172d489d546373c9abcb0dfbffcb7b97b858ec800b2e0c97df4ac636f3aa1b8dd6c14685edf317336d577f31b5c6cb7d89a157e547a SHA512 4f7500b35e165e6c817fdd67a50745d5497d24e554bb554705097e37258751e8755c4d6b8a69fcb5e1977708ba78620bc35d640e4e018fcd4e88d9dbdbebdcbf
+DIST rand_hc-0.2.0.crate 11670 BLAKE2B 55fd048f2524cecd4f0e17927a81111e3070a8cc6a5b0234a46445400ad5527194edf8c91fb5ad6538f4958d53044ab02424f61a38adb2931e2cb7568c458ee8 SHA512 bca185612bed5cee4da76fb68fe854105da276f5bf2da464e596d586b925df798cc692ed881e276ab77c36b4b0551930966c93656be122ad05899d87853533b0
+DIST redox_syscall-0.1.56.crate 17117 BLAKE2B 57b1b01ef3cbc6f55def6c9a0dcde16bd98e83badcef993e26ae3ce849abcd1b1c10f4da931c605970d77f92471734764a537e7329291a221343fde23f3591eb SHA512 17a3044327aa733c830dd74e210d6bda32622617d1c5af9d70d7647232d8569ad0b04ccb14042cbabb5d97ad98e3f1f5a9968a75387354ffb4d175e9577115a1
+DIST regex-1.0.6.crate 239455 BLAKE2B 0e81b18a220c6e81fb9185391f15faba2451b0fdebc7facc06a3ea76534ae32a76a6c573a686a72c62b30399939529fde08e6c33c4fe0d126df9cf5e11204456 SHA512 4779fe3896c131b418b07ec2622888b2b8dc64172744e6ff91c46a957646c796c46fcc5b1c37b5349f0c7a5adccee2e7af1e07121dfd2b59976bd0fde5b60bb4
+DIST regex-syntax-0.6.11.crate 283238 BLAKE2B 37a535b47f90449f6d41d1a5a3de69ff21e74fd5268961ff9f7cffd620080fbb212a1bd315db9b25b20aaaaa4ecd4b1afbb88a45a96b7e23d4b9e4742c081aec SHA512 619e1118aaaab60dcfc653cdae8fe2a8dcf49f2b06e718710f30179b4c95f1e31c04b2289f1d05d0c88b1996a3d8a327180ccf13bbd1d0259a70af7c7f449651
+DIST relay-0.1.1.crate 7331 BLAKE2B ca5d025d76f85b05a8453e264045871a5d552632db7f8bc61428798bd5b539ad27eec191ac153addbc86c77ec771df6058ad84d29395ddfc39558c416d8d9d91 SHA512 81b2aa587529ebf364d4b1a566acfd867623a33d32fe20c94551dc248ef28950de61094d7e1acfca618205c731cb3cb955bc8106d9a4c5c7c84f9c38b35b2261
+DIST remove_dir_all-0.5.2.crate 8907 BLAKE2B 585f49f83db3ace90dd0b4fc77aab7525844194c82d36cc33ab8999aaa6226d24a130c30f55e2c46a08273cc554d9d4c8bc51958aa7dbf1045085b2e22639e4e SHA512 d19a45398a93adbcef9f233f6b3eaf4a63ae95f5bbae00c880b40c5edd34449e7f798ebcd4d11843c68ddfa15e11bed21d434b224e4a175dcb64ae011c13c8cd
+DIST rust-libcore-0.0.3.crate 4988 BLAKE2B 0d0e663d70a73afbd13f07bfe1072f76243561570ada2ee548f2811665326d530a02ed99dcaf047212efea6e451c49273d6795b56793d409a5eb5e09bb9d4616 SHA512 67c83402776606e5266c6cbba5eeb8e506a0aa8c6f5b5b310e3b289af453bdba80d32bf517a0d626405263622460fbedadbe7934836f6a0e51502d0957002db3
+DIST rustc-demangle-0.1.16.crate 19137 BLAKE2B 04226ff97786b81c90130b48cf6542ea448661af9ea7afed179e71d04abf52cfd3c53fab26d4d35bdf2c1d5a735882da7703527aa48ba7b77f337599c2324150 SHA512 36a63a28a72c710d08524adbb7d11def37db23fe123fb6ea848623b4207c7f80d8415bbbe951488ceccfb8f4f1cdb66a8edfc4c0eecdaa62c87df9e032f4c063
+DIST rustc-serialize-0.3.24.crate 45926 BLAKE2B 11dee8dac7eb007067ee0eb19d122bf45d912e6cefa95fd5ae3db7a4585a3f37e66b123c8c7bb761cc451b402cb9191dd5c974618331bb9aa9efbe9215115abc SHA512 60b40a0b41678287627cf5898e0ff6ac5668865f1ce5a482190ecd7539b59a955a73c675fedac76e68a5126efb92ff0cf1d1b4f24359a932463434bb76d9e884
+DIST ryu-1.0.0.crate 40170 BLAKE2B 5938a70fe991ac71974a38172acff9e559ec457aa12775ac53305742696a7ccf8f4619734b1d7b0e2db01b548ef2945aaebca605c186dd0b599f47dfb3fbf536 SHA512 b5dd360611fdf76ff13d377c1c79ce09a4fab90a8b7fc917a4424b8246c8a0da7d3ec515b8c69b695d936b1207072d173b9f40fd5cb218f1eab947862112caf0
+DIST safemem-0.3.2.crate 6858 BLAKE2B f5a1b44da1289775e380b109bd458b7bbb17cc04ed718434cf05fbb7d75387c70b51c5d8f9078aebeae7e98d1873b972a70d65a345f632f42f5c67cbe9a421c0 SHA512 6d886d8b96ada623436586ebbbb84d9eea34329bab3164d915a47e3e4de00b724928c6dc224c88541aeb0715de633d129949e7bcedcc2393b348a2692451ddda
+DIST scoped-tls-0.1.2.crate 9079 BLAKE2B 35e15480e05c48d5b886bf94f2fc58f79e7b5f6132c8e81ca8f37140f58d21e8a30dab56de35cc395b1878083f9e7b187af7e580bc61f8f38975b2e1193abb57 SHA512 9e1a517994f06dcdafa05f3ebe67958ed5bc751e6180cff6c891f48fbc143f3279aa841e6109be2c403b492162bdd90b23cf74aeb2154a34748c5d495789fd73
+DIST seccomp-0.1.0.crate 2750 BLAKE2B cac2a5b20e640d94474f4c3db5f6102f0c45a8211080e2cc806828d1c20220d847c8bd4cf770543be56a36de4f0486725241c63215e041d2a0c35b6523eead3a SHA512 a13d27ac138e6c9fe83d25f94dcf23ec5a2a326504290bc20efc379b05d24ea5dde06a371af7e52c62fec81b0c8dd26ffb3c0a0baa3b701ccfa4f09019c6e1c8
+DIST serde-1.0.99.crate 72436 BLAKE2B 564e206ea5363898300af959efda372115de54812553853679af173fa91562562f1508d4cb570d801ea657af3aabcf8c3bdb40b762d6dc1e6a24c4a02cb09021 SHA512 9e6e55fd38777ef238d7b6c0f9f74da1e0cdc204e4735f70e6644d81e615d90c5b245bb8f2edb88751d126b3d1ca3c1e9f6922dddb645b9a1bb40bb4a8c11a0d
+DIST serde_derive-1.0.99.crate 49786 BLAKE2B 1a8502b8c22053c54cae207dd283402a85a7eec630883de36df85d46bed4519d04c3b82baf660d4863324a3db9875ae62b9486383596487e9648533e05e685d2 SHA512 6b1b17207fb1e593bafc1162d84c6ced08e799aca9c07c32c399fb3c78662fab920ee35e99ea9462b21515b7c3d35e4e2a457cc0577dada51138f5e8a905dd9e
+DIST serde_json-1.0.40.crate 69695 BLAKE2B ad156577b557ffffac9a7f75e6e0f6f6b86c82e33db1e674fd00dffd6f9c33a13f838f062a4bb39ab9dfac63199717f96bbbd53e107ce8231aa88665fd7a2eda SHA512 d09bc95c963f510686106d9885f3420b9eabba8bf32626597dafd43ffbe91ea72ee4a3fedfca922794a727214d73929970acced8eccaa23616cde33dfde9f842
+DIST slab-0.4.2.crate 10136 BLAKE2B e30cad459bbbb69c4b56a573c47f4188714e0da298d87015c35a86c9315dc2d4308f27d7758846069b0cf94c93f10c44b0f8895427cdf1c93ae20adbb21b5977 SHA512 f9fd70d0cc5180393cebbe87fe984de0c103db1c2c2648fb7a0ee22cdabf37a7338fd511538f00e9a5564365cce2879afe19bf77c435870197bd6cafef5d6661
+DIST syn-1.0.5.crate 190286 BLAKE2B 7d5c813bb4cebbc104978181532a050b0a7f79963a539d69a253ebdb15a83c275a5d5b04dfbb66a426afec2c90a450ed7be595619a2b5a31b0725d904f5adb92 SHA512 4cc18966040b1f86916876aa5ad8029a126f7ab8db55408b3f4bc343dd82dc357899dd4a7afc514c65fd269245f8850f8f2834b08bc2ee6cf6774282f75feadc
+DIST syntex-0.42.2.crate 3173 BLAKE2B 40624fa9370cf2c5ef02c28fb158b34926c22942ace0855d284a2c8b0ebc968492b67440eb010df10fc3fc06ed01c894b2f5ac87456ef2b7cce933cff22f1764 SHA512 b03cf0edc5367e31215e187d5ab32b76d1e909e47a34b0b9f58fe620681b7d55eed0689eb6b6c9b7312bb791d03995ce60b7daa1035df87959aa2d3117aa82c1
+DIST syntex_errors-0.42.0.crate 14621 BLAKE2B b0a5e6c75f41b1967e980d0e3d06ea8ff13bc2da34496195ea429dfa8697abd676015039fccb8a182330eb7813c91ddb0d778184dd45bae205bda6a3dc6179ec SHA512 4e821e947190a2c5888ad73e6d1c40eee0821f8cc86f6adf404a033bb2429b772873d6a0a86f3eef323b2607e4a059addaa26eac66b4d0c4a14cdd8d64b03667
+DIST syntex_pos-0.42.0.crate 6727 BLAKE2B 2af3c7f8617483ab8289f380ee09155c21eb84b840edb9d442c53f2fd3c29c1ffc3565a182afef732713b3353e47e648c27f3ad71dad8c8d565642be32442de1 SHA512 64eae847e30b23f210b4dea68291094fbd29b3747539bda7c9b69d41d5a49a36a779c8a1d244be931fa317786129fa6c8a197b319bef14149541a447698fc77e
+DIST syntex_syntax-0.42.0.crate 256508 BLAKE2B 7717a5da3feb313fba7651eea9ccecddfce24671908cbada516bc5aa9184d80c22e08f119600e568f6358e7be8a5894e627dad117aa9c1932d8d522ac7c8f2fc SHA512 db2e1b2d90d91e5f695d0b65f06ef9cc64d51c23bd1907c1e5b3516cc38c33b471e5bc75f02426caca58d1dc8827fb5f9adcc21fb344005878d54c4d7e925ebf
+DIST sys_util-0.1.0.crate 50265 BLAKE2B 4c10ec916bcf9e211de2efe42ccdaade08091d84b26b3a135054e44052749dd7befa77dc604a35407a048a5f398e735fcf2a470c558d5671451711cf0eed1332 SHA512 17f587a891063e00ab69d0fdab3d19f2af6f5566d71ab32f56a093ddc941a1ef68a07c5d9f135a65eda7d74689c2daa5bb7798fd1a1bfa22ae064536509f29b4
+DIST tempfile-3.1.0.crate 25823 BLAKE2B a34721369923771d5f9a2fc64adaff2bff41da97a0ce79e01aaedb8d6670867220c671c0d23f7a8a9c71b09c0559efe4e7c9bab1f7f9d890866be1de1ce050a9 SHA512 a87ee51c36a81a8a8eb8f091eb57926682f38b707f7f641332d8752170e6c139a656ae49c6861f51e07c2fab5c86cc9b2ac158f5d89c6bff15d18934dd4e7ba5
+DIST term-0.4.6.crate 38250 BLAKE2B e4509c0754dc87e6048fdeb42f9d0e6e2c888c5e43fa3aed451ad21a88a399179a1f9935532f6483c3ec374b4676066125f2de35aa2805b1ed1908f45722cd82 SHA512 b88d9a93082521d12071148b98fc236ceba43d7a13bbaf5da679ca03ea9a6a95e38a14ea72e71fe108a5fc6deba1c8c8b25afe5abb511d19965f5e219e7c1cf1
+DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
+DIST thread_local-0.3.6.crate 12388 BLAKE2B 290c35e5327e80a5cdca5609252b1efd1b78a654fc9ab4ba68eeaa3c2769d844f725d17d91cbb15048dbaac84913c51edcb39bb402882c9e7b4d0c4e4811518d SHA512 cd783d3d9caec43868da1f6118d4c4d520e03b9f1049d8f15d2c12482989401d3aee748e04a149953d35e5d6487355c2891d44569ef688bc1d45f01b6461d253
+DIST time-0.1.42.crate 30005 BLAKE2B 6d85ae2e56612b5c6955921b671ac62ad10c174fa9fd382e2d76018fc2789253836397b980f8e6d0db4f1b19da244c64d3bffb4fa6c25ac0b66e7ba9876590d4 SHA512 4df662212377093b0fd8fcd88ddc30b20a8af7d989c2e100c0cf64f9741e88eea6e858e1aa4220be6b76b0cf8b62c8116b492010d74d1ebef197c66aa130aa83
+DIST timerfd-1.0.0.crate 5535 BLAKE2B 0b961061d55987361915036fb36b65fc4413bb69bc67937b20d6c9658ccda2ea916876ff23e1ecf0d2b4ae1d7eae7cd4a5368f3892aba48748c62eef4a16ecde SHA512 aebf8d04e4fc2b569ff56aa556864505ea71e674bda8fe209eaa4cdbac32e9540030ba308c3bb285323ce49ca5130f45cb2eade19345ab4029adb753396f7430
+DIST tokio-core-0.1.12.crate 75654 BLAKE2B 5def63ba5b22aaa5ee0cf094365a0aa652b104c5970c55bc3ec777d44e4d4d313d0a1c6861d0a3da251c082f98649bfbb367035dd5a83cd318e15f0b1a6a40b3 SHA512 1ca199ec3640906e0ca42414c12212d00c4c42ef690225f3449d35e81a22e39008ec03a3b7a5762d6f84fb8d64bf07bdc2182ca3defb8a77342e732d6a4a025b
+DIST tokio-io-0.1.5.crate 33064 BLAKE2B d519c56dd896e25fe8134a0e57682c148a78215b46cae08b4b0bae1f36a11f66c0c69605d11259f5ea2c0783cd45ec66a1fd205f79f2ae2b34c83db3aa6b3f6a SHA512 702e9caab81c7a22717b77dd6931d76fa5a1d9d447ee88ebd0beea8cdac1fd75b84c93f3924903cda9e9d30e53e2e729b080261c4a8e0bd234308202567f343f
+DIST tokio-service-0.1.0.crate 8376 BLAKE2B bb2193af371d14c19a7f79760d4544bc5ebcba46d38d9b2836e46b6041c4b0c68f7902af51dcd3c83970084f271b1f29591b1fa461b854cb1bcc46b4db2c4d4c SHA512 a22b5a33fc957abeb8556ad1f01c6574a855b24053f7bf1ec23376df42b1e83f2fa0a538828742f24f586456e0e1314abe74ca3ac62d364f905b74c2e45903c8
+DIST tokio-uds-0.1.7.crate 15094 BLAKE2B 82b9eb1726c3f5c6c52e70c40be42618bf0bb42eb61f045999af04809d98a40afb64f9e0b31097c6d6ade4d7a2239d72f28462a126a204b4a8c318c341374c50 SHA512 2d21490ceef08554e5633d602ba1c15751a9e36d3a51b58358bb99ee117de1cb029b262ec0174545ef5c88f7cf2e54823c678715e8b83ca91e6491213eeeb9eb
+DIST unicase-2.4.0.crate 20143 BLAKE2B c579faae980fc52693a229c2ca1fca62647b8dbd1566f58ed50726e3e31db238fb33da168527630c4e55a786e595ce62aaa0d0d0cdbff46d53b628d96b8d00eb SHA512 d4b7d0e217a8a9180cd01cbce4d1e2bc80a9dbeee735954968c0372c9679f4f84b73294952947890340f20f4f9158b70ec2c13adc11b1f0cb53aa893755cff22
+DIST unicode-width-0.1.6.crate 16394 BLAKE2B 8a4bd3dbe264635cbfe42c131f20a0e8f32989211434fbcc085abeb8b7fac841908e99c6130d626af363edf9b07fb82f6ddbc494812273521941d553980142c9 SHA512 d6c2e5a99ea359d866393a6b00e0e21e5d80e4e665e457c0f2f0bbebda53afeab75b1d9b6b79102339ee621bac5050e7d41621703a8fd9ffe1e74a5a4301aa05
+DIST unicode-xid-0.0.3.crate 15998 BLAKE2B 2e112dbd311399836dd12ee37bbe7b9d83ed6fba89549784f1bf2ca9479b3e3cedd1bc2b15bf5e21b0cdb30fd3b88b973aadf37cb634024316ac33fc77d98d11 SHA512 268c1f3ec79ed2255c4e3759e4526b4892cb04f54ced07afbfff0ff8dcdec953e5b540fcb58b30bfec01b6401b58ef3b21320a0c1bf3a43aec22f0715568dcc5
+DIST unicode-xid-0.2.0.crate 14994 BLAKE2B e66b4255798f0ef1c81fb852613fee396a042d780d2158a171dbb5e7dedad0b3d2522f5401ae5d215f89ab8be4f5c371b046e4845693a65554c2a6eedc5d1e28 SHA512 590f727d8d8354023062ae5fe7ac5bed1bcf79d86b883effd7f33b3ea3b1c8922998a63d621ca6962a969e890fa6edd009871f21cd57b1969264f41ba3f78359
+DIST utf8-ranges-1.0.4.crate 8575 BLAKE2B 686bfd854cdcb7510b07751630089f4f0cb0884017792288a63a4a8fa00e6cf1a10b38c39142e57d5b4d1f494c95f3445f343f1b34fc1883dbacfd708d8c13b6 SHA512 acd7008c92ed23cc0ad3fbacecfba2169781687c6aaa475ef5388fe416391cd209218a2cb19b9d4fc87a2a616f1dd67129d39978fe1b58be134a013f90cd53d4
+DIST version_check-0.1.5.crate 8173 BLAKE2B c1778a95fbc79e93bc25d6ee85c408cbcc2afc1a2317bd96b6d5e1c99862f26cc031e0a8b14451d7ea5a44d96c9b599c899bcebda36d3974effc51f9c236ca56 SHA512 cd3ca0b36108b0fe8e6a5c26614b4f3e3c36ffd13cd9eeb7693086b4a1f7b67c025613d90e79f4dd1bd3234a3e387b2ee890c6c410fe67d293b9b5503f5e9362
+DIST wasi-0.5.0.crate 31104 BLAKE2B 91bf384f8f9abbdd4f75d0690056568792b7aa6a16834b73e8a5fca98d12b008f2be8101cb4e55864d2e057ba8d169010785f2acd395b69d894f8c32a62ee1ea SHA512 3996da04af8d178a6a7a2129de59ca62e51e9ff0c4dc99000919489f258598c2d6c6264736588b711df22679e8aca103fcc9e13f5a429b33bb4a28f7b909c79e
+DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe
+DIST winapi-0.3.8.crate 1128308 BLAKE2B e0e8ef6121f222b0500525192ebb69b26b71cc16f9ba92186f8ad6acc9de4cb8cc7c738f9c31f5bd223d2e34c93c496e8448c973d69797776004670c70abf69c SHA512 5a899ee5f09f30d742b8b8eba78da05cd9f4c664408fdeb9370373f8756a962a23e3f1c07619e745b3270138606c9a369076c02c3f5353f657df09d203d9a736
+DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST ws2_32-sys-0.2.1.crate 4697 BLAKE2B 52a7a3f57bcd73156730ada4d78fe12a54a498c9064e0928e09de13a95bd9237f884538e5f9368b47a7ac3c425f0f798c26bad85f20bed4ea26c2fa16c779b97 SHA512 18356861fc595efe7d0180afb8ce7649da35a4f9ba456271d2068679ab258a861af32a2e016e241fbfbf5f6ef0eb33127b26eabfc11428af39506538faa4821f
diff --git a/app-emulation/firecracker/firecracker-0.18.0.ebuild b/app-emulation/firecracker/firecracker-0.18.0.ebuild
new file mode 100644
index 000000000000..d8166ac49973
--- /dev/null
+++ b/app-emulation/firecracker/firecracker-0.18.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CRATES="
+aho-corasick-0.6.10
+backtrace-0.3.35
+backtrace-sys-0.1.31
+base64-0.9.3
+bitflags-0.5.0
+bitflags-1.1.0
+byteorder-1.2.1
+bytes-0.4.12
+c2-chacha-0.2.2
+cc-1.0.41
+cfg-if-0.1.9
+clap-2.33.0
+cpuid-0.1.0
+device_tree-1.1.0
+epoll-4.0.1
+fuchsia-zircon-0.3.3
+fuchsia-zircon-sys-0.3.3
+futures-0.1.18
+futures-cpupool-0.1.8
+getrandom-0.1.11
+getrandom_package-0.1.20
+glob-0.2.11
+httparse-1.3.4
+hyper-0.11.16
+iovec-0.1.2
+ipnetwork-0.14.0
+itoa-0.4.4
+kernel-0.1.0
+kernel32-sys-0.2.2
+kvm-bindings-0.1.1
+kvm-ioctls-0.2.0
+language-tags-0.2.2
+lazy_static-1.4.0
+libc-0.2.62
+log-0.3.9
+log-0.4.8
+logger-0.1.0
+memchr-2.2.1
+mime-0.3.13
+mio-0.6.19
+mio-uds-0.6.7
+miow-0.2.1
+net2-0.2.33
+num_cpus-1.10.1
+percent-encoding-1.0.1
+pnet-0.22.0
+pnet_base-0.22.0
+pnet_datalink-0.22.0
+pnet_macros-0.22.0
+pnet_macros_support-0.22.0
+pnet_packet-0.22.0
+pnet_sys-0.22.0
+pnet_transport-0.22.0
+ppv-lite86-0.2.5
+proc-macro2-1.0.2
+quote-1.0.2
+rand-0.7.0
+rand_chacha-0.2.1
+rand_core-0.5.1
+rand_hc-0.2.0
+redox_syscall-0.1.56
+regex-1.0.6
+regex-syntax-0.6.11
+relay-0.1.1
+remove_dir_all-0.5.2
+rustc-demangle-0.1.16
+rustc-serialize-0.3.24
+ryu-1.0.0
+safemem-0.3.2
+scoped-tls-0.1.2
+seccomp-0.1.0
+serde-1.0.99
+serde_derive-1.0.99
+serde_json-1.0.40
+slab-0.4.2
+syn-1.0.5
+syntex-0.42.2
+syntex_errors-0.42.0
+syntex_pos-0.42.0
+syntex_syntax-0.42.0
+sys_util-0.1.0
+tempfile-3.1.0
+term-0.4.6
+textwrap-0.11.0
+thread_local-0.3.6
+time-0.1.42
+timerfd-1.0.0
+tokio-core-0.1.12
+tokio-io-0.1.5
+tokio-service-0.1.0
+tokio-uds-0.1.7
+unicase-2.4.0
+unicode-width-0.1.6
+unicode-xid-0.0.3
+unicode-xid-0.2.0
+utf8-ranges-1.0.4
+version_check-0.1.5
+wasi-0.5.0
+ws2_32-sys-0.2.1
+winapi-0.2.8
+winapi-0.3.8
+winapi-build-0.1.1
+winapi-i686-pc-windows-gnu-0.4.0
+winapi-x86_64-pc-windows-gnu-0.4.0
+ws2_32-sys-0.2.1
+rust-libcore-0.0.3
+"
+
+inherit cargo linux-info toolchain-funcs
+
+DESCRIPTION="Secure and fast microVMs for serverless computing"
+HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
+SRC_URI="https://github.com/firecracker-microvm/firecracker/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="test"
+
+BDEPEND="acct-group/kvm"
+
+set_target_arch() {
+ case "$(tc-arch)" in
+ amd64) target_arch=x86_64 ;;
+ x86) target_arch=i686 ;;
+ esac
+}
+
+pkg_setup() {
+
+ if ! linux_config_exists; then
+ eerror "Unable to check your kernel for KVM support"
+ else
+ CONFIG_CHECK+=" ~KVM_AMD" || \
+ CONFIG_CHECK+=" ~KVM_INTEL"
+ ERROR_KVM="${P} requires KVM in-kernel support."
+ fi
+}
+
+src_compile() {
+ local target_arch
+ set_target_arch
+ cargo_src_compile --target ${target_arch}-unknown-linux-gnu
+}
diff --git a/app-admin/webmin/metadata.xml b/app-emulation/firecracker/metadata.xml
similarity index 56%
rename from app-admin/webmin/metadata.xml
rename to app-emulation/firecracker/metadata.xml
index e12b2ca96ebf..6698a4ab7883 100644
--- a/app-admin/webmin/metadata.xml
+++ b/app-emulation/firecracker/metadata.xml
@@ -1,8 +1,8 @@
-
-
- webadmin
-
+
+ zlogene@gentoo.org
+ Mikle Kolyada
+
diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest
index 6c9718655ca4..c83edfeabc5c 100644
--- a/app-emulation/free42/Manifest
+++ b/app-emulation/free42/Manifest
@@ -1,5 +1,3 @@
DIST free42-nologo-2.0.20.tgz 7390214 BLAKE2B 306f3378bcbb44fa7982c5d9c29bfbea62e915ca50ca5e5216f46fbf483f110a1288d4800991a74622a042517496ff8dd94c3fa3249e8bb4181957e6b23d5ea3 SHA512 9b540fbc50df2f94b135b5e778354f330df77a54ef2ad99b257b5b91d1e3e8d1241e8a834522fc46fe33571ea2695ad8889b427dbcf653870672e89cd56d60f5
-DIST free42-nologo-2.2.1.tgz 7398286 BLAKE2B 041c9672305b712efab8e7d5eb73bc0bd159b5fd61e9ecf39d5ce691aff045be4a6a4c635c0948e610e51832db64b388bdd001eb57aad41724e27dff4cf95a0a SHA512 2ed735ff161ea14ca5be97131b69065410faa699ed05d3eb94abbb9653c694d83fc4e45ea2bcf0c2a7894f89e731ee7839105dc1d58d6a6326047c9bd55da5d7
-DIST free42-nologo-2.4.2.tgz 7403471 BLAKE2B a2dba75bbdb8ceaee2f11dbc053ce50d71e0b5f46165fb61c6d3441326dc43b2afcdc2b99cbb638bbc59e19c5da948ce748b76ff4c612d5ed44e706583b159fb SHA512 046a42aebf1b4220acb9227dc365c26349b7a69c39d765b5ab59c83d9fc644055324c6288aaf87e6f9265310b5969335bc8be7035a84935fd7dda29bd9caf5a7
-DIST free42-nologo-2.4.tgz 7402688 BLAKE2B 5e1a46977a3e385fc44f09b5e0088cf73f4a67c3657110311e95795a5b7beb2583dc56bee14e0f578f6ee3517acc78b311b2da0e1671c38d7a5bb150c1e30197 SHA512 a74efd40a952892f346bb4c4096b6e0c00c337e782696de1064d626ea1bbc8aa5a9b557ad233ac92bd27ce8fe4202837e72eddf8f0b31c9320e8c150c6c0b408
DIST free42-nologo-2.5.3.tgz 7406566 BLAKE2B a8fcad4738b46e5725e323eb7c16929c32fe0c72eccadf2f692950a3ee952f3b8f7e1e46d6e4eee4e822ca5a3b2c42adb09e2b43f0480c954aef87dc81b1edd3 SHA512 9a96bc5453f938ba806117ac3162db4f87d3584662c8a1aae370f17a06c1e92167adb2c2bb9bbd17b91473f272f8c031c7ffc1944247962571a94cb7063f0904
+DIST free42-nologo-2.5.9.tgz 7408535 BLAKE2B a64c925e5c93e396efc2a46f8d495201b039763269c9d326469f9b77435b6ef5a6b434f83a2c7017587ef7223724ed7986aafa60bcb542f79d20630eee0016fc SHA512 fba421b181649881092b398458e2065f9f133b76d88e140f046de805dd42a5ba513168cf2ecd4c94821e1b8374e596a2b696533d29c11ccae4106a14f1fdaba4
diff --git a/app-emulation/free42/free42-2.2.1.ebuild b/app-emulation/free42/free42-2.2.1.ebuild
deleted file mode 100644
index 73ac9b4e00d4..000000000000
--- a/app-emulation/free42/free42-2.2.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-MY_PV="${PN}-nologo-${PV}"
-
-DESCRIPTION="An HP-42S Calculator Simulator"
-HOMEPAGE="http://thomasokken.com/free42/"
-SRC_URI="http://thomasokken.com/free42/upstream/${MY_PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+alsa"
-
-DEPEND="dev-libs/atk
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:2
- x11-libs/pango
- alsa? ( media-libs/alsa-lib )"
-
-RDEPEND="${DEPEND}
- x11-libs/libX11
- x11-libs/libXmu"
-
-DOCS=( CREDITS HISTORY README )
-S="${WORKDIR}/${MY_PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.0.10-fix-makefile.patch"
- "${FILESDIR}/${PN}-2.0.10-fix-build-intel-lib.patch"
-)
-
-src_prepare() {
- default
-}
-
-src_compile() {
- local myconf
- use alsa && myconf="AUDIO_ALSA=yes"
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
- emake -C gtk clean
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
-}
-
-src_install() {
- default
- dobin gtk/free42bin gtk/free42dec
-}
diff --git a/app-emulation/free42/free42-2.4.2.ebuild b/app-emulation/free42/free42-2.4.2.ebuild
deleted file mode 100644
index 73ac9b4e00d4..000000000000
--- a/app-emulation/free42/free42-2.4.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-MY_PV="${PN}-nologo-${PV}"
-
-DESCRIPTION="An HP-42S Calculator Simulator"
-HOMEPAGE="http://thomasokken.com/free42/"
-SRC_URI="http://thomasokken.com/free42/upstream/${MY_PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+alsa"
-
-DEPEND="dev-libs/atk
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:2
- x11-libs/pango
- alsa? ( media-libs/alsa-lib )"
-
-RDEPEND="${DEPEND}
- x11-libs/libX11
- x11-libs/libXmu"
-
-DOCS=( CREDITS HISTORY README )
-S="${WORKDIR}/${MY_PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.0.10-fix-makefile.patch"
- "${FILESDIR}/${PN}-2.0.10-fix-build-intel-lib.patch"
-)
-
-src_prepare() {
- default
-}
-
-src_compile() {
- local myconf
- use alsa && myconf="AUDIO_ALSA=yes"
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
- emake -C gtk clean
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
-}
-
-src_install() {
- default
- dobin gtk/free42bin gtk/free42dec
-}
diff --git a/app-emulation/free42/free42-2.4.ebuild b/app-emulation/free42/free42-2.5.9.ebuild
similarity index 90%
rename from app-emulation/free42/free42-2.4.ebuild
rename to app-emulation/free42/free42-2.5.9.ebuild
index 73ac9b4e00d4..67e64a2dd933 100644
--- a/app-emulation/free42/free42-2.4.ebuild
+++ b/app-emulation/free42/free42-2.5.9.ebuild
@@ -31,8 +31,8 @@ DOCS=( CREDITS HISTORY README )
S="${WORKDIR}/${MY_PV}"
PATCHES=(
- "${FILESDIR}/${PN}-2.0.10-fix-makefile.patch"
- "${FILESDIR}/${PN}-2.0.10-fix-build-intel-lib.patch"
+ "${FILESDIR}/${PN}-2.5.3-fix-makefile.patch"
+ "${FILESDIR}/${PN}-2.5.3-fix-build-intel-lib.patch"
)
src_prepare() {
diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index 5cc79c76494b..80902bd61272 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -1 +1,2 @@
DIST qemu-4.0.0.tar.xz 55628624 BLAKE2B 8afd1f54aa13d2e61fd36c4f4544b7c4ffb1a7eee5c69d3aa1d40a432ca296ad8abe6cb83d7c66ac4045ca624d2a00e737f51e4e62ed46fef9766ef71f43b98b SHA512 952e94194ce9e64c15388c59035cb31fb9f761d30095c2fb9441012b609c18c9976285727b93bf37b95e15675802d73f8e1c4619ebecd23606675bb503646b13
+DIST qemu-4.1.0.tar.xz 54001708 BLAKE2B fc89d0c967fb31a73cbdca556e79c05c44b241382a83f02150a8e39b00cb7de7fb6f248e82e1364e314680481bfb3843e74804534c0ba91a5bb2ff1b8d771130 SHA512 82fd51702a7b9b1b00b2f1bd3b4a832b80249018dbba1add0b0a73e7d4bee452afd45574b4d8df7ce4477d8711f3bda4ca072a1a6de25895c93eb21cf78fc4b2
diff --git a/app-emulation/qemu/files/qemu-4.0.0-xkbcommon.patch b/app-emulation/qemu/files/qemu-4.0.0-xkbcommon.patch
new file mode 100644
index 000000000000..3d9a5163ecf5
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-4.0.0-xkbcommon.patch
@@ -0,0 +1,38 @@
+From cef396dc0b11a09ede85b275ed1ceee71b60a4b3 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot
+Date: Sat, 14 Sep 2019 15:47:20 +0100
+Subject: [PATCH] configure: Add xkbcommon configure options
+
+This dependency is currently "automagic", which is bad for distributions.
+
+Signed-off-by: James Le Cuirot
+---
+ configure | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/configure b/configure
+index 30aad233d1..30544f52e6 100755
+--- a/configure
++++ b/configure
+@@ -1521,6 +1521,10 @@ for opt do
+ ;;
+ --disable-libpmem) libpmem=no
+ ;;
++ --enable-xkbcommon) xkbcommon=yes
++ ;;
++ --disable-xkbcommon) xkbcommon=no
++ ;;
+ *)
+ echo "ERROR: unknown option $opt"
+ echo "Try '$0 --help' for more information"
+@@ -1804,6 +1808,7 @@ disabled with --disable-FEATURE, default is enabled if available:
+ capstone capstone disassembler support
+ debug-mutex mutex debugging support
+ libpmem libpmem support
++ xkbcommon xkbcommon support
+
+ NOTE: The object files are built at the place where configure is launched
+ EOF
+--
+2.23.0
+
diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml
index f38823b3990e..4c468733de52 100644
--- a/app-emulation/qemu/metadata.xml
+++ b/app-emulation/qemu/metadata.xml
@@ -39,6 +39,7 @@
Build the User and Software MMU (system) targets as well as tools as static binaries
Enable SystemTAP/DTrace tracing
Enable the TCG Interpreter which can speed up or slowdown workloads depending on the host and guest CPUs being emulated. In the future it will be a runtime option but for now its compile time.
+ Enable jemalloc allocator support
Enable jpeg image support for the VNC console server
Enable png image support for the VNC console server
Enable USB passthrough via dev-libs/libusb
@@ -54,5 +55,6 @@
Enables support for Xen backends
Support xfsctl() notification and syncing for XFS backed
virtual disks.
+ Depend on x11-libs/libxkbcommon to build qemu-keymap tool for converting xkb keymaps
diff --git a/app-emulation/qemu/qemu-4.0.0-r50.ebuild b/app-emulation/qemu/qemu-4.0.0-r50.ebuild
index d547b37ab845..cc99fdbbcc18 100644
--- a/app-emulation/qemu/qemu-4.0.0-r50.ebuild
+++ b/app-emulation/qemu/qemu-4.0.0-r50.ebuild
@@ -28,7 +28,7 @@ HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
- +fdt glusterfs gnutls gtk infiniband iscsi +jpeg kernel_linux
+ +fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux
kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy
spice ssh static static-user systemtap tci test usb usbredir vde
@@ -108,6 +108,7 @@ SOFTMMU_TOOLS_DEPEND="
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
+ jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? (
@@ -436,6 +437,7 @@ qemu_src_configure() {
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
+ $(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
diff --git a/app-emulation/qemu/qemu-4.1.0.ebuild b/app-emulation/qemu/qemu-4.1.0.ebuild
new file mode 100644
index 000000000000..f4991a5e13ad
--- /dev/null
+++ b/app-emulation/qemu/qemu-4.1.0.ebuild
@@ -0,0 +1,824 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
+PYTHON_REQ_USE="ncurses,readline"
+
+PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
+
+FIRMWARE_ABI_VERSION="4.0.0-r50"
+
+inherit eutils linux-info toolchain-funcs multilib python-r1 \
+ udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://git.qemu.org/qemu.git"
+ EGIT_SUBMODULES=(
+ slirp
+ tests/fp/berkeley-{test,soft}float-3
+ ui/keycodemapdb
+ )
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+fi
+
+DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
+HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+
+LICENSE="GPL-2 LGPL-2 BSD-2"
+SLOT="0"
+
+IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
+ +fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux
+ kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+ +png pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy
+ spice ssh static static-user systemtap tci test usb usbredir vde
+ +vhost-net virgl virtfs +vnc vte xattr xen xfs +xkb"
+
+COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
+ mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
+ sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
+IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
+ lm32 moxie tricore unicore32"
+IUSE_USER_TARGETS="${COMMON_TARGETS}
+ aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
+ tilegx"
+
+use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
+use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
+IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
+
+# Allow no targets to be built so that people can get a tools-only build.
+# Block USE flag configurations known to not work.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ qemu_softmmu_targets_arm? ( fdt )
+ qemu_softmmu_targets_microblaze? ( fdt )
+ qemu_softmmu_targets_mips64el? ( fdt )
+ qemu_softmmu_targets_ppc64? ( fdt )
+ qemu_softmmu_targets_ppc? ( fdt )
+ qemu_softmmu_targets_riscv32? ( fdt )
+ qemu_softmmu_targets_riscv64? ( fdt )
+ static? ( static-user !alsa !gtk !opengl !pulseaudio !snappy )
+ virtfs? ( xattr )
+ vte? ( gtk )"
+
+# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
+# and user/softmmu targets (qemu-*, qemu-system-*).
+#
+# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
+#
+# The attr lib isn't always linked in (although the USE flag is always
+# respected). This is because qemu supports using the C library's API
+# when available rather than always using the external library.
+ALL_DEPEND="
+ >=dev-libs/glib-2.0[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ python? ( ${PYTHON_DEPS} )
+ systemtap? ( dev-util/systemtap )
+ xattr? ( sys-apps/attr[static-libs(+)] )"
+
+# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
+# softmmu targets (qemu-system-*).
+SOFTMMU_TOOLS_DEPEND="
+ dev-libs/libxml2[static-libs(+)]
+ xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
+ >=x11-libs/pixman-0.28.0[static-libs(+)]
+ accessibility? (
+ app-accessibility/brltty[api]
+ app-accessibility/brltty[static-libs(+)]
+ )
+ aio? ( dev-libs/libaio[static-libs(+)] )
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ capstone? ( dev-libs/capstone:= )
+ caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
+ gnutls? (
+ dev-libs/nettle:=[static-libs(+)]
+ >=net-libs/gnutls-3.0:=[static-libs(+)]
+ )
+ gtk? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ infiniband? (
+ sys-fabric/libibumad:=[static-libs(+)]
+ sys-fabric/libibverbs:=[static-libs(+)]
+ sys-fabric/librdmacm:=[static-libs(+)]
+ )
+ iscsi? ( net-libs/libiscsi )
+ jemalloc? ( dev-libs/jemalloc )
+ jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ lzo? ( dev-libs/lzo:2[static-libs(+)] )
+ ncurses? (
+ sys-libs/ncurses:0=[unicode]
+ sys-libs/ncurses:0=[static-libs(+)]
+ )
+ nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
+ numa? ( sys-process/numactl[static-libs(+)] )
+ opengl? (
+ virtual/opengl
+ media-libs/libepoxy[static-libs(+)]
+ media-libs/mesa[static-libs(+)]
+ media-libs/mesa[egl,gbm]
+ )
+ png? ( media-libs/libpng:0=[static-libs(+)] )
+ pulseaudio? ( media-sound/pulseaudio )
+ rbd? ( sys-cluster/ceph[static-libs(+)] )
+ sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
+ sdl? (
+ media-libs/libsdl2[X]
+ media-libs/libsdl2[static-libs(+)]
+ )
+ seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
+ smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
+ snappy? ( app-arch/snappy:= )
+ spice? (
+ >=app-emulation/spice-protocol-0.12.3
+ >=app-emulation/spice-0.12.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
+ usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
+ vde? ( net-misc/vde[static-libs(+)] )
+ virgl? ( media-libs/virglrenderer[static-libs(+)] )
+ virtfs? ( sys-libs/libcap )
+ xen? ( app-emulation/xen-tools:= )
+ xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
+
+X86_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/edk2-ovmf-201905[binary]
+ ~sys-firmware/ipxe-1.0.0_p20190728[binary]
+ ~sys-firmware/seabios-1.12.0[binary,seavgabios]
+ ~sys-firmware/sgabios-0.1_pre8[binary]
+ )
+ !pin-upstream-blobs? (
+ sys-firmware/edk2-ovmf
+ sys-firmware/ipxe
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ sys-firmware/sgabios
+ )"
+PPC64_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-1.12.0[binary,seavgabios]
+ )
+ !pin-upstream-blobs? (
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ )
+"
+
+BDEPEND="
+ $(python_gen_impl_dep)
+ dev-lang/perl
+ sys-apps/texinfo
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ test? (
+ dev-libs/glib[utils]
+ sys-devel/bc
+ )
+"
+CDEPEND="
+ !static? (
+ ${ALL_DEPEND//\[static-libs(+)]}
+ ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
+ )
+ qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
+"
+DEPEND="${CDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ static? (
+ ${ALL_DEPEND}
+ ${SOFTMMU_TOOLS_DEPEND}
+ )
+ static-user? ( ${ALL_DEPEND} )"
+RDEPEND="${CDEPEND}
+ acct-group/kvm
+ selinux? ( sec-policy/selinux-qemu )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-cflags.patch
+ "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
+ "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
+ "${FILESDIR}"/${PN}-4.0.0-sanitize-interp_info.patch
+ "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902
+ "${FILESDIR}"/${PN}-4.0.0-xkbcommon.patch
+)
+
+QA_PREBUILT="
+ usr/share/qemu/hppa-firmware.img
+ usr/share/qemu/openbios-ppc
+ usr/share/qemu/openbios-sparc64
+ usr/share/qemu/openbios-sparc32
+ usr/share/qemu/palcode-clipper
+ usr/share/qemu/s390-ccw.img
+ usr/share/qemu/s390-netboot.img
+ usr/share/qemu/u-boot.e500"
+
+QA_WX_LOAD="usr/bin/qemu-i386
+ usr/bin/qemu-x86_64
+ usr/bin/qemu-alpha
+ usr/bin/qemu-arm
+ usr/bin/qemu-cris
+ usr/bin/qemu-m68k
+ usr/bin/qemu-microblaze
+ usr/bin/qemu-microblazeel
+ usr/bin/qemu-mips
+ usr/bin/qemu-mipsel
+ usr/bin/qemu-or1k
+ usr/bin/qemu-ppc
+ usr/bin/qemu-ppc64
+ usr/bin/qemu-ppc64abi32
+ usr/bin/qemu-sh4
+ usr/bin/qemu-sh4eb
+ usr/bin/qemu-sparc
+ usr/bin/qemu-sparc64
+ usr/bin/qemu-armeb
+ usr/bin/qemu-sparc32plus
+ usr/bin/qemu-s390x
+ usr/bin/qemu-unicore32"
+
+DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
+kernel module loaded before running kvm. The easiest way to ensure that the
+kernel module is loaded is to load it on boot.
+ For AMD CPUs the module is called 'kvm-amd'.
+ For Intel CPUs the module is called 'kvm-intel'.
+Please review /etc/conf.d/modules for how to load these.
+
+Make sure your user is in the 'kvm' group. Just run
+ $ gpasswd -a kvm
+then have re-login.
+
+For brand new installs, the default permissions on /dev/kvm might not let
+you access it. You can tell udev to reset ownership/perms:
+ $ udevadm trigger -c add /dev/kvm
+
+If you want to register binfmt handlers for qemu user targets:
+For openrc:
+ # rc-update add qemu-binfmt
+For systemd:
+ # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
+
+pkg_pretend() {
+ if use kernel_linux && kernel_is lt 2 6 25; then
+ eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
+ elif use kernel_linux; then
+ if ! linux_config_exists; then
+ eerror "Unable to check your kernel for KVM support"
+ else
+ CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
+ ERROR_KVM="You must enable KVM in your kernel to continue"
+ ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
+ ERROR_KVM_AMD+=" your kernel configuration."
+ ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
+ ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
+ ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
+ ERROR_TUN+=" into your kernel or loaded as a module to use the"
+ ERROR_TUN+=" virtual network device if using -net tap."
+ ERROR_BRIDGE="You will also need support for 802.1d"
+ ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
+ use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
+ ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
+ ERROR_VHOST_NET+=" support"
+
+ if use amd64 || use x86 || use amd64-linux || use x86-linux; then
+ if grep -q AuthenticAMD /proc/cpuinfo; then
+ CONFIG_CHECK+=" ~KVM_AMD"
+ elif grep -q GenuineIntel /proc/cpuinfo; then
+ CONFIG_CHECK+=" ~KVM_INTEL"
+ fi
+ fi
+
+ use python && CONFIG_CHECK+=" ~DEBUG_FS"
+ ERROR_DEBUG_FS="debugFS support required for kvm_stat"
+
+ # Now do the actual checks setup above
+ check_extra_config
+ fi
+ fi
+
+ if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
+ eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
+ eerror "instances are still pointing to it. Please update your"
+ eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
+ eerror "and the right system binary (e.g. qemu-system-x86_64)."
+ die "update your virt configs to not use qemu-kvm"
+ fi
+}
+
+# Sanity check to make sure target lists are kept up-to-date.
+check_targets() {
+ local var=$1 mak=$2
+ local detected sorted
+
+ pushd "${S}"/default-configs >/dev/null || die
+
+ # Force C locale until glibc is updated. #564936
+ detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
+ sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
+ if [[ ${sorted} != "${detected}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "${var}: ${sorted}"
+ eerror "$(printf '%-*s' ${#var} configure): ${detected}"
+ die "sync ${var} to the list of targets"
+ fi
+
+ popd >/dev/null
+}
+
+handle_locales() {
+ # Make sure locale list is kept up-to-date.
+ local detected sorted
+ detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
+ sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
+ if [[ ${sorted} != "${detected}" ]] ; then
+ eerror "The ebuild needs to be kept in sync."
+ eerror "PLOCALES: ${sorted}"
+ eerror " po/*.po: ${detected}"
+ die "sync PLOCALES"
+ fi
+
+ # Deal with selective install of locales.
+ if use nls ; then
+ # Delete locales the user does not want. #577814
+ rm_loc() { rm po/$1.po || die; }
+ l10n_for_each_disabled_locale_do rm_loc
+ else
+ # Cheap hack to disable gettext .mo generation.
+ rm -f po/*.po
+ fi
+}
+
+src_prepare() {
+ check_targets IUSE_SOFTMMU_TARGETS softmmu
+ check_targets IUSE_USER_TARGETS linux-user
+
+ default
+
+ # Use correct toolchain to fix cross-compiling
+ tc-export AR LD NM OBJCOPY PKG_CONFIG
+ export WINDRES=${CHOST}-windres
+
+ # Verbose builds
+ MAKEOPTS+=" V=1"
+
+ # Run after we've applied all patches.
+ handle_locales
+
+ # Remove bundled copy of libfdt
+ rm -r dtc || die
+}
+
+##
+# configures qemu based on the build directory and the build type
+# we are using.
+#
+qemu_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local buildtype=$1
+ local builddir="${S}/${buildtype}-build"
+
+ mkdir "${builddir}"
+
+ local conf_opts=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --bindir=/usr/bin
+ --libdir=/usr/$(get_libdir)
+ --datadir=/usr/share
+ --docdir=/usr/share/doc/${PF}/html
+ --mandir=/usr/share/man
+ --with-confsuffix=/qemu
+ --localstatedir=/var
+ --disable-bsd-user
+ --disable-guest-agent
+ --disable-strip
+ --disable-werror
+ # We support gnutls/nettle for crypto operations. It is possible
+ # to use gcrypt when gnutls/nettle are disabled (but not when they
+ # are enabled), but it's not really worth the hassle. Disable it
+ # all the time to avoid automatically detecting it. #568856
+ --disable-gcrypt
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ $(use_enable debug debug-info)
+ $(use_enable debug debug-tcg)
+ $(use_enable doc docs)
+ $(use_enable tci tcg-interpreter)
+ $(use_enable xattr attr)
+ )
+
+ # Disable options not used by user targets. This simplifies building
+ # static user targets (USE=static-user) considerably.
+ conf_notuser() {
+ if [[ ${buildtype} == "user" ]] ; then
+ echo "--disable-${2:-$1}"
+ else
+ use_enable "$@"
+ fi
+ }
+ conf_opts+=(
+ --disable-bluez
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_notuser bzip2)
+ $(conf_notuser capstone)
+ $(conf_notuser caps cap-ng)
+ $(conf_notuser curl)
+ $(conf_notuser fdt)
+ $(conf_notuser glusterfs)
+ $(conf_notuser gnutls)
+ $(conf_notuser gnutls nettle)
+ $(conf_notuser gtk)
+ $(conf_notuser infiniband rdma)
+ $(conf_notuser iscsi libiscsi)
+ $(conf_notuser jemalloc jemalloc)
+ $(conf_notuser jpeg vnc-jpeg)
+ $(conf_notuser kernel_linux kvm)
+ $(conf_notuser lzo)
+ $(conf_notuser ncurses curses)
+ $(conf_notuser nfs libnfs)
+ $(conf_notuser numa)
+ $(conf_notuser opengl)
+ $(conf_notuser png vnc-png)
+ $(conf_notuser rbd)
+ $(conf_notuser sasl vnc-sasl)
+ $(conf_notuser sdl)
+ $(conf_notuser seccomp)
+ $(conf_notuser smartcard)
+ $(conf_notuser snappy)
+ $(conf_notuser spice)
+ $(conf_notuser ssh libssh)
+ $(conf_notuser usb libusb)
+ $(conf_notuser usbredir usb-redir)
+ $(conf_notuser vde)
+ $(conf_notuser vhost-net)
+ $(conf_notuser virgl virglrenderer)
+ $(conf_notuser virtfs)
+ $(conf_notuser vnc)
+ $(conf_notuser vte)
+ $(conf_notuser xen)
+ $(conf_notuser xen xen-pci-passthrough)
+ $(conf_notuser xfs xfsctl)
+ $(conf_notuser xkb xkbcommon)
+ )
+
+ if [[ ${buildtype} == "user" ]] ; then
+ conf_opts+=( --disable-libxml2 )
+ else
+ conf_opts+=( --enable-libxml2 )
+ fi
+
+ if [[ ! ${buildtype} == "user" ]] ; then
+ # audio options
+ local audio_opts=(
+ $(usev alsa)
+ $(usev oss)
+ $(usev sdl)
+ $(usex pulseaudio pa "")
+ )
+ conf_opts+=(
+ --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
+ )
+ fi
+
+ case ${buildtype} in
+ user)
+ conf_opts+=(
+ --enable-linux-user
+ --disable-system
+ --disable-blobs
+ --disable-tools
+ )
+ local static_flag="static-user"
+ ;;
+ softmmu)
+ conf_opts+=(
+ --disable-linux-user
+ --enable-system
+ --disable-tools
+ )
+ local static_flag="static"
+ ;;
+ tools)
+ conf_opts+=(
+ --disable-linux-user
+ --disable-system
+ --disable-blobs
+ --enable-tools
+ )
+ local static_flag="static"
+ ;;
+ esac
+
+ local targets="${buildtype}_targets"
+ [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
+
+ # Add support for SystemTAP
+ use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
+
+ # We always want to attempt to build with PIE support as it results
+ # in a more secure binary. But it doesn't work with static or if
+ # the current GCC doesn't have PIE support.
+ if use ${static_flag}; then
+ conf_opts+=( --static --disable-pie )
+ else
+ tc-enables-pie && conf_opts+=( --enable-pie )
+ fi
+
+ echo "../configure ${conf_opts[*]}"
+ cd "${builddir}"
+ ../configure "${conf_opts[@]}" || die "configure failed"
+
+ # FreeBSD's kernel does not support QEMU assigning/grabbing
+ # host USB devices yet
+ use kernel_FreeBSD && \
+ sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
+}
+
+src_configure() {
+ local target
+
+ python_setup
+
+ softmmu_targets= softmmu_bins=()
+ user_targets= user_bins=()
+
+ for target in ${IUSE_SOFTMMU_TARGETS} ; do
+ if use "qemu_softmmu_targets_${target}"; then
+ softmmu_targets+=",${target}-softmmu"
+ softmmu_bins+=( "qemu-system-${target}" )
+ fi
+ done
+
+ for target in ${IUSE_USER_TARGETS} ; do
+ if use "qemu_user_targets_${target}"; then
+ user_targets+=",${target}-linux-user"
+ user_bins+=( "qemu-${target}" )
+ fi
+ done
+
+ softmmu_targets=${softmmu_targets#,}
+ user_targets=${user_targets#,}
+
+ [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
+ [[ -n ${user_targets} ]] && qemu_src_configure "user"
+ qemu_src_configure "tools"
+}
+
+src_compile() {
+ if [[ -n ${user_targets} ]]; then
+ cd "${S}/user-build"
+ default
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ default
+ fi
+
+ cd "${S}/tools-build"
+ default
+}
+
+src_test() {
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ pax-mark m */qemu-system-* #515550
+ emake -j1 check
+ emake -j1 check-report.html
+ fi
+}
+
+qemu_python_install() {
+ python_domodule "${S}/python/qemu/qmp.py"
+
+ python_doscript "${S}/scripts/kvm/vmxcap"
+ python_doscript "${S}/scripts/qmp/qmp-shell"
+ python_doscript "${S}/scripts/qmp/qemu-ga-client"
+}
+
+# Generate binfmt support files.
+# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
+# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
+generate_initd() {
+ local out="${T}/qemu-binfmt"
+ local out_systemd="${T}/qemu.conf"
+ local d="${T}/binfmt.d"
+
+ einfo "Generating qemu binfmt scripts and configuration files"
+
+ # Generate the debian fragments first.
+ mkdir -p "${d}"
+ "${S}"/scripts/qemu-binfmt-conf.sh \
+ --debian \
+ --exportdir "${d}" \
+ --qemu-path "${EPREFIX}/usr/bin" \
+ || die
+ # Then turn the fragments into a shell script we can source.
+ sed -E -i \
+ -e 's:^([^ ]+) (.*)$:\1="\2":' \
+ "${d}"/* || die
+
+ # Generate the init.d script by assembling the fragments from above.
+ local f qcpu package interpreter magic mask
+ cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
+ for f in "${d}"/qemu-* ; do
+ source "${f}"
+
+ # Normalize the cpu logic like we do in the init.d for the native cpu.
+ qcpu=${package#qemu-}
+ case ${qcpu} in
+ arm*) qcpu="arm";;
+ mips*) qcpu="mips";;
+ ppc*) qcpu="ppc";;
+ s390*) qcpu="s390";;
+ sh*) qcpu="sh";;
+ sparc*) qcpu="sparc";;
+ esac
+
+ # we use 'printf' here to be portable across 'sh'
+ # implementations: #679168
+ cat <>"${out}"
+ if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
+ printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
+ fi
+EOF
+
+ echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
+
+ done
+ cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
+}
+
+src_install() {
+ if [[ -n ${user_targets} ]]; then
+ cd "${S}/user-build"
+ emake DESTDIR="${ED}" install
+
+ # Install binfmt handler init script for user targets.
+ generate_initd
+ doinitd "${T}/qemu-binfmt"
+
+ # Install binfmt/qemu.conf.
+ insinto "/usr/share/qemu/binfmt.d"
+ doins "${T}/qemu.conf"
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build"
+ emake DESTDIR="${ED}" install
+
+ # This might not exist if the test failed. #512010
+ [[ -e check-report.html ]] && dohtml check-report.html
+
+ if use kernel_linux; then
+ udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
+ fi
+
+ if use python; then
+ python_foreach_impl qemu_python_install
+ fi
+ fi
+
+ cd "${S}/tools-build"
+ emake DESTDIR="${ED}" install
+
+ # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
+ pushd "${ED}"/usr/bin >/dev/null
+ pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
+ popd >/dev/null
+
+ # Install config file example for qemu-bridge-helper
+ insinto "/etc/qemu"
+ doins "${FILESDIR}/bridge.conf"
+
+ cd "${S}"
+ dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
+ newdoc pc-bios/README README.pc-bios
+
+ # Disallow stripping of prebuilt firmware files.
+ dostrip -x ${QA_PREBUILT}
+
+ if [[ -n ${softmmu_targets} ]]; then
+ # Remove SeaBIOS since we're using the SeaBIOS packaged one
+ rm "${ED}/usr/share/qemu/bios.bin"
+ rm "${ED}/usr/share/qemu/bios-256k.bin"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
+ dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
+ fi
+
+ # Remove vgabios since we're using the seavgabios packaged one
+ rm "${ED}/usr/share/qemu/vgabios.bin"
+ rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
+ rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
+ rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
+ rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
+ rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+ # PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
+ dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
+ dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
+ dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
+ dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
+ dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
+ dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
+ fi
+
+ # Remove sgabios since we're using the sgabios packaged one
+ rm "${ED}/usr/share/qemu/sgabios.bin"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
+ fi
+
+ # Remove iPXE since we're using the iPXE packaged one
+ rm "${ED}"/usr/share/qemu/pxe-*.rom
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
+ dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
+ dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
+ dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
+ dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
+ dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
+ fi
+ fi
+
+ DISABLE_AUTOFORMATTING=true
+ readme.gentoo_create_doc
+}
+
+firmware_abi_change() {
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+pkg_postinst() {
+ if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
+ udev_reload
+ fi
+
+ xdg_icon_cache_update
+
+ [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
+ fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
+
+ DISABLE_AUTOFORMATTING=true
+ readme.gentoo_print_elog
+
+ if use pin-upstream-blobs && firmware_abi_change; then
+ ewarn "This version of qemu pins new versions of firmware blobs:"
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ ewarn " $(best_version sys-firmware/ipxe)"
+ ewarn " $(best_version sys-firmware/seabios)"
+ ewarn " $(best_version sys-firmware/sgabios)"
+ ewarn "This might break resume of hibernated guests (started with a different"
+ ewarn "firmware version) and live migration to/from qemu versions with different"
+ ewarn "firmware. Please (cold) restart all running guests. For functional"
+ ewarn "guest migration ensure that all"
+ ewarn "hosts run at least"
+ ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
+ fi
+}
+
+pkg_info() {
+ echo "Using:"
+ echo " $(best_version app-emulation/spice-protocol)"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
+ if has_version 'sys-firmware/edk2-ovmf[binary]'; then
+ echo " USE=binary"
+ else
+ echo " USE=''"
+ fi
+ echo " $(best_version sys-firmware/ipxe)"
+ echo " $(best_version sys-firmware/seabios)"
+ if has_version 'sys-firmware/seabios[binary]'; then
+ echo " USE=binary"
+ else
+ echo " USE=''"
+ fi
+ echo " $(best_version sys-firmware/sgabios)"
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild
index c58b83277ecd..51deb16ff036 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -15,6 +15,11 @@ inherit eutils linux-info toolchain-funcs multilib python-r1 \
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
+ EGIT_SUBMODULES=(
+ slirp
+ tests/fp/berkeley-{test,soft}float-3
+ ui/keycodemapdb
+ )
inherit git-r3
SRC_URI=""
else
@@ -27,12 +32,13 @@ HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
+
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
- +fdt glusterfs gnutls gtk infiniband iscsi +jpeg kernel_linux
- kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
- pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy
+ +fdt glusterfs gnutls gtk infiniband iscsi +jpeg jemalloc kernel_linux
+ kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+ +png pulseaudio python rbd sasl +seccomp sdl selinux smartcard snappy
spice ssh static static-user systemtap tci test usb usbredir vde
- +vhost-net virgl virtfs +vnc vte xattr xen xfs"
+ +vhost-net virgl virtfs +vnc vte xattr xen xfs +xkb"
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
@@ -80,7 +86,7 @@ ALL_DEPEND="
# softmmu targets (qemu-system-*).
SOFTMMU_TOOLS_DEPEND="
dev-libs/libxml2[static-libs(+)]
- x11-libs/libxkbcommon[static-libs(+)]
+ xkb? ( x11-libs/libxkbcommon[static-libs(+)] )
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
@@ -108,6 +114,7 @@ SOFTMMU_TOOLS_DEPEND="
sys-fabric/librdmacm:=[static-libs(+)]
)
iscsi? ( net-libs/libiscsi )
+ jemalloc? ( dev-libs/jemalloc )
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
ncurses? (
@@ -161,7 +168,7 @@ X86_FIRMWARE_DEPEND="
)"
PPC64_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/seabios-1.11.0[binary,seavgabios]
+ ~sys-firmware/seabios-1.12.0[binary,seavgabios]
)
!pin-upstream-blobs? (
>=sys-firmware/seabios-1.10.2[seavgabios]
@@ -357,8 +364,9 @@ src_prepare() {
default
- # Fix ld and objcopy being called directly
- tc-export AR LD OBJCOPY
+ # Use correct toolchain to fix cross-compiling
+ tc-export AR LD NM OBJCOPY PKG_CONFIG
+ export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
@@ -385,8 +393,13 @@ qemu_src_configure() {
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
+ --bindir=/usr/bin
--libdir=/usr/$(get_libdir)
+ --datadir=/usr/share
--docdir=/usr/share/doc/${PF}/html
+ --mandir=/usr/share/man
+ --with-confsuffix=/qemu
+ --localstatedir=/var
--disable-bsd-user
--disable-guest-agent
--disable-strip
@@ -431,6 +444,7 @@ qemu_src_configure() {
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
+ $(conf_notuser jemalloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
@@ -458,6 +472,7 @@ qemu_src_configure() {
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
$(conf_notuser xfs xfsctl)
+ $(conf_notuser xkb xkbcommon)
)
if [[ ${buildtype} == "user" ]] ; then
@@ -468,12 +483,14 @@ qemu_src_configure() {
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
- local audio_opts="oss"
- use alsa && audio_opts="alsa,${audio_opts}"
- use sdl && audio_opts="sdl,${audio_opts}"
- use pulseaudio && audio_opts="pa,${audio_opts}"
+ local audio_opts=(
+ $(usev alsa)
+ $(usev oss)
+ $(usev sdl)
+ $(usex pulseaudio pa "")
+ )
conf_opts+=(
- --audio-drv-list="${audio_opts}"
+ --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
)
fi
diff --git a/app-emulation/spice-vdagent/spice-vdagent-0.19.0.ebuild b/app-emulation/spice-vdagent/spice-vdagent-0.19.0.ebuild
index d62b552d79d0..30ce2ee207e0 100644
--- a/app-emulation/spice-vdagent/spice-vdagent-0.19.0.ebuild
+++ b/app-emulation/spice-vdagent/spice-vdagent-0.19.0.ebuild
@@ -22,6 +22,7 @@ CDEPEND="
>=app-emulation/spice-protocol-0.14.0
media-libs/alsa-lib
>=x11-libs/libpciaccess-0.10
+ x11-libs/libdrm
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libX11
diff --git a/app-emulation/spice/spice-0.14.2.ebuild b/app-emulation/spice/spice-0.14.2.ebuild
index 464cb7d9c62e..58de3c678521 100644
--- a/app-emulation/spice/spice-0.14.2.ebuild
+++ b/app-emulation/spice/spice-0.14.2.ebuild
@@ -33,22 +33,22 @@ RDEPEND="
media-libs/gst-plugins-base:1.0
)"
DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
>=app-emulation/spice-protocol-0.14.0
+ smartcard? ( app-emulation/qemu[smartcard] )"
+BDEPEND="${PYTHON_DEPS}
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}"/${PN}-0.14.0-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}]"
+ has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
+ has_version -b "dev-python/six[${PYTHON_USEDEP}]"
}
pkg_setup() {
diff --git a/app-emulation/spice/spice-9999.ebuild b/app-emulation/spice/spice-9999.ebuild
index 48cf0c3fa264..d4bf02488571 100644
--- a/app-emulation/spice/spice-9999.ebuild
+++ b/app-emulation/spice/spice-9999.ebuild
@@ -34,18 +34,18 @@ RDEPEND="
media-libs/gst-plugins-base:1.0
)"
DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
~app-emulation/spice-protocol-9999
+ smartcard? ( app-emulation/qemu[smartcard] )"
+BDEPEND="${PYTHON_DEPS}
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] )"
+ ')"
python_check_deps() {
- has_version ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
- has_version "dev-python/six[${PYTHON_USEDEP}]"
+ has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
+ has_version -b "dev-python/six[${PYTHON_USEDEP}]"
}
pkg_setup() {
@@ -55,6 +55,10 @@ pkg_setup() {
src_prepare() {
default
+ # Delete repo-only Makefile that causes build to fail.
+ # https://gitlab.freedesktop.org/spice/spice/issues/35
+ rm GNUmakefile || die
+
eautoreconf
}
diff --git a/app-emulation/virt-viewer/metadata.xml b/app-emulation/virt-viewer/metadata.xml
index 62904a2c9586..3311e82897cd 100644
--- a/app-emulation/virt-viewer/metadata.xml
+++ b/app-emulation/virt-viewer/metadata.xml
@@ -6,6 +6,8 @@
Gentoo Virtualization Project
diff --git a/app-misc/prog-express/Manifest b/app-misc/prog-express/Manifest
index 91e532696e41..c36c04f0b286 100644
--- a/app-misc/prog-express/Manifest
+++ b/app-misc/prog-express/Manifest
@@ -1,2 +1,4 @@
DIST prog-express-3.7.8-1.amd64.deb 36468792 BLAKE2B 7edc5b4c9b7c145877298ac33db743960850d2fbd4cc33943612573277a32935dba15a531f13ad7d75309291cf74ca8f0b80b084dafd840f7831362315c6b8c5 SHA512 647549edd846330044bf34eb40436cc622c4e0871726a31049a93b032e5e1c4428231bee97a21cf75baeeade4e651f7d593ed0cdeb0698679582ff6a7f4293e2
DIST prog-express-3.7.8-1.i386.deb 36468530 BLAKE2B 9e6e81546889a5892bce33168e26b067abe91ceecd9a77f8a0f4af788cbb9da3930e3c1fcf682d6b5aceda04bc84d7ddcf7f45ee4936be8833be4b5244f12541 SHA512 149ae0150d5f8cb99aec92485e4309973f425a87d5c46971b850c69263ea2cbf39df73025709327f80e8b01219114ef9b7219bad7647d947de3625e1bec4904b
+DIST prog-express-3.8.3-1.amd64.deb 37858252 BLAKE2B 0edc06e138fb06bf1d09cc8c1e0650fd1e9f3259f8738c8ec2d072914bc1a215eff60f13871b12ea3e650824c2b2e077edc617bd35e41329505343fdc8c18a0c SHA512 e8e7088eb98e4b63e875308c45ee9dbce8cae5d86ce82eff29a2a3ad2798d22f3621fa38ccc7a66f4e6bd3b71c063e1e793453665640e11ffd0848ec243519ad
+DIST prog-express-3.8.3-1.i386.deb 37858512 BLAKE2B e812e44f7d440a7891e30fc3d9230daf034b7aa0eef800388eeccff50ef9a8dd22e5e989e7d8b6f5d07e77fe317d0fd01dd9e21e7f6510adf2e412c09ce7ac77 SHA512 b5805add8c51c6eeda2ba76ebd3a33df753527a60f81ace515e90945b70c5d720dac5d8dd87c0c381b52a690d2501b618e81cde51320759b639ec9bd143c422f
diff --git a/app-misc/prog-express/prog-express-3.8.3.ebuild b/app-misc/prog-express/prog-express-3.8.3.ebuild
new file mode 100644
index 000000000000..d9dfb64aae89
--- /dev/null
+++ b/app-misc/prog-express/prog-express-3.8.3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop udev unpacker xdg-utils
+
+DESCRIPTION="A modern and intuitive control software for the Batronix USB programming devices"
+HOMEPAGE="https://www.batronix.com"
+SRC_URI="
+ amd64? ( https://www.batronix.com/exe/Batronix/Prog-Express/deb/${P}-1.amd64.deb )
+ x86? ( https://www.batronix.com/exe/Batronix/Prog-Express/deb/${P}-1.i386.deb )
+"
+
+KEYWORDS="-* ~amd64 ~x86"
+LICENSE="prog-express"
+SLOT="0"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-dotnet/gtk-sharp:2
+ dev-dotnet/libgdiplus
+ dev-lang/mono
+ dev-lang/mono-basic
+ virtual/libusb:1
+ virtual/udev
+"
+
+S="${WORKDIR}"
+
+DOCS=(
+ "usr/share/doc/prog-express/changelog"
+ "usr/share/doc/prog-express/manuals"
+)
+
+QA_PREBUILT="
+ usr/bin/bxusb
+ usr/bin/bxusb-gui
+ usr/bin/prog-express
+ usr/sbin/bxfxload
+"
+
+src_unpack() {
+ unpack_deb ${A}
+}
+
+src_prepare() {
+ default
+
+ gunzip usr/share/doc/prog-express/changelog.gz usr/share/man/man1/*.gz || die
+}
+
+src_install() {
+ dobin usr/bin/{bxusb,bxusb-gui,prog-express}
+ dosbin usr/sbin/bxfxload
+
+ insinto /usr/lib
+ doins -r usr/lib/bxusb usr/lib/prog-express
+
+ insinto /usr/lib/prog-express
+ doins "${FILESDIR}"/pe.exe.config
+
+ udev_dorules lib/udev/rules.d/85-batronix-devices.rules
+
+ doicon usr/share/pixmaps/prog-express.png
+
+ domenu usr/share/applications/prog-express.desktop
+
+ doman usr/share/man/man1/{bxfxload,bxusb,bxusb-gui,prog-express}.1
+}
+
+pkg_postinst() {
+ udev_reload
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ udev_reload
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/app-misc/tmux/tmux-2.9a.ebuild b/app-misc/tmux/tmux-2.9a.ebuild
index dedce499ebd1..561221b38ce0 100644
--- a/app-misc/tmux/tmux-2.9a.ebuild
+++ b/app-misc/tmux/tmux-2.9a.ebuild
@@ -14,7 +14,7 @@ if [[ "${PV}" == 9999 ]] ; then
else
SRC_URI="https://github.com/tmux/tmux/releases/download/${PV}/${P/_/-}.tar.gz"
[[ "${PV}" == *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
S="${WORKDIR}/${P/_/-}"
fi
diff --git a/app-misc/vcontrold/Manifest b/app-misc/vcontrold/Manifest
index 358e60cebaa3..9f910995fbac 100644
--- a/app-misc/vcontrold/Manifest
+++ b/app-misc/vcontrold/Manifest
@@ -1,2 +1,3 @@
DIST vcontrold-0.98.5.tar.gz 86684 BLAKE2B 07ed2c932b9f1c03410cbd6c23cfbfb7bf1aeaff027f597fb6f05a6b61c647f229a75b5a87d893a66c6b8e917595083d193c5da8585c6b9546d12c5867ca1a1b SHA512 b94dbb09ffe274e0a0a0ac4948365ed3213f221dbc00ed2b2adec2ac5a632e293686d62a07575454b3d11b1b8e4e058625a067461996dd720c2f84066d57e60e
DIST vcontrold-0.98.6.tar.gz 86999 BLAKE2B bb2933c166793a851fc9b3292cdf00228e0f5383ab6cfce66150383103e7c6b54661ef8c7f0bb177aecedef9f7ca7d3e64a20c1af106d45a6c5a1f2a32bdd971 SHA512 74c17dc83af456e9fbece44a00d775d6e474b1de76993da69f5cb897658be13a83ef2abc3fe75f571f1d52120e2ddade08079336a338af81eae8557b3b357481
+DIST vcontrold-0.98.8.tar.gz 87831 BLAKE2B cb6ac6771e087e355f909c63be480caf974632a2fc6378f6c7c461d2cd5d6f12fc0fc762a925d05af4f0ccc9252320009c3f8eee33cc026b5621ec8bcb531b72 SHA512 a3452735bc78ba4add991c03c263c1e59ae6ebfc4eb41f27136bd76c01745990b956dea17b489c6d4f088ec0d69d6f6215f2377baf78ee485e0b31642d4ae468
diff --git a/app-misc/vcontrold/vcontrold-0.98.8.ebuild b/app-misc/vcontrold/vcontrold-0.98.8.ebuild
new file mode 100644
index 000000000000..67b70f6ed21c
--- /dev/null
+++ b/app-misc/vcontrold/vcontrold-0.98.8.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="Daemon for communication with Viessmann Vito heatings"
+HOMEPAGE="https://github.com/openv/vcontrold/"
+SRC_URI="https://github.com/openv/vcontrold/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+man +vclient vsim"
+
+RDEPEND="dev-libs/libxml2:2"
+DEPEND="${RDEPEND}
+ man? ( dev-python/docutils )"
+
+src_prepare() {
+ sed "s/@VERSION@/${PV}/" "src/version.h.in" \
+ > "src/version.h" || die "Setting version failed"
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DMANPAGES="$(usex man)"
+ -DVCLIENT="$(usex vclient)"
+ -DVSIM="$(usex vsim)"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ doinitd "${FILESDIR}/vcontrold"
+ insinto /etc/vcontrold/
+ doins -r xml
+}
diff --git a/app-portage/Manifest.gz b/app-portage/Manifest.gz
index b831a40e87af..028927c389a6 100644
Binary files a/app-portage/Manifest.gz and b/app-portage/Manifest.gz differ
diff --git a/app-portage/mgorny-dev-scripts/Manifest b/app-portage/mgorny-dev-scripts/Manifest
index 2c191e9d648a..6d308ea7fc6c 100644
--- a/app-portage/mgorny-dev-scripts/Manifest
+++ b/app-portage/mgorny-dev-scripts/Manifest
@@ -1 +1,2 @@
DIST mgorny-dev-scripts-2.tar.gz 6128 BLAKE2B a4a36c7d3872b70d388bfb2e68e4a8861a1a8ac76dbe27de382c203ed1a6dd7e56744aa7ba606392deefdd19397d078dc5a8b2402a05ba1c125ed218e42dad61 SHA512 bc98c83234c1107f649245b2b868c7fb649b03997497604deeeeb557d1dcd989ae896c8150bd54bd20daff98dee2a4a46f114d024a0a3b63231d26daa9cc4e79
+DIST mgorny-dev-scripts-3.tar.gz 6671 BLAKE2B 6e0cc8edd55fd175e6e2516bad6d0505da813fc905d12563d97b0ee327a019dd264c886884360dfe6235ecfb8d19fe5d982edf623cfa9019ad132f6cb0f4bb49 SHA512 22a8dae123d87461f07d12b7aad58775201de4dd72ffd354116bfde2bfb6d413b3c68fbf848e651b5a4eeb3df2afe9a10f8ae1a28be0ed077d1c0aa19fc91066
diff --git a/app-portage/mgorny-dev-scripts/mgorny-dev-scripts-3.ebuild b/app-portage/mgorny-dev-scripts/mgorny-dev-scripts-3.ebuild
new file mode 100644
index 000000000000..f3c82965e9c4
--- /dev/null
+++ b/app-portage/mgorny-dev-scripts/mgorny-dev-scripts-3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Handy scripts for ebuild development and more"
+HOMEPAGE="https://github.com/mgorny/mgorny-dev-scripts"
+SRC_URI="https://github.com/mgorny/mgorny-dev-scripts/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-portage/gentoolkit
+ dev-vcs/git
+ net-misc/wget
+ sys-apps/portage
+ x11-misc/xdg-utils"
+
+src_install() {
+ dodoc README.rst
+ rm -f COPYING README.rst || die
+ dobin *
+}
diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz
index 24c783ac281a..d4a51374ca6a 100644
Binary files a/app-shells/Manifest.gz and b/app-shells/Manifest.gz differ
diff --git a/app-shells/bash-completion/bash-completion-2.9-r1.ebuild b/app-shells/bash-completion/bash-completion-2.9-r1.ebuild
index 65f73ec18f36..d336aa2df2fb 100644
--- a/app-shells/bash-completion/bash-completion-2.9-r1.ebuild
+++ b/app-shells/bash-completion/bash-completion-2.9-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris"
IUSE="+eselect test"
RESTRICT="test"
diff --git a/app-shells/zsh-completions/Manifest b/app-shells/zsh-completions/Manifest
index 8a0f8516ec8e..d8585b60f3d6 100644
--- a/app-shells/zsh-completions/Manifest
+++ b/app-shells/zsh-completions/Manifest
@@ -1,2 +1,2 @@
DIST zsh-completions-0.29.0.tar.gz 251934 BLAKE2B 474f15cc8d492da0bbabc2a93edf316b9bb44bfb64ef8b8feae67fc381393b76701d9aca6eb64f6430f881b73a136985c8b17b392da139bd64afabe71e8183ba SHA512 4b2d79dd69576ce688fe24fe8c6e337319f2b96f5e668b9d58c8eb04f68198695a2652e8ad1e93a7ef9cf04cc53265c8db62f420b9ab6e1a2aff97ae24414945
-DIST zsh-completions-0.30.0.tar.gz 227966 BLAKE2B 8f80be627f1fdb78f901c12fca5f3281562a161f295198344607ecc2187077576c3b37a7d8d764b8cef3607bf02226297ba58e27da0348ce6fa4c923d7072054 SHA512 a4469d13208aa93bff481a8754882ed272143c9ac38949eec38dd61d461b65faae8e51dcb73c6c3eb7216098322f5cf407a67f0ddab4c9e88a467e16ab249609
+DIST zsh-completions-0.31.0.tar.gz 247806 BLAKE2B 1923013feab9800f2dd0eef7b2263b0e252dd35b21d865e3f42f7946eeba2d1a882179e05fd16fdf473006646896ef87ca1da5cbc9bf69b52c66bcf99e82c010 SHA512 3f707e96c5d08103359304905cd36889d2b8dae82f0ea3781048a8fbd2f1db509abc1a181dc75215552214a59ee532d207897167fdb3850a5b1cc40e13b2b108
diff --git a/app-shells/zsh-completions/zsh-completions-0.30.0.ebuild b/app-shells/zsh-completions/zsh-completions-0.31.0.ebuild
similarity index 94%
rename from app-shells/zsh-completions/zsh-completions-0.30.0.ebuild
rename to app-shells/zsh-completions/zsh-completions-0.31.0.ebuild
index 062d59b04010..574d178e5961 100644
--- a/app-shells/zsh-completions/zsh-completions-0.30.0.ebuild
+++ b/app-shells/zsh-completions/zsh-completions-0.31.0.ebuild
@@ -8,7 +8,7 @@ if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://github.com/zsh-users/zsh-completions.git"
else
SRC_URI="https://github.com/zsh-users/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~sparc ~x86"
fi
DESCRIPTION="Additional completion definitions for Zsh"
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index e13c3ae77b01..b79dedfef7d3 100644
Binary files a/dev-cpp/Manifest.gz and b/dev-cpp/Manifest.gz differ
diff --git a/dev-cpp/sourcetrail/Manifest b/dev-cpp/sourcetrail/Manifest
index 77c702639982..73d2c16a558b 100644
--- a/dev-cpp/sourcetrail/Manifest
+++ b/dev-cpp/sourcetrail/Manifest
@@ -1,3 +1,4 @@
DIST sourcetrail-2018.3.55.tar.gz 74278615 BLAKE2B e046acfb90cdb495ff28c3dcf4530129cc569a0e9c481f127f656059f80575e4be22e9b63a8b6f00ffdac977ca930ad7a3c4d0e1aa7912af711150afbef03707 SHA512 b8fccc4bae55abf5c5a05418b37c665817c860cc27e314f8ccb69665a63b90ef68485c2395fc899f1112a05def8e95068d7a5c92db399f1d3f7a203a09107767
DIST sourcetrail-2019.1.11.tar.gz 76120891 BLAKE2B 865c8a510a544705e130e3ec7bc82f1e7ca16d4dee2fa27849dd3530a92a20ef47ed909765ac08c8106ee0e992e3b4a03e79ef7094fb1593c4088b7d8e356423 SHA512 9022873572aef796fcbacf079c37b916d645aacd1479cc79fcddbfd8c561d0004c97202c46812b60d8c539dae3d68bd805da101678ebd1518ce13c3e58009ac9
DIST sourcetrail-2019.2.39.tar.gz 84960185 BLAKE2B a515da1a0c6a061d7db843b9bef3b1d419fdbea361c4f5465d32a4a9bfc018575a334de739354de2e249facb7ea6d342329c445990173303fce4fb818da8131d SHA512 5603d7c2fe84c58a13dc682bad6bdbd807b15a9fd7c73c6633f8a7d9e051a660916b3a03b9a5244e2cb4243492586d555a98f0cc464f7405c02f36ef655c8959
+DIST sourcetrail-2019.3.46.tar.gz 108528120 BLAKE2B f36e4e2eb98c28a4d4aa245df3cbd2febd524a3370111d77cc79c2220e6a6227509c9fb9ba9c8d8e0d286719ab55a858adcaee4c983233ee72daebddb62c9467 SHA512 032e9299430c4333115ececedfeb85f39a374d14366c06130becb395a71fc43af9ad9ee09258c4a3ba2d0c2daa0997d5054ad48f0701654fe48eea055ebec666
diff --git a/dev-cpp/sourcetrail/sourcetrail-2019.3.46.ebuild b/dev-cpp/sourcetrail/sourcetrail-2019.3.46.ebuild
new file mode 100644
index 000000000000..3989b699749e
--- /dev/null
+++ b/dev-cpp/sourcetrail/sourcetrail-2019.3.46.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop xdg-utils
+
+DESCRIPTION="A cross-platform source explorer for C/C++ and Java"
+HOMEPAGE="https://www.sourcetrail.com/"
+SRC_URI="https://www.sourcetrail.com/downloads/${PV}/linux/64bit -> ${P}.tar.gz"
+
+LICENSE="Sourcetrail || ( GPL-2 GPL-3 LGPL-3 ) BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples selinux"
+RESTRICT="mirror bindist"
+
+DEPEND="dev-util/patchelf"
+
+RDEPEND="
+ || (
+ dev-libs/openssl-compat:1.0.0
+ =dev-libs/openssl-1.0*:*
+ )
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libpng:1.2
+ sys-libs/libudev-compat
+ virtual/opengl
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXxf86vm
+ selinux? ( sys-libs/libselinux )
+"
+
+S="${WORKDIR}/Sourcetrail"
+QA_PREBUILT="*"
+
+src_install() {
+ # This removes the rpath entries with $$ORIGIN
+ # since they trigger warnings when merging
+ for f in "Sourcetrail" "sourcetrail_indexer"; do
+ rpath=$(patchelf --print-rpath "${f}" 2>/dev/null)
+ new_rpath=${rpath//\$\$ORIGIN\/lib\/:/}
+ patchelf --set-rpath "${new_rpath}" "${f}" || die
+ done
+
+ # Remove bundled libraries
+ rm -f lib/libXi.so.6 lib/libXxf86vm.so.1 lib/libXrender.so.1 lib/libXfixes.so.3 lib/libXext.so.6 \
+ lib/libXdamage.so.1 lib/libxcb* lib/libXau.so.6 lib/libX11-xcb.so.1 lib/libX11.so.6 \
+ lib/libudev.so.0 lib/libEGL.so.1 lib/libgbm.so.1 lib/libglapi.so.0 lib/libGL.so.1 \
+ lib/libdrm.so.2 lib/libfontconfig.so.1 lib/libfreetype.so.6 lib/libcrypto.so lib/libssl.so \
+ lib/libpng12.so.0 lib/libselinux.so.1 || die
+ insinto /opt/sourcetrail
+ doins -r EULA.txt README data lib plugin
+ use examples && doins -r user
+ exeinto /opt/sourcetrail
+ doexe Sourcetrail sourcetrail_indexer Sourcetrail.sh resetPreferences.sh
+ into /opt
+ newbin - sourcetrail <<-EOF
+ #! /bin/sh
+ exec /opt/sourcetrail/Sourcetrail.sh "\$@"
+ EOF
+ local size
+ for size in 48 64 128 256 512; do
+ newicon -s "${size}" "setup/share/icons/hicolor/${size}x${size}/apps/sourcetrail.png" \
+ "sourcetrail.png"
+ done
+ sed -i -e 's|Exec=/usr/bin/sourcetrail|Exec=/opt/bin/sourcetrail|' \
+ -e 's/Utilities;//' "setup/share/applications/sourcetrail.desktop" \
+ "setup/share/applications/sourcetrail.desktop" || die
+ domenu "setup/share/applications/sourcetrail.desktop"
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 9d49d3d40a9e..dea30f2d05e5 100644
Binary files a/dev-db/Manifest.gz and b/dev-db/Manifest.gz differ
diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest
index 5904318cf197..9a19448ee764 100644
--- a/dev-db/mariadb/Manifest
+++ b/dev-db/mariadb/Manifest
@@ -2,9 +2,11 @@ DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac265
DIST mariadb-10.1.41.tar.gz 63615288 BLAKE2B 91ebc6d24c80ad9651c42a2f4553ce3ec3b7beb17493f90ebbf02ab23f425b0f729766cf2c81202832dfbca0a5e285f94a4daf794fcf4d445730fbe4fcc88871 SHA512 4a18b06fda49c5c3627b4e7cd32fb460e73762273a0c3d09098e34c71e63caa8fad03cdd92ae4a391cdfdb3719934688f0bdf312fa4af7ac3b9e5f5d90f404be
DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2
DIST mariadb-10.2.26.tar.gz 73037655 BLAKE2B 54fd27959960736bffe0eeacc913b9aed0407d1be7a60d3035a1b84cbe8066aa1551c1c82a1b90b824debf85faaa9d11e3de29634a0108bc04bc17ca5c2a9d7c SHA512 1eaac1c1dda1017b64249d39d872729d3140d81653240c54f688f64440b1775e5f3a7c5a8486075fa1799411dfb0c2c09b7c1dbb46d95675572d90127048c124
+DIST mariadb-10.2.27.tar.gz 73068579 BLAKE2B 7e4ae229040b3136ad107979864bc391556c1ba83847addd89e09f3757cd01203503e07832abe496a7f560048ed704f273607da3a114afa59ceb13cbb3b89c14 SHA512 9ea7ea30f964d022d16c662c18ac40ea50ef5b6592d02ba739ad81f9dfa9e60be90ea6d4706b43b07402c4cbc8c0280633b6e21bda6daf5bbc1d3c540993e4d6
DIST mariadb-10.3.17.tar.gz 71894997 BLAKE2B 8e04302f67a99c28751f9970b7e8dfc5ada0583fdabc416e0469e23fa93d22dae8b79e762ef14ca65957e22ec310a290b15d33746f6f2e7287f922803e6a6826 SHA512 6fba995d8c284a12f19ee5635f5d69d8fa89fc314f512cd1764b2c4593933baf71a472ddce630463debd3bfbafa1cf5afee3f40d3c4062242f58cea16259561e
DIST mariadb-10.3.18.tar.gz 71950543 BLAKE2B d157426781713f19470004d80c587019e12c875d0958e5077ca373d856a8f1214be01dbc2a50fd5a754eaa91e727179bea70ee2a3133a219209cb819108c8940 SHA512 817253d18f20c74f9ec8030678fd50a28b1726fd59153023a3a5e9b3f79e1f44d79feb24ae9ed72d8c1c04017110c932aba7be0610fb06245590c7f5610db242
DIST mariadb-10.4.7.tar.gz 78155161 BLAKE2B b2c92093438b3574e494bda2180f4a2b5cbe10bac1c46acc45b5303fb4c2a1ca54f3ea88d138ab9cbb492460171dde86f3c21e5873d964b15c6c064e2e6eb47f SHA512 cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
+DIST mariadb-10.4.8.tar.gz 78262897 BLAKE2B 357dfd8db702d30c30173cb4ee0bbbda8e54a77a8f726cdc529cbaeebd390fe11fd05c108dde54b029b7e311ebbf9a610dc2c6e4015c9a198d816deaaec5831e SHA512 1aa7117734f4ebeb08395289ff1295e1d2ed2f89e8ccf3224cd60afaf2be56f81e8f0448e7619eeb6c858355a2b1e224efe42a0f400941f138342318adb66c42
DIST mariadb-5.5.65.tar.gz 45957577 BLAKE2B 9ed27349d008d2001ed4059370505064918ef3586f89157f5f28892bceabd3073b7070f4054c0a700f1504dde3a4077e274111d5b8cb3713bc5db0910b752628 SHA512 5dbaa2ba7a829a0d5ae6ab8394c31a58753cd93da2637cd83d1e055e78b0796d63214418ddc91a65cefdd791aad4f01b0743aa8c7c40ecbb404cb81fd0138443
DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec
DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c
diff --git a/dev-db/mariadb/mariadb-10.2.27.ebuild b/dev-db/mariadb/mariadb-10.2.27.ebuild
new file mode 100644
index 000000000000..4121860d2c5b
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.2.27.ebuild
@@ -0,0 +1,981 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+MY_EXTRAS_VER="20190305-2052Z"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+# Keeping eutils in EAPI=6 for emktemp in pkg_config
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ java-pkg-opt-2 user cmake-utils
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.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://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+ "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+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= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( virtual/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.41-r1:3=
+"
+DEPEND="virtual/yacc
+ static? ( sys-libs/ncurses[static-libs] )
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ server? ( !prefix? ( dev-db/mysql-init-scripts ) )
+ !=virtual/jre-1.6 ) ) )
+"
+# For other stuff to bring us in
+# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
+# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed
+PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )
+ server? ( ~virtual/mysql-5.6[static=]
+ galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )"
+
+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
+ 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
+ fi
+ fi
+ java-pkg-opt-2_pkg_setup
+ 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."
+ 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"
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_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 [[ -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 "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ fi
+
+ 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
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if use sst-xtrabackup ; then
+ ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup"
+ ewarn "as an SST is broken by default beginning with 10.2.19 with the setting"
+ ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead."
+ ewarn "sst-xtrabackup is being removed in 10.3 and higher."
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR%/}/${P}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_plugin() {
+ echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S%/}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ local malloc
+ for malloc in jemalloc tcmalloc ; do
+ if use ${malloc}; then
+ echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt"
+ fi
+ done
+
+ # Don't build bundled xz-utils for tokudb
+ 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
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Don't clash with dev-db/mysql-connector-c
+ sed -i -e 's/ my_print_defaults.1//' \
+ -e 's/ perror.1//' \
+ "${S}"/man/CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+ java-pkg-opt-2_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
+
+ 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # 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)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_JEMALLOC=$(usex jemalloc system)
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=share/mariadb
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ 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
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -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
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # 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 ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ 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" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+ fi
+
+ #Remove mytop if perl is not selected
+ [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop"
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-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"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ 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
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ _disable_test "$t" "False positive due to varying policies"
+ done
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \
+ main.mysql_upgrade \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ _disable_test main.gis_notembedded "Needs latin1 USE set"
+ _disable_test main.plugin_auth "Needs client libraries built"
+ _disable_test plugins.auth_ed25519 "Needs client libraries built"
+ _disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration"
+
+ # Likely environment issues as only number of clients connected fails
+ _disable_test rpl.rpl_semi_sync_uninstall_plugin \
+ "Fails intermittently on parallel testing"
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --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"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ 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_config() {
+ _getoptval() {
+ local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ 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="${ROOT}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT}/${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
+
+ 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
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${ROOT}/$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
+
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ 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"
+
+ 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 https://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 "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # https://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/mariadb/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${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 ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT}/${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=${ROOT}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${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-db/mariadb/mariadb-10.4.8.ebuild b/dev-db/mariadb/mariadb-10.4.8.ebuild
new file mode 100644
index 000000000000..4ab8c38d3729
--- /dev/null
+++ b/dev-db/mariadb/mariadb-10.4.8.ebuild
@@ -0,0 +1,1009 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+MY_EXTRAS_VER="20190731-2258Z"
+SUBSLOT="18"
+
+JAVA_PKG_OPT_USE="jdbc"
+
+inherit eutils systemd flag-o-matic prefix toolchain-funcs \
+ java-pkg-opt-2 cmake-utils
+
+SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.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://mariadb.org/"
+DESCRIPTION="An enhanced, drop-in replacement for MySQL"
+LICENSE="GPL-2 LGPL-2.1+"
+SLOT="0/${SUBSLOT:-0}"
+IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4
+ innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga
+ numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx
+ sst-rsync sst-mariabackup static systemd systemtap tcmalloc
+ test tokudb xml yassl"
+
+# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests
+RESTRICT="!bindist? ( bindist ) libressl? ( test )"
+
+REQUIRED_USE="jdbc? ( extraengine server !static )
+ server? ( tokudb? ( jemalloc !tcmalloc ) )
+ ?? ( tcmalloc jemalloc )
+ static? ( yassl !pam )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~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}"/20015_all_mariadb-pkgconfig-location.patch
+ "${MY_PATCH_DIR}"/20018_all_mariadb-10.4.5-without-clientlibs-tools.patch
+ "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch
+ "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch
+ "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch
+)
+
+# Be warned, *DEPEND are version-dependant
+# These are used for both runtime and compiletime
+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= )
+ >=sys-libs/zlib-1.2.3:0=
+ kerberos? ( virtual/krb5 )
+ yassl? ( net-libs/gnutls:0= )
+ !yassl? (
+ !libressl? ( >=dev-libs/openssl-1.0.0:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ sys-libs/ncurses:0=
+ !bindist? (
+ sys-libs/binutils-libs:0=
+ >=sys-libs/readline-4.1:0=
+ )
+ server? (
+ backup? ( app-arch/libarchive:0= )
+ cracklib? ( sys-libs/cracklib:0= )
+ extraengine? (
+ odbc? ( dev-db/unixODBC:0= )
+ xml? ( dev-libs/libxml2:2= )
+ )
+ innodb-lz4? ( app-arch/lz4 )
+ innodb-lzo? ( dev-libs/lzo )
+ innodb-snappy? ( app-arch/snappy )
+ mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 )
+ numa? ( sys-process/numactl )
+ oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= )
+ pam? ( virtual/pam:0= )
+ systemd? ( sys-apps/systemd:= )
+ tokudb? ( app-arch/snappy )
+ )
+ >=dev-libs/libpcre-8.41-r1:3=
+"
+BDEPEND="virtual/yacc
+ || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )
+"
+DEPEND="static? ( sys-libs/ncurses[static-libs] )
+ server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) )
+ test? ( acct-group/mysql acct-user/mysql ) )
+ ${COMMON_DEPEND}"
+RDEPEND="selinux? ( sec-policy/selinux-mysql )
+ !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster
+ !=virtual/jre-1.6 ) )
+ )
+ perl? ( !dev-db/mytop
+ virtual/perl-Getopt-Long
+ dev-perl/TermReadKey
+ virtual/perl-Term-ANSIColor
+ virtual/perl-Time-HiRes )
+"
+# 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 )
+ server? ( ~virtual/mysql-5.6[static=] )"
+
+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
+ 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
+ fi
+ fi
+ java-pkg-opt-2_pkg_setup
+ 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."
+ fi
+
+}
+
+pkg_preinst() {
+ java-pkg-opt-2_pkg_preinst
+}
+
+pkg_postinst() {
+ # Make sure the vars are correctly initialized
+ mysql_init_vars
+
+ # Create log directory securely if it does not exist
+ [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}"
+
+ if use server ; then
+ if use pam; then
+ einfo
+ elog "This install includes the PAM authentication plugin."
+ elog "To activate and configure the PAM plugin, please read:"
+ elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/"
+ einfo
+ chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die
+ fi
+
+ 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
+ einfo
+ elog "If you are upgrading major versions, you should run the"
+ elog "mysql_upgrade tool."
+ einfo
+ fi
+
+ if use galera ; then
+ einfo
+ elog "Be sure to edit the my.cnf file to activate your cluster settings."
+ elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\""
+ elog "The first time the cluster is activated, you should add"
+ elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node."
+ elog "This option should then be removed for subsequent starts."
+ einfo
+ if [[ -n "${REPLACING_VERSIONS}" ]] ; then
+ local rver
+ for rver in ${REPLACING_VERSIONS} ; do
+ if ver_test "${rver}" -lt "10.4.0" ; then
+ ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster."
+ ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4"
+ ewarn "for more information"
+ fi
+ done
+ fi
+ fi
+ fi
+
+ # Note about configuration change
+ einfo
+ elog "This version of mariadb reorganizes the configuration from a single my.cnf"
+ elog "to several files in /etc/mysql/${PN}.d."
+ elog "Please backup any changes you made to /etc/mysql/my.cnf"
+ elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension."
+ elog "You may have as many files as needed and they are read alphabetically."
+ elog "Be sure the options have the appropriate section headers, i.e. [mysqld]."
+ einfo
+}
+
+src_unpack() {
+ unpack ${A}
+ # Grab the patches
+ [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack
+
+ mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die
+}
+
+src_prepare() {
+ _disable_plugin() {
+ echo > "${S}/plugin/${1}/CMakeLists.txt" || die
+ }
+ _disable_engine() {
+ echo > "${S}/storage/${1}/CMakeLists.txt" || die
+ }
+
+ if use jemalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt"
+ elif use tcmalloc; then
+ echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt"
+ fi
+
+ # Don't build bundled xz-utils for tokudb
+ 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
+
+ local plugin
+ local server_plugins=( handler_socket auth_socket feedback metadata_lock_info
+ locale_info qc_info server_audit sql_errlog auth_ed25519 )
+ local test_plugins=( audit_null auth_examples daemon_example fulltext
+ debug_key_management example_key_management versioning )
+ if ! use server; then # These plugins are for the server
+ for plugin in "${server_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ fi
+
+ if ! use test; then # These plugins are only used during testing
+ for plugin in "${test_plugins[@]}" ; do
+ _disable_plugin "${plugin}"
+ done
+ _disable_engine test_sql_discovery
+ echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die
+ fi
+
+ _disable_engine example
+
+ if ! use oqgraph ; then # avoids extra library checks
+ _disable_engine oqgraph
+ fi
+
+ if use mroonga ; then
+ # Remove the bundled groonga
+ # There is no CMake flag, it simply checks for existance
+ rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga"
+ else
+ _disable_engine mroonga
+ fi
+
+ # Fix static bindings in galera replication
+ sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \
+ "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die
+ sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \
+ "${S}"/wsrep-lib/src/CMakeLists.txt || die
+
+ # Don't clash with dev-db/mysql-connector-c
+ sed -i -e 's/ my_print_defaults.1//' \
+ -e 's/ perror.1//' \
+ "${S}"/man/CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+ java-pkg-opt-2_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
+
+ 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/mariadb
+ -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin
+ -DINSTALL_SCRIPTDIR=share/mariadb/scripts
+ -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql"
+ -DINSTALL_SBINDIR=sbin
+ -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb"
+ -DWITH_COMMENT="Gentoo Linux ${PF}"
+ -DWITH_UNIT_TESTS=$(usex test ON OFF)
+ -DWITH_LIBEDIT=0
+ -DWITH_ZLIB=system
+ -DWITHOUT_LIBWRAP=1
+ -DENABLED_LOCAL_INFILE=1
+ -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ -DWITH_DEFAULT_COMPILER_OPTIONS=0
+ -DWITH_DEFAULT_FEATURE_SET=0
+ -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ # 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)
+ -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)"
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF)
+ -DCONC_WITH_EXTERNAL_ZLIB=YES
+ -DWITH_EXTERNAL_ZLIB=YES
+ -DSUFFIX_INSTALL_DIR=""
+ -DWITH_UNITTEST=OFF
+ -DWITHOUT_CLIENTLIBS=YES
+ -DCLIENT_PLUGIN_DIALOG=OFF
+ -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF
+ -DCLIENT_PLUGIN_CLIENT_ED25519=OFF
+ -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC
+ -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF
+ )
+ if use test ; then
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test )
+ else
+ mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' )
+ fi
+
+ if ! use yassl ; then
+ mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC )
+ else
+ mycmakeargs+=( -DWITH_SSL=bundled )
+ fi
+
+ # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION
+ mycmakeargs+=(
+ -DWITH_READLINE=$(usex bindist 1 0)
+ -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1)
+ -DENABLE_DTRACE=$(usex systemtap)
+ )
+
+ if use server ; then
+
+ # Federated{,X} must be treated special otherwise they will not be built as plugins
+ if ! use extraengine ; then
+ mycmakeargs+=(
+ -DPLUGIN_FEDERATED=NO
+ -DPLUGIN_FEDERATEDX=NO )
+ fi
+
+ mycmakeargs+=(
+ -DWITH_PCRE=system
+ -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO)
+ -DPLUGIN_SPHINX=$(usex sphinx YES NO)
+ -DPLUGIN_TOKUDB=$(usex tokudb YES NO)
+ -DPLUGIN_AUTH_PAM=$(usex pam YES NO)
+ -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO)
+ -DPLUGIN_CASSANDRA=NO
+ -DPLUGIN_SEQUENCE=$(usex extraengine YES NO)
+ -DPLUGIN_SPIDER=$(usex extraengine YES NO)
+ -DPLUGIN_CONNECT=$(usex extraengine YES NO)
+ -DCONNECT_WITH_MYSQL=1
+ -DCONNECT_WITH_LIBXML2=$(usex xml)
+ -DCONNECT_WITH_ODBC=$(usex odbc)
+ -DCONNECT_WITH_JDBC=$(usex jdbc)
+ # Build failure and autodep wrt bug 639144
+ -DCONNECT_WITH_MONGO=OFF
+ -DWITH_WSREP=$(usex galera)
+ -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF)
+ -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF)
+ -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF)
+ -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO)
+ -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO)
+ -DWITH_MARIABACKUP=$(usex backup ON OFF)
+ -DWITH_LIBARCHIVE=$(usex backup ON OFF)
+ -DINSTALL_SQLBENCHDIR=""
+ -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO)
+ # systemd is only linked to for server notification
+ -DWITH_SYSTEMD=$(usex systemd yes no)
+ -DWITH_NUMA=$(usex numa ON OFF)
+ )
+
+ # Workaround for MDEV-14524
+ use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 )
+
+ if use test ; then
+ # This is needed for the new client lib which tests a real, open server
+ mycmakeargs+=( -DSKIP_TESTS=ON )
+ fi
+
+ 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
+ -DMYSQL_USER=mysql
+ -DDISABLE_SHARED=$(usex static YES NO)
+ -DWITH_DEBUG=$(usex debug)
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DWITH_PROFILING=$(usex profiling)
+ )
+
+ if use static; then
+ mycmakeargs+=( -DWITH_PIC=1 )
+ fi
+
+ if use jemalloc || use tcmalloc ; then
+ mycmakeargs+=( -DWITH_SAFEMALLOC=OFF )
+ fi
+
+ # Storage engines
+ mycmakeargs+=(
+ -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
+ )
+
+ else
+ mycmakeargs+=(
+ -DWITHOUT_SERVER=1
+ -DWITH_EMBEDDED_SERVER=OFF
+ -DEXTRA_CHARSETS=none
+ -DINSTALL_SQLBENCHDIR=
+ -DWITH_SYSTEMD=no
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used
+ if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then
+ rm "${ED}/usr/include/mysql/server/private/config.h" || die
+ fi
+
+ # 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 ; then
+ rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test"
+ fi
+
+ # Configuration stuff
+ einfo "Building default configuration ..."
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}"
+ [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf
+ cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die
+ eprefixify "${TMPDIR}/my.cnf"
+ doins "${TMPDIR}/my.cnf"
+ insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d"
+ cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die
+ eprefixify "${TMPDIR}/50-distro-client.cnf"
+ doins "${TMPDIR}/50-distro-client.cnf"
+
+ if use server ; then
+ mycnf_src="my.cnf.distro-server"
+ sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
+ "${FILESDIR}/${mycnf_src}" \
+ > "${TMPDIR}/my.cnf.ok" || die
+ if use prefix ; then
+ sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \
+ "${TMPDIR}/my.cnf.ok" || die
+ fi
+ 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" 50-distro-server.cnf
+
+ einfo "Including support files and sample configurations"
+ docinto "support-files"
+ local script
+ for script in \
+ "${S}"/support-files/magic
+ do
+ [[ -f "$script" ]] && dodoc "${script}"
+ done
+
+ docinto "scripts"
+ for script in "${S}"/scripts/mysql* ; do
+ [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}"
+ done
+ # Manually install supporting files that conflict with other packages
+ # but are needed for galera and initial installation
+ exeinto /usr/libexec/mariadb
+ doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror"
+
+ if use pam ; then
+ keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir
+ fi
+ fi
+
+ # Remove mytop if perl is not selected
+ if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then
+ rm -f "${ED}/usr/bin/mytop" || die
+ fi
+
+ # Fix a dangling symlink when galera is not built
+ if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then
+ rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die
+ fi
+
+ # Remove broken SST scripts that are incompatible
+ local scriptremove
+ for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do
+ if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then
+ rm "${ED}/usr/bin/${scriptremove}" || die
+ fi
+ done
+}
+
+# Official test instructions:
+# USE='extraengine perl server' \
+# FEATURES='test userpriv -usersandbox' \
+# ebuild mariadb-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"
+
+ if [[ $UID -eq 0 ]]; then
+ die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
+ fi
+ has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox"
+
+ 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
+
+ # Run mysql tests
+ pushd "${TESTDIR}" > /dev/null || die
+
+ touch "${T}/disabled.def"
+ # These are failing in MariaDB 10.0 for now and are believed to be
+ # false positives:
+ #
+ # main.mysql_client_test, main.mysql_client_test_nonblock
+ # main.mysql_client_test_comp:
+ # segfaults at random under Portage only, suspect resource limits.
+
+ local t
+ for t in plugins.cracklib_password_check plugins.two_password_validations ; do
+ _disable_test "$t" "False positive due to varying policies"
+ done
+
+ for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \
+ main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do
+ _disable_test "$t" "False positives in Gentoo"
+ done
+
+ for t in funcs_1.is_columns_mysql main.gis_notembedded main.information_schema \
+ main.mysql_upgrade main.system_mysql_db ; do
+ _disable_test "$t" "Failure for difference between latin1 and utf-8"
+ done
+
+ _disable_test main.plugin_auth "Needs client libraries built"
+ _disable_test plugins.auth_ed25519 "Needs client libraries built"
+
+ _disable_test main.func_time "Dependent on time test was written"
+
+ _disable_test compat/oracle.plugin "Needs example plugin which Gentoo disables"
+
+ # run mysql-test tests
+ perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --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"
+
+ [[ -z "$failures" ]] || die "Test failures: $failures"
+ einfo "Tests successfully completed"
+}
+
+mysql_init_vars() {
+ MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"}
+ 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_config() {
+ _getoptval() {
+ local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults
+ local section="$1"
+ local flag="--${2}="
+ local extra_options="${3}"
+ "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp"
+ }
+ 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="${ROOT}/${MY_DATADIR}"
+ MY_DATADIR_s="${MY_DATADIR_s%%/}"
+ local old_MY_DATADIR_s="${ROOT}/${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
+
+ 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
+ MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)"
+ # These are dir+prefix
+ MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)"
+ MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*}
+ MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)"
+ MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*}
+
+ if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then
+ einfo "Creating MySQL tmpdir $MYSQL_TMPDIR"
+ install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR"
+ fi
+ if [[ ! -d "${ROOT}/$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
+
+ if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
+ ewarn "You have already a MySQL database in place."
+ ewarn "(${ROOT}/${MY_DATADIR}/*)"
+ ewarn "Please rename or delete it if you wish to replace it."
+ die "MySQL database already exists!"
+ 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"
+
+ if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then
+
+ einfo "Please provide a password for the mysql 'root'@'localhost' user now"
+ einfo "or through the ${HOME}/.my.cnf file."
+ ewarn "Avoid [\"'\\_%] characters in the password"
+ einfo "Not entering a password defaults to UNIX authentication"
+ read -rsp " >" pwd1 ; echo
+
+ if [[ -n "${pwd1}" ]] ; then
+
+ 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}"
+ fi
+ unset pwd1 pwd2
+ fi
+
+ local options
+ local sqltmp="$(emktemp)"
+
+ # Fix bug 446200. Don't reference host my.cnf, needs to come first,
+ # see https://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 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 "${MY_DATADIR}" ]]; then
+ install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory"
+ fi
+
+ pushd "${TMPDIR}" &>/dev/null || die
+
+ # Filling timezones, see
+ # https://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/mariadb/scripts/mysql_install_db" )
+ [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" )
+ cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${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 ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
+ fi
+ popd &>/dev/null || die
+ [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
+ || die "MySQL databases not installed"
+
+ if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then
+ einfo "Done"
+ exit 0
+ fi
+
+ 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=${ROOT}/${MY_DATADIR} \
+ --max_allowed_packet=8M \
+ --net_buffer_length=16K \
+ --socket=${socket} \
+ --pid-file=${pidfile} \
+ --tmpdir=${ROOT}/${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
+
+ [[ -S "${socket}" ]] ||
+ die "Completely failed to start up mysqld with: ${mysqld}"
+
+ if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then
+ ebegin "Setting root password"
+ # Do this from memory, as we don't want clear text passwords in temp files
+ local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}')"
+ "${EROOT}/usr/bin/mysql" \
+ "--socket=${socket}" \
+ -hlocalhost \
+ -e "${sql}"
+ unset sql
+ eend $?
+ fi
+
+ 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-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index a80964813a5f..ddbcb57738a3 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -1,4 +1,6 @@
DIST mongodb-src-r3.6.13.tar.gz 40853787 BLAKE2B de9621de4f570d569df5cfe026ea5da24641c97f1ac9f3e58a0706b1d0bd74757390a075c95c6d3acd12f3c5c7bcbeb9302ac997248c54a5b7910b582debdc82 SHA512 eb84fb22ff871b5ec620d6fc29a6a66072211656e914630ad0f53e4fcad55aa40a76a0e68e68bdbe8ef061bea09ce6ad6aea5d8d865ea8a8fdca0ed829555fcd
+DIST mongodb-src-r3.6.14.tar.gz 40895581 BLAKE2B 3cfe2aedd11a67a01ddee9eba36d99bad5fe8c7891e953cbdae9200427638e1acc1555c8d39df0217a48a95428838d573c90381698361f954d9aab860449cfcd SHA512 2bdc0ee86625724f64b7af2962b19b13cefb21d58d45c7b22fe2e01bd021f2427236c279c89785ede7c6986742127160b032294fbb652c55ce42f8d941a18cfe
DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999
DIST mongodb-src-r4.0.10.tar.gz 49870574 BLAKE2B 1babbfa1a6d8fae390ec37042feff896c402772e832cc5b0b82fc4d531a6487ac2bd8d407c37ca75a76d78bc91cc665bfc3b7b223e6ceaaea2d921b337ef4d19 SHA512 891bfdc0d415515d7aa36aeb0618055ac6815c7d704537b88293226cecc1b677134db621fd90dee3913f4ff8174a888bcf68adee0a243d0f55ef6c0033a4f4b9
DIST mongodb-src-r4.0.12.tar.gz 49937644 BLAKE2B 81044a6d68be6420d30fb2d7386ff29871a696cad94ce5977c1aba60c2ce80e18ccb86492c1947a359ef124332ea82ac3cb0fb73a68f51904a008fdf911aa055 SHA512 802eaf57d56c5e8e217344f10104a201acb6f5abef0065fc1bb8e6ceef13fe489b7ae46ed0d55b5bad50fe3579860b1c1471d224b51b0f15f968278cb5f6a47a
+DIST mongodb-src-r4.2.0.tar.gz 60781115 BLAKE2B 75531f69647c84f71127d4cdccf13bc21e50586240c767b4c1aa1efbf56cf008bf4f32b3a2011120ad9099da0f97be934375b8dd3d012670034327175c454f0e SHA512 be2f4e00364ac49b1a0490fa859640680a4d10d861252d200bd3db535c770a3b97cee9de6d2b0b6b3622502d055ba92b6c1d88cb1134d251aa2cf50a8951b64c
diff --git a/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch b/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch
new file mode 100644
index 000000000000..b65f91236770
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.0.12-boost-1.71-cxxabi-include.patch
@@ -0,0 +1,12 @@
+--- a/src/mongo/util/heap_profiler.cpp
++++ b/src/mongo/util/heap_profiler.cpp
+@@ -49,6 +49,9 @@
+ #include
+ #include
+
++// for abi::__cxa_demangle
++#include
++
+ //
+ // Sampling heap profiler
+ //
diff --git a/dev-db/mongodb/files/mongodb-4.2.0-fix-scons-third-party.patch b/dev-db/mongodb/files/mongodb-4.2.0-fix-scons-third-party.patch
new file mode 100644
index 000000000000..6afa0d75caf1
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.2.0-fix-scons-third-party.patch
@@ -0,0 +1,11 @@
+--- a/src/third_party/SConscript 2019-09-22 14:31:48.847382840 +0200
++++ b/src/third_party/SConscript 2019-09-22 14:32:56.858997243 +0200
+@@ -188,7 +188,7 @@
+ libraries = thisEnv.Flatten([libraries])
+ parts = thisEnv.Flatten([parts])
+ for lib in libraries:
+- mods = thirdPartyEnvironmentModifications[lib]
++ mods = thirdPartyEnvironmentModifications.get(lib, {})
+ if not parts:
+ thisEnv.PrependUnique(**mods)
+ else:
diff --git a/dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch b/dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch
new file mode 100644
index 000000000000..3c929df6f964
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb-4.2.0-fix-scons.patch
@@ -0,0 +1,30 @@
+--- a/SConstruct 2019-08-21 09:25:00.980260318 +0200
++++ b/SConstruct 2019-08-21 09:27:53.653601283 +0200
+@@ -1858,7 +1858,6 @@
+ # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
+ env.Append( CCFLAGS=["-fno-omit-frame-pointer",
+ "-fno-strict-aliasing",
+- "-ggdb" if not env.TargetOSIs('emscripten') else "-g",
+ "-pthread",
+ "-Wall",
+ "-Wsign-compare",
+@@ -1870,6 +1869,8 @@
+ env.Append( CCFLAGS=["-Werror"] )
+
+ env.Append( CXXFLAGS=["-Woverloaded-virtual"] )
++ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
++ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
+ if env.ToolchainIs('clang'):
+ env.Append( CXXFLAGS=['-Werror=unused-result'] )
+
+@@ -1890,8 +1891,8 @@
+
+ env.Append( LIBS=[] )
+
+- #make scons colorgcc friendly
+- for key in ('HOME', 'TERM'):
++ #make scons colorgcc, distcc, ccache friendly
++ for key in ('HOME', 'PATH', 'TERM'):
+ try:
+ env['ENV'][key] = os.environ[key]
+ except KeyError:
diff --git a/dev-db/mongodb/mongodb-3.6.14.ebuild b/dev-db/mongodb/mongodb-3.6.14.ebuild
new file mode 100644
index 000000000000..a1ca3bf944f8
--- /dev/null
+++ b/dev-db/mongodb/mongodb-3.6.14.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
+
+RDEPEND=">=app-arch/snappy-1.1.3
+ >=dev-cpp/yaml-cpp-0.5.3:=
+ >=dev-libs/boost-1.60:=[threads(+)]
+ >=dev-libs/libpcre-8.41[cxx]
+ dev-libs/snowball-stemmer
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.8:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ mms-agent? ( app-admin/mms-agent )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/cheetah[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )
+ test? (
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
+ )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
+ "${FILESDIR}/${PN}-3.6.1-no-compass.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 3.4; then
+ ewarn "To upgrade from a version earlier than the 3.4-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 3.4-series. Then upgrade to 3.6 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading."
+ fi
+ fi
+}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ )
+
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-4.0.12.ebuild b/dev-db/mongodb/mongodb-4.0.12.ebuild
index 1e60cc747ff8..d549bea6ba8f 100644
--- a/dev-db/mongodb/mongodb-4.0.12.ebuild
+++ b/dev-db/mongodb/mongodb-4.0.12.ebuild
@@ -54,6 +54,7 @@ PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
PATCHES=(
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
"${FILESDIR}/${PN}-4.0.0-no-compass.patch"
+ "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch"
)
S="${WORKDIR}/${MY_P}"
diff --git a/dev-db/mongodb/mongodb-4.2.0-r1.ebuild b/dev-db/mongodb/mongodb-4.2.0-r1.ebuild
new file mode 100644
index 000000000000..8c5b4a886d9a
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.2.0-r1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug kerberos libressl lto ssl test +tools"
+
+RDEPEND=">=app-arch/snappy-1.1.3
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+)]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd
+ dev-libs/snowball-stemmer
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )
+ test? (
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
+ )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.2.0-fix-scons-third-party.patch"
+ "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.0; then
+ ewarn "To upgrade from a version earlier than the 4.0-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.0-series. Then upgrade to 4.2 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading."
+ fi
+ fi
+}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-4.2.0.ebuild b/dev-db/mongodb/mongodb-4.2.0.ebuild
new file mode 100644
index 000000000000..8c5b4a886d9a
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.2.0.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug kerberos libressl lto ssl test +tools"
+
+RDEPEND=">=app-arch/snappy-1.1.3
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+)]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd
+ dev-libs/snowball-stemmer
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ virtual/python-typing[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )
+ test? (
+ $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
+ )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.2.0-fix-scons-third-party.patch"
+ "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.0; then
+ ewarn "To upgrade from a version earlier than the 4.0-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.0-series. Then upgrade to 4.2 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading."
+ fi
+ fi
+}
+
+pkg_setup() {
+ enewgroup mongodb
+ enewuser mongodb -1 -1 /var/lib/${PN} mongodb
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-games/Manifest.gz b/dev-games/Manifest.gz
index 823f4c4e612c..b7455f76f564 100644
Binary files a/dev-games/Manifest.gz and b/dev-games/Manifest.gz differ
diff --git a/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild b/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild
index 5b5976f8d6c0..fb80cba1dafb 100644
--- a/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild
+++ b/dev-games/quake4-sdk/quake4-sdk-1.4.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,7 +12,7 @@ LICENSE="QUAKE4"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE=""
-RESTRICT="strip"
+RESTRICT="bindist mirror strip"
S="${WORKDIR}"
diff --git a/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild b/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild
index 4d98a6595544..03bf48f840d3 100644
--- a/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild
+++ b/dev-games/quake4-sdk/quake4-sdk-1.4.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -12,7 +12,7 @@ LICENSE="QUAKE4"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE=""
-RESTRICT="strip"
+RESTRICT="bindist mirror strip"
S=${WORKDIR}
diff --git a/dev-haskell/Manifest.gz b/dev-haskell/Manifest.gz
index cb095cc4f206..1b14bde0faa8 100644
Binary files a/dev-haskell/Manifest.gz and b/dev-haskell/Manifest.gz differ
diff --git a/dev-haskell/monad-logger/metadata.xml b/dev-haskell/monad-logger/metadata.xml
index b83f7e64803f..d83f8eff0123 100644
--- a/dev-haskell/monad-logger/metadata.xml
+++ b/dev-haskell/monad-logger/metadata.xml
@@ -6,7 +6,7 @@
Gentoo Haskell
This package uses template-haskell for determining source code locations of messages.
diff --git a/dev-haskell/monad-logger/monad-logger-0.3.17.ebuild b/dev-haskell/monad-logger/monad-logger-0.3.17.ebuild
index ae088f8898f8..e84d8f4f2286 100644
--- a/dev-haskell/monad-logger/monad-logger-0.3.17.ebuild
+++ b/dev-haskell/monad-logger/monad-logger-0.3.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -15,7 +15,7 @@ SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
-IUSE="+template_haskell"
+IUSE="+template-haskell"
RDEPEND="dev-haskell/blaze-builder:=[profile?]
>=dev-haskell/conduit-1.0:=[profile?] ${P}.tar.gz
- amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
- x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
-
-RESTRICT=test # not stable for day-to-day runs
-
-# Not compatible with llvm-7 or llvm-8
-LLVM_MAX_SLOT=6
-
-# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
-DEPEND="
- sys-devel/llvm:${LLVM_MAX_SLOT}
- dev-libs/boehm-gc[static-libs,threads]
- dev-libs/libatomic_ops
- dev-libs/libevent
- dev-libs/libpcre
- sys-libs/libunwind
- dev-libs/pcl
- dev-libs/gmp:0
-"
-RDEPEND="${DEPEND}
- xml? ( dev-libs/libxml2 )
- yaml? ( dev-libs/libyaml )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.27.1-verbose.patch
- "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
- "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
- "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
- #"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
- "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
- "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
- "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
- "${FILESDIR}"/${PN}-0.29.0-no-usr-lib.patch
-)
-
-src_prepare() {
- default
-
- use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
-}
-
-src_compile() {
- local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin
- if [[ ! -d ${bootstrap_path} ]]; then
- eerror "Binary tarball does not contain expected directory:"
- die "'${bootstrap_path}' path does not exist."
- fi
-
- emake \
- $(usex debug "" release=1) \
- progress=true \
- stats=1 \
- threads=$(makeopts_jobs) \
- verbose=1 \
- \
- CC=$(tc-getCC) \
- CXX=$(tc-getCXX) \
- AR=$(tc-getAR) \
- \
- PATH="${bootstrap_path}:${PATH}" \
- CRYSTAL_PATH=src \
- CRYSTAL_CONFIG_VERSION=${PV} \
- CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
- use doc && emake docs
-}
-
-src_test() {
- # EXTRA_SPEC_FLAGS is useful to debug individual tests
- # as part of full build:
- # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
- emake spec \
- $(usex debug "" release=1) \
- progress=true \
- stats=1 \
- threads=$(makeopts_jobs) \
- verbose=1 \
- \
- CC=$(tc-getCC) \
- CXX=$(tc-getCXX) \
- AR=$(tc-getAR) \
- \
- CRYSTAL_PATH=src \
- CRYSTAL_CONFIG_VERSION=${PV} \
- \
- "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
-}
-
-src_install() {
- insinto /usr/$(get_libdir)/crystal
- doins -r src/.
- dobin .build/crystal
-
- insinto /usr/share/zsh/site-functions
- newins etc/completion.zsh _crystal
-
- use examples && dodoc -r samples
-
- if use doc ; then
- docinto api
- dodoc -r docs/.
- fi
-
- newbashcomp etc/completion.bash ${PN}
-}
diff --git a/dev-lang/crystal/crystal-0.29.0.ebuild b/dev-lang/crystal/crystal-0.29.0.ebuild
deleted file mode 100644
index b40924b3e3fb..000000000000
--- a/dev-lang/crystal/crystal-0.29.0.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
-
-BV=0.29.0-1
-BV_AMD64=${BV}-linux-x86_64
-BV_X86=${BV}-linux-i686
-
-DESCRIPTION="The Crystal Programming Language"
-HOMEPAGE="https://crystal-lang.org"
-SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
- amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz )
- x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
-
-RESTRICT=test # not stable for day-to-day runs
-
-# Not compatible with llvm-7 or llvm-8
-LLVM_MAX_SLOT=6
-
-# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
-DEPEND="
- sys-devel/llvm:${LLVM_MAX_SLOT}
- dev-libs/boehm-gc[static-libs,threads]
- dev-libs/libatomic_ops
- dev-libs/libevent
- dev-libs/libpcre
- sys-libs/libunwind
- dev-libs/pcl
- dev-libs/gmp:0
-"
-RDEPEND="${DEPEND}
- xml? ( dev-libs/libxml2 )
- yaml? ( dev-libs/libyaml )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.27.1-verbose.patch
- "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
- "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
- "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
- #"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
- "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
- "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
- "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
-)
-
-src_prepare() {
- default
-
- use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch
-}
-
-src_compile() {
- local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin
- if [[ ! -d ${bootstrap_path} ]]; then
- eerror "Binary tarball does not contain expected directory:"
- die "'${bootstrap_path}' path does not exist."
- fi
-
- emake \
- $(usex debug "" release=1) \
- progress=true \
- stats=1 \
- threads=$(makeopts_jobs) \
- verbose=1 \
- \
- CC=$(tc-getCC) \
- CXX=$(tc-getCXX) \
- AR=$(tc-getAR) \
- \
- PATH="${bootstrap_path}:${PATH}" \
- CRYSTAL_PATH=src \
- CRYSTAL_CONFIG_VERSION=${PV} \
- CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal"
- use doc && emake docs
-}
-
-src_test() {
- # EXTRA_SPEC_FLAGS is useful to debug individual tests
- # as part of full build:
- # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal
- emake spec \
- $(usex debug "" release=1) \
- progress=true \
- stats=1 \
- threads=$(makeopts_jobs) \
- verbose=1 \
- \
- CC=$(tc-getCC) \
- CXX=$(tc-getCXX) \
- AR=$(tc-getAR) \
- \
- CRYSTAL_PATH=src \
- CRYSTAL_CONFIG_VERSION=${PV} \
- \
- "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}"
-}
-
-src_install() {
- insinto /usr/$(get_libdir)/crystal
- doins -r src/.
- dobin .build/crystal
-
- insinto /usr/share/zsh/site-functions
- newins etc/completion.zsh _crystal
-
- use examples && dodoc -r samples
-
- if use doc ; then
- docinto api
- dodoc -r docs/.
- fi
-
- newbashcomp etc/completion.bash ${PN}
-}
diff --git a/dev-lang/crystal/crystal-0.28.0.ebuild b/dev-lang/crystal/crystal-0.31.0.ebuild
similarity index 92%
rename from dev-lang/crystal/crystal-0.28.0.ebuild
rename to dev-lang/crystal/crystal-0.31.0.ebuild
index fa78117f9c56..b67566686cd4 100644
--- a/dev-lang/crystal/crystal-0.28.0.ebuild
+++ b/dev-lang/crystal/crystal-0.31.0.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit bash-completion-r1 llvm multiprocessing toolchain-funcs
-BV=0.28.0-1
+BV=${PV}-1
BV_AMD64=${BV}-linux-x86_64
BV_X86=${BV}-linux-i686
@@ -22,8 +22,7 @@ IUSE="doc debug examples blocking-stdio-hack +xml +yaml"
RESTRICT=test # not stable for day-to-day runs
-# Not compatible with llvm-7
-LLVM_MAX_SLOT=6
+LLVM_MAX_SLOT=8
# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
DEPEND="
@@ -42,14 +41,13 @@ RDEPEND="${DEPEND}
"
PATCHES=(
- "${FILESDIR}"/${PN}-0.27.1-verbose.patch
+ "${FILESDIR}"/${PN}-0.31.0-verbose.patch
"${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
- "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
"${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
#"${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
"${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
"${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch
- "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch
+ "${FILESDIR}"/${PN}-0.29.0-no-usr-lib.patch
)
src_prepare() {
diff --git a/dev-lang/crystal/files/crystal-0.31.0-verbose.patch b/dev-lang/crystal/files/crystal-0.31.0-verbose.patch
new file mode 100644
index 000000000000..f381704ba0d9
--- /dev/null
+++ b/dev-lang/crystal/files/crystal-0.31.0-verbose.patch
@@ -0,0 +1,7 @@
+--- a/Makefile
++++ b/Makefile
+@@ -29,3 +29,3 @@ SOURCES := $(shell find src -name '*.cr')
+ SPEC_SOURCES := $(shell find spec -name '*.cr')
+-override FLAGS += $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )
++override FLAGS += $(if $(release),--release )$(if $(stats),--stats )$(if $(progress),--progress )$(if $(threads),--threads $(threads) )$(if $(debug),-d )$(if $(static),--static )$(if $(LDFLAGS),--link-flags="$(LDFLAGS)" )$(if $(verbose),--verbose )
+ SPEC_FLAGS := $(if $(verbose),-v )$(if $(junit_output),--junit_output $(junit_output) )
diff --git a/dev-lang/julia-bin/Manifest b/dev-lang/julia-bin/Manifest
index 4e00969e4218..331644b75345 100644
--- a/dev-lang/julia-bin/Manifest
+++ b/dev-lang/julia-bin/Manifest
@@ -1,6 +1,6 @@
DIST julia-1.1.0-freebsd-x86_64.tar.gz 80298415 BLAKE2B ec07fd0ee0504b744891b102ee936aac0550656cea96d2b342f39382a3df899a9fb3c6426ee18ff6febfe935ac595d6c66018a7e05f0bc091da3f5e166ee45fd SHA512 75460446a6278e56cf75e056ddcbd71715bc35b762d88199ef4065e29b101756ea386c979962b6243df549508b6618364203f48293012ce0b147987b94f0663c
DIST julia-1.1.0-linux-i686.tar.gz 85843858 BLAKE2B 574001002297a94b8a26fe772c11312fe8fdc6bf09ddb969f291f604288f941a151f356d9f22f2a953822a290a49977e8fb76cc4d74c819e0572fcce8ae218b2 SHA512 e2465e20024f98e1b64ba5c799b1825c24f88c4a9b6e8b07b9214722389bf9dd8a59a2b624fde75439dbcdeb437743903da7c86e721e75bc69b0d7a5ed8457e4
DIST julia-1.1.0-linux-x86_64.tar.gz 89632491 BLAKE2B 11987a54e87e167747ba2bc87d359981084fb1c91eab32e7498ee554b485c75fdc85e126c4d706fdf2e203bfbf143fba85e2f4e4bed81aeedbafbd2f099741c1 SHA512 bc47fe1ba304b6f083ba858c0d0318f684a19902b4c4937901d97f1a19ba19d60a6145a143ef742159fe6b40810ac39978d7574bdc29446da38c61d26ff8ef33
-DIST julia-1.1.1-freebsd-x86_64.tar.gz 80831400 BLAKE2B a9c542609323ed295b74ac6caab5bf9bf0f007958212b2100329b5b1925fc14c4af80df9cc292e20b418a76373dbbd543f1c9a212a5389a6ccf0836b21cca287 SHA512 22c4e1cf90fb098c109db3e1b1179d9fc7b136e7b646b94e7b2d241881c4a94bf1ccd0fcc807fd3100aa55451b36c816e93a4eff66bdd33bc1be131ade88577f
-DIST julia-1.1.1-linux-i686.tar.gz 85968698 BLAKE2B d92311e80208ce12004317a01fbbbfe6f2edd65ecb805d7102786cf83448c594f46fcb9a2b6de6e82f7b056c4c8c904a4f61ee787bb8e95b3c0373b1cf075b7d SHA512 3cba94e3d94c4f6206d17b8314e1fe441a32084183ec5a7496b4b78a1b3bc4c8d03f0a37937870a09bd020900a56707b9e10329ec86fa2225948baf7fbad26e5
-DIST julia-1.1.1-linux-x86_64.tar.gz 89727957 BLAKE2B a1176ab1fdebfeb212520e9d47fd438f16f1edf247cf22a6f56264ce73f234568453cb6040be7c1f3cdfc4ce34e0d8ea4d3b1e147d143b3076f6d9019d496653 SHA512 b3fdc71379c81399a1f77395287ed833fd23edb5eb9bab3e3dc68381b6d79641e0bd93fa0dedadb551f1761fee3efabcc7f426d0505aba751ae5fd147e0b7bf4
+DIST julia-1.2.0-freebsd-x86_64.tar.gz 82750080 BLAKE2B 2b95fedc8dbbc138c0794f42518cce280c62bb2442d6a0d53b809f21768497937b037e1e886cff19cb40d7a63f3e2ee8da0314250cab52e8b139724baff3ee91 SHA512 9c9af2e2346553ea5658ab5a9fe88539605774cd2737ac9bfb240b7fa3f9fd46f746d5dbdff2dd7405e8fbd33208c12a335b7d80cd0c78c62287ae5eb470fc8e
+DIST julia-1.2.0-linux-i686.tar.gz 87810731 BLAKE2B 1d72bf469f1dd3667ea00d038d18e20c10d9ceb579c61b2f30603bcd7ea55875423e4d54cbb774cfcc20044528f3ccd196131bb17cbaf7bf780fc5667c387e1e SHA512 ecd62047a0e36fe85a0442733949b19ca5d877fc2d2bced80566d1fcd6906345f66fb9114b6e687594e514b8c952d0352de5982f77f127e5196288431a1f64a9
+DIST julia-1.2.0-linux-x86_64.tar.gz 91990555 BLAKE2B 125313e7e53bddfcd64251fa2794e5b9d4bbbadb6100c1dc8f86039e13520859117f8ffcc2611d085805c9a80ad3544e88dd0e37803609e3b8b4097867fa8a5c SHA512 47e966d12204ffbefcdd8a60e850994df2247c37ee601f4147710d80e8e576672daaffe6d35d37fef644ea725f46d893832f096e24d938af856328299ad920d5
diff --git a/dev-lang/julia-bin/julia-bin-1.1.1.ebuild b/dev-lang/julia-bin/julia-bin-1.2.0.ebuild
similarity index 83%
rename from dev-lang/julia-bin/julia-bin-1.1.1.ebuild
rename to dev-lang/julia-bin/julia-bin-1.2.0.ebuild
index 7038a1517336..6f1a552fc9a6 100644
--- a/dev-lang/julia-bin/julia-bin-1.1.1.ebuild
+++ b/dev-lang/julia-bin/julia-bin-1.2.0.ebuild
@@ -8,9 +8,9 @@ MY_P=${MY_PN}-${PV}
DESCRIPTION="High-performance programming language for technical computing"
HOMEPAGE="https://julialang.org/"
SRC_URI="
- x86? ( https://julialang-s3.julialang.org/bin/linux/x86/1.1/${MY_P}-linux-i686.tar.gz )
- amd64? ( https://julialang-s3.julialang.org/bin/linux/x64/1.1/${MY_P}-linux-x86_64.tar.gz )
- amd64-fbsd? ( https://julialang-s3.julialang.org/bin/freebsd/x64/1.1/${MY_P}-freebsd-x86_64.tar.gz )
+ x86? ( https://julialang-s3.julialang.org/bin/linux/x86/1.2/${MY_P}-linux-i686.tar.gz )
+ amd64? ( https://julialang-s3.julialang.org/bin/linux/x64/1.2/${MY_P}-linux-x86_64.tar.gz )
+ amd64-fbsd? ( https://julialang-s3.julialang.org/bin/freebsd/x64/1.2/${MY_P}-freebsd-x86_64.tar.gz )
"
LICENSE="MIT"
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 27676dee6664..6c8019f3a8eb 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -1,7 +1,9 @@
DIST julia-1.1.0.tar.gz 7681396 BLAKE2B 2038901132bab1ae5ea634e15de2e18771e250c77e967228858f078a6e44e3f1900c1ea464b5db762842f65c4ad8590b70ba6b0b267bf955e86fa7f16a812696 SHA512 da546430df5a9207926faa3fe7b1d2c193a1223a379ce1ff25219c6f4f2d650497d1b0e9091f1cd542fa19bfcf7bf1ee74a52f7d45a06fd8ab4441a5ac4d4a46
DIST julia-1.1.1.tar.gz 7691742 BLAKE2B e41a62ee170c1b8f38a64c762998c12c04d00568e9261f6fea984fb10950da45143a19be723c271901bd3d96cf69f8d97c7a9737724b9d571b841143b3c8a3b5 SHA512 16dfb0b0f6e6f3f28432b71f78a3a584db939ea0e82afaad43e2e8145206aedb5355ad6fcec67223ccf59e9b04c89d49573e27b5746b879a6cb5d07043701463
+DIST julia-1.2.0.tar.gz 8255435 BLAKE2B 286b7bd93cae247c545d9c384e244115f84daee977839022993e91c69013eb4107ac77d86f996ec7a8e9f863bf5cab29fb063437b822e5da79e72bc9e0db4b65 SHA512 c99b0b744508b43df4ee334f588dbb57a633969d7cb164d41b76d552c1d14f5ff6f06a8d0da7f7a48fd1e3a3b3c2379998c5af1bfdff4b0c17045132b82a40b8
DIST julia-dsfmt-2.2.3.tar.gz 291773 BLAKE2B 6ffae90494d72527920c80fc0fb005da1c7b84f8a03a7ecb0789434c0fff97359e5098e85431896dffccc7d5148c414e847aaba5feef648b8788421a466ff65e SHA512 6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662
DIST julia-libuv-2348256acf5759a544e5ca7935f638d2bc091d60.tar.gz 1555710 BLAKE2B 31ce57d23765c142799dd985a5511751d63238cf7e082fd1ad5574bf62201e9d6cb53b8da5dcc724765ccb4abd63da3ca6d6cbd45e078310c2ffa3859d09b8e4 SHA512 c8bf3c736a60feb0c6994aa7cd1b80e1a45bd6096aa66db320ddfc27b59a0797d303338ea75978619173e4f0a680254f3db29c9f6d1b84361030cc11c7729c98
DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3
DIST julia-llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f14e8fc4f66ade69fa15479181f07f655f26dff3fa24bf105762b495da316c5c9352db234bd0af6b9c3fff6d4d881 SHA512 cbbb00eb99cfeb4aff623ee1a5ba075e7b5a76fc00c5f9f539ff28c108598f5708a0369d5bd92683def5a20c2fe60cab7827b42d628dbfcc79b57e0e91b84dd9
+DIST julia-utf8proc-454f60150c7f023526d353e1e6b386f93ee0b116.tar.gz 154318 BLAKE2B 6173490aa458f300f29d6fc0f22b80ccff436f4c52df2ac54786a3f518a140ab6624cef0a7221c8e3800307c9b8490a604215fcb028001b1b95e7630b62ed85d SHA512 50a19aa56edc5c023611c40e75862f4c9c08e1bfad0bac9ec64413406cff8f409ff106a37f8c66202e563cbe3ae1d5a40036b14fd309651b50c30d3f205f08f5
DIST julia-utf8proc-97ef668b312b96382714dbb8eaac4affce0816e6.tar.gz 156361 BLAKE2B e5e1485b758e959ed78f7fde8b211376da2365e5835708042de57c091b10b59755e1203a9f88c0d761687bf3d166207410de6ec203d80fef4dbdf06a50404cd1 SHA512 1c80dc6e71fdad187b142d02e561dfe1880857baaec08d36240ecb2f275d1bc5467aace84eebe5a10fd3f4c40b0035e65a5db3ec2a9ee6940920b0aad6221c55
diff --git a/dev-lang/julia/julia-1.2.0.ebuild b/dev-lang/julia/julia-1.2.0.ebuild
new file mode 100644
index 000000000000..2b6bbc213b4b
--- /dev/null
+++ b/dev-lang/julia/julia-1.2.0.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+RESTRICT="test"
+
+inherit pax-utils toolchain-funcs
+
+MY_PV="${PV//_rc/-rc}"
+MY_LIBUV_V="2348256acf5759a544e5ca7935f638d2bc091d60"
+MY_UTF8PROC_V="454f60150c7f023526d353e1e6b386f93ee0b116"
+MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e"
+MY_DSFMT_V="2.2.3"
+MY_LLVM="6.0.1"
+
+DESCRIPTION="High-performance programming language for technical computing"
+HOMEPAGE="https://julialang.org/"
+SRC_URI="
+ https://github.com/JuliaLang/${PN}/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz
+ https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> ${PN}-libuv-${MY_LIBUV_V}.tar.gz
+ https://api.github.com/repos/JuliaLang/utf8proc/tarball/${MY_UTF8PROC_V} -> ${PN}-utf8proc-${MY_UTF8PROC_V}.tar.gz
+ https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} -> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz
+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${MY_DSFMT_V}.tar.gz -> ${PN}-dsfmt-${MY_DSFMT_V}.tar.gz
+ http://releases.llvm.org/${MY_LLVM}/llvm-${MY_LLVM}.src.tar.xz -> ${PN}-llvm-${MY_LLVM}.src.tar.xz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND+="
+ dev-libs/double-conversion:0=
+ dev-libs/gmp:0=
+ dev-libs/libgit2:0=
+ >=dev-libs/libpcre2-10.23:0=[jit]
+ dev-libs/mpfr:0=
+ dev-libs/openspecfun
+ sci-libs/amd:0=
+ sci-libs/arpack:0=
+ sci-libs/camd:0=
+ sci-libs/ccolamd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/fftw:3.0=[threads]
+ sci-libs/openlibm:0=
+ sci-libs/spqr:0=
+ sci-libs/umfpack:0=
+ sci-mathematics/glpk:0=
+ >=sys-libs/libunwind-1.1:7=
+ sys-libs/readline:0=
+ sys-libs/zlib:0=
+ >=virtual/blas-3.6
+ virtual/lapack"
+
+DEPEND="${RDEPEND}
+ dev-vcs/git
+ dev-util/patchelf
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.0-fix_build_system.patch
+ "${FILESDIR}"/${PN}-1.1.0-fix_llvm_install.patch
+)
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_unpack() {
+ tounpack=(${A})
+ # the main source tree, followed by deps
+ unpack "${A/%\ */}"
+
+ mkdir -p "${S}/deps/srccache/"
+ for i in "${tounpack[@]:1}"; do
+ cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die
+ done
+}
+
+src_prepare() {
+ default
+
+ # Sledgehammer:
+ # - prevent fetching of bundled stuff in compile and install phase
+ # - respect CFLAGS
+ # - respect EPREFIX and Gentoo specific paths
+ # - fix BLAS and LAPACK link interface
+
+ sed -i \
+ -e 's|git submodule|${EPREFIX}/bin/true|g' \
+ -e "s|GENTOOCFLAGS|${CFLAGS}|g" \
+ -e "s|/usr/include|${EPREFIX%/}/usr/include|g" \
+ deps/Makefile || die
+
+ local libblas="$($(tc-getPKG_CONFIG) --libs-only-l blas)"
+ libblas="${libblas%% *}"
+ libblas="lib${libblas#-l}"
+ local liblapack="$($(tc-getPKG_CONFIG) --libs-only-l lapack)"
+ liblapack="${liblapack%% *}"
+ liblapack="lib${liblapack#-l}"
+
+ sed -i \
+ -e "s|GENTOOCFLAGS|${CFLAGS}|g" \
+ -e "s|GENTOOLIBDIR|$(get_libdir)|" \
+ -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" \
+ -e "s|-lblas|$($(tc-getPKG_CONFIG) --libs blas)|" \
+ -e "s|= libblas|= ${libblas}|" \
+ -e "s|-llapack|$($(tc-getPKG_CONFIG) --libs lapack)|" \
+ -e "s|= liblapack|= ${liblapack}|" \
+ Make.inc || die
+
+ sed -i \
+ -e "s|,lib)|,$(get_libdir))|g" \
+ -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
+ Makefile || die
+
+ sed -i \
+ -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
+ src/Makefile || die
+
+ # disable doc install starting git fetching
+ sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die
+}
+
+src_configure() {
+ # julia does not play well with the system versions of dsfmt, libuv,
+ # and utf8proc
+
+ # USE_SYSTEM_LIBM=0 implies using external openlibm
+ cat <<-EOF > Make.user
+ USE_SYSTEM_ARPACK:=1
+ USE_SYSTEM_BLAS:=1
+ USE_SYSTEM_DSFMT:=0
+ USE_SYSTEM_GMP:=1
+ USE_SYSTEM_GRISU:=1
+ USE_SYSTEM_LAPACK:=1
+ USE_SYSTEM_LIBGIT2:=1
+ USE_SYSTEM_LIBM:=0
+ USE_SYSTEM_LIBUNWIND:=1
+ USE_SYSTEM_LIBUV:=0
+ USE_SYSTEM_LLVM:=0
+ USE_SYSTEM_MPFR:=1
+ USE_SYSTEM_OPENLIBM:=1
+ USE_SYSTEM_OPENSPECFUN:=1
+ USE_SYSTEM_PATCHELF:=1
+ USE_SYSTEM_PCRE:=1
+ USE_SYSTEM_READLINE:=1
+ USE_SYSTEM_RMATH:=0
+ USE_SYSTEM_SUITESPARSE:=1
+ USE_SYSTEM_UTF8PROC:=0
+ USE_SYSTEM_ZLIB=1
+ VERBOSE=1
+ libdir="${EROOT}/usr/$(get_libdir)"
+ EOF
+
+}
+
+src_compile() {
+
+ # Julia accesses /proc/self/mem on Linux
+ addpredict /proc/self/mem
+
+ emake cleanall
+ emake julia-release \
+ prefix="${EPREFIX}/usr" DESTDIR="${D}" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ USE_BINARYBUILDER=0
+ pax-mark m $(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')
+ emake USE_BINARYBUILDER=0
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ # Julia is special. It tries to find a valid git repository (that would
+ # normally be cloned during compilation/installation). Just make it
+ # happy...
+ git init && \
+ git config --local user.email "whatyoudoing@example.com" && \
+ git config --local user.name "Whyyyyyy" && \
+ git commit -a --allow-empty -m "initial" || die "git failed"
+
+ emake install \
+ prefix="${EPREFIX}/usr" DESTDIR="${D}" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ USE_BINARYBUILDER=0
+ cat > 99julia <<-EOF
+ LDPATH=${EROOT}/usr/$(get_libdir)/julia
+ EOF
+ doenvd 99julia
+
+ dodoc README.md
+
+ mv "${ED}"/usr/etc/julia "${ED}"/etc || die
+ rmdir "${ED}"/usr/etc || die
+ mv "${ED}"/usr/share/doc/julia/html "${ED}"/usr/share/doc/${PF} || die
+ rmdir "${ED}"/usr/share/doc/julia || die
+}
diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest
index 5f50cb7fb21f..ae2e50360604 100644
--- a/dev-lang/nim/Manifest
+++ b/dev-lang/nim/Manifest
@@ -1,2 +1,3 @@
DIST nim-0.20.0.tar.xz 4997088 BLAKE2B fd03837c1674052145cbed631be4d4028a31fdd46d8b730734781b65d5bbcd9cb118ef7ac14c1bc16f7e056365b5bddf32160bf84566ac4815cb12e330f8e712 SHA512 e41fc9f9337535d07ebdd14ae8195bf9c666a0a242516f24d50241e69d50e89fcb9ac1a0b1fbeee0bc75b0218aeb18698ff2ac87447005dad52dc18da80bb02d
DIST nim-0.20.2.tar.xz 5032768 BLAKE2B 583e0b5cede279a0c0a60d4209f9be6237ff5ac070c0e82a075a242d08086e59c88c2ab29cbf3d2c6d7a455709b64086afd11e4928fcc9e81979d5296ef38b64 SHA512 231d95950ca5a7abe86175f93085ea27fae493e4f8dde3c9e086993431f9517781ceffeb4f9e761eb524523df3703d0a315fe53e32bc6daea6a684bf90589282
+DIST nim-1.0.0.tar.xz 5136624 BLAKE2B 6c87755f66ace6de44aa80d78840572d3ff96c07c97c7af73cdfe395cdbbfb614ad816b7e2c6b91519dcd341694ab48390d80ac97d82db3c1c9a111e0cbadaa4 SHA512 951bbec06a6a1059214b485c5eddfa3c1be0a4ccf6ba98ac3ee624f57d36e86ae1212ffcb6d1bb7ea0938aabbe95a8a6587b140f3219ddb24ec7c93f5672266f
diff --git a/dev-lang/nim/nim-1.0.0.ebuild b/dev-lang/nim/nim-1.0.0.ebuild
new file mode 100644
index 000000000000..bb41a8721feb
--- /dev/null
+++ b/dev-lang/nim/nim-1.0.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 multiprocessing toolchain-funcs
+
+DESCRIPTION="compiled, garbage-collected systems programming language"
+HOMEPAGE="https://nim-lang.org/"
+SRC_URI="https://nim-lang.org/download/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc +readline test"
+
+RESTRICT=test # need to sort out depends and numerous failures
+
+RDEPEND="
+ readline? ( sys-libs/readline:0= )
+"
+DEPEND="
+ ${DEPEND}
+ test? ( net-libs/nodejs )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.20.0-paths.patch
+)
+
+_run() {
+ echo "$@"
+ "$@" || die "'$*' failed"
+}
+
+nim_use_enable() {
+ [[ -z $2 ]] && die "usage: nim_use_enable
Proxy Maintainers
+
+ mgorny@gentoo.org
+ Michał Górny
+
This program allows users to configure Qt5 settings (theme, font,
icons, etc.) under DE/WM without Qt5 integration.
diff --git a/x11-misc/qt5ct/qt5ct-0.41.ebuild b/x11-misc/qt5ct/qt5ct-0.41.ebuild
new file mode 100644
index 000000000000..cb755d5ac746
--- /dev/null
+++ b/x11-misc/qt5ct/qt5ct-0.41.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils
+
+DESCRIPTION="Qt5 configuration tool, similar to qtconfig for Qt4"
+HOMEPAGE="https://sourceforge.net/projects/qt5ct/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dbus"
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5=
+ dev-qt/qtwidgets:5
+ dbus? (
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5[dbus]
+ )
+"
+DEPEND="${RDEPEND}
+ dev-qt/linguist-tools:5
+"
+
+src_configure() {
+ eqmake5 DISABLE_DBUS=$(usex dbus 0 1)
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+
+ newenvd - 98qt5ct <<< 'QT_QPA_PLATFORMTHEME=qt5ct'
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ ewarn "qt5ct configuration won't be applied to the currently running sessions."
+ ewarn "Please relogin."
+ fi
+ if ! has_version 'dev-qt/qtsvg:5'; then
+ elog
+ elog "For SVG icon themes, please install 'dev-qt/qtsvg:5'."
+ elog
+ fi
+}
diff --git a/x11-misc/xflux/xflux-20130927.ebuild b/x11-misc/xflux/xflux-20130927.ebuild
deleted file mode 100644
index 39d471769061..000000000000
--- a/x11-misc/xflux/xflux-20130927.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Makes the color of your computer's display adapt to the time of the day"
-HOMEPAGE="https://justgetflux.com/"
-SRC_URI="amd64? ( https://justgetflux.com/linux/${PN}64.tgz -> ${PN}64-${PV}.tar.gz )
- x86? ( https://justgetflux.com/linux/${PN}-pre.tgz -> ${P}.tar.gz )"
-
-KEYWORDS="-* amd64 x86"
-LICENSE="f.lux"
-SLOT="0"
-
-RESTRICT="bindist mirror"
-
-RDEPEND="x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXxf86vm"
-
-S="${WORKDIR}"
-
-QA_PREBUILT="usr/bin/xflux"
-
-src_install() {
- # Install binary
- dobin xflux
-}
diff --git a/x11-plugins/Manifest.gz b/x11-plugins/Manifest.gz
index c2d2f79bd081..3c55cca6beb5 100644
Binary files a/x11-plugins/Manifest.gz and b/x11-plugins/Manifest.gz differ
diff --git a/x11-plugins/pidgin-telegram/Manifest b/x11-plugins/pidgin-telegram/Manifest
index bac3780166bd..ab08164bedf9 100644
--- a/x11-plugins/pidgin-telegram/Manifest
+++ b/x11-plugins/pidgin-telegram/Manifest
@@ -1 +1,2 @@
DIST telegram-purple_1.4.1.orig.tar.gz 482389 BLAKE2B 84c753c5dcdb8e66d1ec56d5307d3489780e932032f382e2d026ad4b6529d4c161e677483a794e56e6388cd76164d9b93955828f5cfc7b199ff8fa8314ad8951 SHA512 335da688021d2401122065f9089b86b6ccba6e812b06d8d8bc96e0defbbe693b35c1f981f5bf772ebc2577ab60ac7e97ce08d72361bcd17b27fc11740084ff1a
+DIST telegram-purple_1.4.2.orig.tar.gz 484790 BLAKE2B d198ce3d1a5f4d226d48b6ff1cdf6f0899a5a1b79ef74c8ac77afa613aae5ec1cf53c8de69cfbab6b2f70df896be0315a90470f2b0da34d1644103be8e7d96ad SHA512 f2f88de8dd4038adaa1a63f2fa3678dd45ddda051be700d6eca563f4bd5b7c8dcb61fdf60bffb01b3fce0ffd01f7b2524686d997bfe4ca8b191cc7b6ce7375a1
diff --git a/x11-plugins/pidgin-telegram/pidgin-telegram-1.4.2.ebuild b/x11-plugins/pidgin-telegram/pidgin-telegram-1.4.2.ebuild
new file mode 100644
index 000000000000..77aeab01a2e4
--- /dev/null
+++ b/x11-plugins/pidgin-telegram/pidgin-telegram-1.4.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A libpurple protocol plugin that adds support for the Telegram messenger"
+HOMEPAGE="https://github.com/majn/telegram-purple"
+SRC_URI="https://github.com/majn/telegram-purple/releases/download/v${PV}/telegram-purple_${PV}.orig.tar.gz"
+
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="gcrypt libressl +nls +webp"
+
+RDEPEND="net-im/pidgin
+ sys-libs/zlib:=
+ gcrypt? ( dev-libs/libgcrypt:0= )
+ !gcrypt? (
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0= )
+ )
+ webp? ( media-libs/libwebp:= )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/telegram-purple"
+
+DOCS=( "AUTHORS" "CHANGELOG.md" "HACKING.md" "HACKING.BUILD.md" "README.md" )
+
+src_prepare() {
+ default
+
+ # Remove '-Werror' to make it compile
+ find -name 'Makefile*' -exec sed -i -e 's/-Werror //' {} + || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable gcrypt)
+ $(use_enable nls translation)
+ $(use_enable webp libwebp)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/x11-wm/Manifest.gz b/x11-wm/Manifest.gz
index 1a0994df31fc..a7a70ea039e5 100644
Binary files a/x11-wm/Manifest.gz and b/x11-wm/Manifest.gz differ
diff --git a/x11-wm/enlightenment/enlightenment-0.23.0.ebuild b/x11-wm/enlightenment/enlightenment-0.23.0.ebuild
index d3c781b0cb83..f919e54034ab 100644
--- a/x11-wm/enlightenment/enlightenment-0.23.0.ebuild
+++ b/x11-wm/enlightenment/enlightenment-0.23.0.ebuild
@@ -102,7 +102,6 @@ pkg_postinst() {
optfeature "image viewer" media-gfx/ephoto
optfeature "ConnMan user interface for Enlightenment" net-misc/econnman
optfeature "system and process monitor" sys-process/evisum
- optfeature "downloading themes and add-ons" x11-misc/enlightenment-extra
optfeature "feature rich terminal emulator" x11-terms/terminology
optfeature "a matching GTK theme" x11-themes/e-gtk-theme
}