summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/cloud-init/Manifest4
-rw-r--r--app-emulation/cloud-init/cloud-init-17.1.ebuild79
-rw-r--r--app-emulation/cloud-init/metadata.xml24
-rw-r--r--app-emulation/docker-machine/Manifest8
-rw-r--r--app-emulation/docker-machine/docker-machine-0.12.0.ebuild41
-rw-r--r--app-emulation/docker-machine/docker-machine-0.13.0.ebuild (renamed from app-emulation/docker-machine/docker-machine-0.10.0.ebuild)8
-rw-r--r--app-emulation/docker-machine/docker-machine-0.9.0.ebuild41
-rw-r--r--app-emulation/dosemu/Manifest3
-rw-r--r--app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild87
-rw-r--r--app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild2
-rw-r--r--app-emulation/kompose/Manifest4
-rw-r--r--app-emulation/kompose/kompose-1.1.0.ebuild30
-rw-r--r--app-emulation/kompose/kompose-1.2.0.ebuild30
-rw-r--r--app-emulation/libvirt/Manifest7
-rw-r--r--app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch74
-rw-r--r--app-emulation/libvirt/libvirt-3.8.0-r1.ebuild (renamed from app-emulation/libvirt/libvirt-3.7.0.ebuild)4
-rw-r--r--app-emulation/libvirt/libvirt-9999.ebuild3
-rw-r--r--app-emulation/qemu/Manifest2
-rw-r--r--app-emulation/qemu/qemu-2.10.0-r1.ebuild784
-rw-r--r--app-emulation/qemu/qemu-2.9.0-r57.ebuild796
-rw-r--r--app-emulation/virt-what/Manifest2
-rw-r--r--app-emulation/virt-what/virt-what-1.18.ebuild2
-rw-r--r--app-emulation/wine-staging/Manifest3
-rw-r--r--app-emulation/wine-staging/wine-staging-2.18.ebuild598
24 files changed, 2367 insertions, 269 deletions
diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest
index 00bc7a9ce464..924d8a9cc300 100644
--- a/app-emulation/cloud-init/Manifest
+++ b/app-emulation/cloud-init/Manifest
@@ -10,6 +10,7 @@ DIST cloud-init-0.7.6_p1212.tar.gz 451717 SHA256 d213ee72a62cef5ef63369737a52c0c
DIST cloud-init-0.7.7.tar.gz 477287 SHA256 d7b75e314ecdb99619014f21f3b622294a6c3bde248887dfb5e9cedb927ad0b0 SHA512 06cd2bba67da9668204416073af771145668db43777d6f183dcb54e8e1d9d12471fe3bfc99dfbc03a81814c5614347ff7d6acc5dbe117e1206d7fc2041ae4b62 WHIRLPOOL 9fccfba02aacc138dc62a6be9547fa1e5bd6959a96eef9b7f6f1ac86112049b36751882d954ac0e8d7aa5bf9580c5e27ec9abfdc2ef542628af448c00c468a09
DIST cloud-init-0.7.8.tar.gz 508777 SHA256 4a4f1f7fb9dd0987a02aa7cd6f609910294fce8f9724dcebc0cd88630b4f1fd6 SHA512 ff6c3837afe702359879f0ae1d7443247b0ed97d60ecf0cbe85fc364dc833e553962aae221f48becb104ad3f951a28cbd742a3b8521ef25dfb8fd19439759447 WHIRLPOOL 1881cc41ee85e69cf5169115c7449ff581f927def51aaf3df986b8e8c29baeace658bb24bc5b98fd6eab6fdb5f05ab4555ba4081b7758402089a35fe20595876
DIST cloud-init-0.7.9.tar.gz 602188 SHA256 76edb80bf1bdbda68f8014bc057a303ae438a139bdf394e825e548d6ae39d472 SHA512 ee52909f634f51dcf9e1229a8f49faa8c562bf05b69fac108fcc80cb3217f4364a33cf696df015e4dcd7887c68cf6108729850648b4daee07b3d3247ca3cc5b1 WHIRLPOOL 02093161cd3c6930b868ed18ca2e649ebbfac57b4ba3e8dcf4cb3107775cf052c739a0aee40ac79c69511efe5b3dfe60cbc2d55d9bbad74512cdf3a31fb77261
+DIST cloud-init-17.1.tar.gz 780532 SHA256 80f3bf5e8f57b67ac599aba2856568aeb30bd25187c7a363bed157a1e4d63e01 SHA512 988cae4291c8d6a5bce012b78d651c602c02ad38c3790e9ed9aa7c815ae84c98767718ab9b0d346ddbc9c83cb886d455590128af750183618c0bf0f0c5a79564 WHIRLPOOL 13a62d556a0d96bb81ccf0daa7dc4f4527aa9d3380e542b9d5cf00efc1f18c57ecb23aedf88ceb7a85ba04e11b8addd2f779e88f53a2a971a9e95e8a1b457938
EBUILD cloud-init-0.7.6-r1.ebuild 2585 SHA256 df26a8f48eb2eb38372485882f4327b5c3aff4410e1ff28ea285aac63cc7c67b SHA512 0c82e788cacd91e923ff57c240a3615c20157d2a4ba1fdf7d28eb6f0e9f7c55b64b3ef321dc1f2cadd40e47128d2ef0854f3488fe7aabf5cdcf3f8b326eb6ad8 WHIRLPOOL 9319eb572c5a8a698e64992f612ff193e702dc501ebf4cafb6ff50fa1c4f4801b1ca99efd73a3562bc1c66c197620a71c0a925ce2f3a9098efcdc6fd56dad548
EBUILD cloud-init-0.7.6-r2.ebuild 1922 SHA256 abbd4a3c48cb4d88b908fdf956a593a6cc7edfea0c4d46f956a6bb67af7b954b SHA512 a3e22b4b2985670b8de5fe9af2f2ef16df626a3b3acfdf1d1656f247e44ae91b9629fc693829beb7ea931be38509b418c52f5257f24d1f02045f97735c8ff8f3 WHIRLPOOL 09badf0e47bae767077cbf9ab5a1d3d09548e09237ee12bc36244ef72d487e4ee8c1c92b5427f31661277545b1226e95013ce020f8db3e4635fc985ebb036d70
EBUILD cloud-init-0.7.6_p1212-r1.ebuild 1989 SHA256 1152a314e3d891eee09507e1811af76cb2fab439e73e4809ed8cbc6add6c28f0 SHA512 4e71e5ff1b4a2ea8bf600d627911f7eb197d5f90f354e553996388bdef13309ceecab732b168e1f4c3bd8d5fa3dfa736a34bc535eedb55ffe6c23a6b1eb873ce WHIRLPOOL 47f7d07ac5c4db8d685f2849234ce8e78ee17c0c9e5d8e446ca5a986dee38d991ab7302cbd965d3e2940e95de21f9e63a2b3ca1863939380b1dac3fac8239535
@@ -17,7 +18,8 @@ EBUILD cloud-init-0.7.6_p1212.ebuild 1952 SHA256 0e1f41152c5e70596c0f10946cdd183
EBUILD cloud-init-0.7.7.ebuild 2399 SHA256 726a74c4265e9d18f3599ec0f1d4518f69688af19ca224ed32efff1a9fcf0859 SHA512 1c171970b6e60cc075b3863dafbb527fe23ad2ff0005303b34dba2d5ccff640ade4cfc0bfe54f97d0dd424b95266624599fd585d8931e92ad78bf5b8dae38bce WHIRLPOOL 2511737b3a0d9d229e92595c32393f1ac6496b0ecae1de6afea02608a4465852ad34178acc047709b84d29853d44193cc5dd3e9e74c2975555799cf66406df8c
EBUILD cloud-init-0.7.8-r2.ebuild 2547 SHA256 305353ce70285b6648611378d972ba4187f6d1fafb3d1b4b1b61ef4703b77d9c SHA512 972a04cc2c359f7271960820f4212ae1afc13def893b5bd87efe8ed30dd5f03f7219c008c9c7806f918eb7dbe3609e3c0407b7c0d5d5ad66b568abd2361ce2ec WHIRLPOOL 1cc11aa4c9eb4afc7e61365842ae2ef40cdb80235f57e3af3a0f1a6898e7d9664389faf33988b6ff317b28a2f3fb880ffcb7ff5f4c18e0b65ad93411e981c0cf
EBUILD cloud-init-0.7.9.ebuild 2542 SHA256 6f494ba3d828db5219d273f1573808063fe64778271011e0d255ebfb714c5eb5 SHA512 11db9733a73ca6ca53189b2f768e08a471a00adb419d96b00d7a64731299aa43fe45f6b4a03e1ebe16ce7d58316b06eb96933a83b99cb19bd6a6b2453278220d WHIRLPOOL 078703b94e2cec80eb08ec9d635f2f06e257ff54bdf34f63d89bdb4ee2fbfab13922a2547684de612f1b5f5f2c1c04812dfd9b7f73bb33c6c1f8f654c9f77329
+EBUILD cloud-init-17.1.ebuild 1936 SHA256 c71c30f374e4a5ce6f1bc7c0c527c92e67198fd78155a8eaac10b027d534884c SHA512 0137be211b6d6a4bd72842255b6d87554d950936b5acb87ffd5d0c748e921222af1838c40eabc2546cf4071c8a13f442dd241f37c38069f9c9da3e15851963d9 WHIRLPOOL c3e8ea955801120fb774460ce63435911f6366ed72829cb75f0d15124f8ca38ad4dffdfc74d5c8d039c6a60d58b53279b7c2991c06d00b18fc384fdaf4d51b42
EBUILD cloud-init-9999.ebuild 2219 SHA256 4f95c95c9814175961b50e8afb4c769cfb373e7fd76eee460feda94206b5d90d SHA512 f50bf3530aef585d11e8984a2252724d0e0a89e1b912304f26ec0a74cdbde78103eb7efb2ed4d9a7cf69c3db43970c7f40a959c5a969e85a547ce9e2a3894be5 WHIRLPOOL 95ac6e6797fa8a3f48184cc2cad12250f7add5d57eca6306eaf84904a0ca1c0c0c0429de849ebaa40b37d12850f4be4656c7269eb99e2f7014c90d0cfb6f99bc
MISC ChangeLog 6321 SHA256 6827aba1d60badd5cca5d44c55033291eb99c1d98d3f6d2bd238a942ef06ac9e SHA512 cf30e71550bcf4d4c73d7c80691a973e8dbaaa726c5341389af3cd79d3f4e0f890d818bc2b6b9e2d2c31153669026c038e198f68382b7dab65495b55aca93f0d WHIRLPOOL 0fa6fd9fe30b196bbc3878616e7e85a377f96eb8f51a2eff5f7e7d7bd07a68654940f82a3c465d894bc6e6484cf86efcf18478234950f16cd507ced1c6ad4648
MISC ChangeLog-2015 3361 SHA256 be1943a0d510b5b544b7e31cb630149f23093559da96b30c3933c073021b0bb7 SHA512 c2eea40c0d70371003e10986f5d674026dc325862d17793c60af3588ec81f6f54ba2d0402467e35f3c78c67d71203198029a2a1918fd028b36505277cb02c9ad WHIRLPOOL 711132a9e69fcb065186b293d3ceaef3febe8e0456466dff0d84ed497ed209ea1d144b6f20fa5b4982a5bb5eb9998c34b8ffb6f49ba23304cc35949b0015cb49
-MISC metadata.xml 561 SHA256 f4687f875ff0bb6e1c1072335f53f7deeeebc1cad46c629c7ac9d05fbca0d8f6 SHA512 76fcc7f7853794562c8a3e9359cc573d549b9bc627846bc9b9ebe67739cf4b2a97635baa7bc8fdefcf87284933d50e7f294d8e852ccfb2f5f822aa812712415c WHIRLPOOL 3c0c0e2498170ab20753a2b044f0d88c4205cd127d8223d184764d4fe16a73087bd551169c7e1b8ec7b9f60b6569427c48eb5920558020205a76026dc9d5565f
+MISC metadata.xml 578 SHA256 8f260ceade89912cd1f1468d09d0afc784716a81e3ae97d8b3835917b0e5ef4f SHA512 d7cc9ad3a86774be908102fa24f59c5b4bf42228f8c78d15887432eacdeafa2363ab34ec7446a12de28389750a222794653c3b1dfba64d680ca0288da0322599 WHIRLPOOL c4e1414bd802913d14efa25726849f779d7a6a7933106d490312cfe55fa1418158d67238f4c2949d82d5030d04d6e324a100bcee62ece3388a64ae19a3fa175a
diff --git a/app-emulation/cloud-init/cloud-init-17.1.ebuild b/app-emulation/cloud-init/cloud-init-17.1.ebuild
new file mode 100644
index 000000000000..9a77fbe60223
--- /dev/null
+++ b/app-emulation/cloud-init/cloud-init-17.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_4 python3_5 python3_6 )
+
+inherit distutils-r1 eutils multilib systemd
+
+DESCRIPTION="cloud initialisation magic"
+HOMEPAGE="https://launchpad.net/cloud-init"
+SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="test"
+
+CDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/oauthlib[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.2[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${CDEPEND}
+ >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/contextlib2[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ ${CDEPEND}
+ net-analyzer/macchanger
+ sys-apps/iproute2
+ sys-fs/growpart
+ virtual/logger
+"
+
+PATCHES=( )
+
+python_test() {
+ emake test
+}
+
+python_install() {
+ distutils-r1_python_install "--init-system=sysvinit_openrc,systemd"
+}
+
+python_install_all() {
+ keepdir /etc/cloud
+
+ distutils-r1_python_install_all
+
+ # installs as non-executable
+ chmod +x "${D}"/etc/init.d/*
+
+ insinto /etc/cloud/templates
+ doins "${FILESDIR}/hosts.gentoo.tmpl"
+ insinto /etc/cloud
+ doins "${FILESDIR}/cloud.cfg"
+}
+
+pkg_postinst() {
+ elog "cloud-init-local needs to be run in the boot runlevel because it"
+ elog "modifies services in the default runlevel. When a runlevel is started"
+ elog "it is cached, so modifications that happen to the current runlevel"
+ elog "while you are in it are not acted upon."
+}
diff --git a/app-emulation/cloud-init/metadata.xml b/app-emulation/cloud-init/metadata.xml
index 246445d7479a..7ed5f6002ad3 100644
--- a/app-emulation/cloud-init/metadata.xml
+++ b/app-emulation/cloud-init/metadata.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- <name>Matthew Thode</name>
- </maintainer>
- <maintainer type="person">
- <email>alunduil@gentoo.org</email>
- <name>Alex Brandt</name>
- </maintainer>
- <longdescription lang="en">
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
Package provides configuration and customization of cloud instance.
</longdescription>
- <upstream>
- <remote-id type="launchpad">cloud-init</remote-id>
- </upstream>
+ <upstream>
+ <remote-id type="launchpad">cloud-init</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/docker-machine/Manifest b/app-emulation/docker-machine/Manifest
index e275b82348d1..b13c7b0a4337 100644
--- a/app-emulation/docker-machine/Manifest
+++ b/app-emulation/docker-machine/Manifest
@@ -1,10 +1,6 @@
-DIST docker-machine-0.10.0.tar.gz 1605832 SHA256 ed64698723436e68341a1ebd8486006293eac306bfa8628e924b38bfcb5b039d SHA512 337ed74474b5e55e10ccd7c8bb3b778d06fc2c56c1646678715548ddeb41a0b7320212d498ad96cbdd08137f78013506b569c4e0aa0a2f28169264d64d814f7c WHIRLPOOL 06802376ba23ec1706ad09c784e3ceb70aab439d88523c2845a69a895e9a31911737bbf889f91627caae79e31cf8039265382183f7112987f0de6aea58adf138
-DIST docker-machine-0.12.0.tar.gz 1663612 SHA256 2238dbb8580ca2399c64fa6cda0089a9dde6142d4dcbb8d750aedbeee042fbfe SHA512 5fd27fcae1a44ed45db229342c93b3d53f0c193eaaf95d8f12d6e2be830c14c13154fd9338050f28b52bc0a5f8586bd72b802afc042b8d7f6c4d5dd5bc4c12ac WHIRLPOOL c0e6929447a1c6c582ce5e1aa2a01452661d9e1b9edcd43de75fd3300f200454c7b94196cf38a055befbebceb75decb7a303108ebd19e0512dae56d9ab55b6af
DIST docker-machine-0.12.2.tar.gz 1725590 SHA256 d8b89fcaa8226bd0ed294630b12740def88c70b1924ca4cc1ea05a19b25c05a3 SHA512 58b2ed13b56034f5bfb8374397aead67c669fc544409932f6c29ca56578ad61b3f584a8f32b281cafac56a9647d6e215ab5138045c2c6810a5d202c68bfdb3b0 WHIRLPOOL 391f7dc350ff45cc8754a1f17162b78879ebd81dee38be83cda4c7f78aaccaecf5917ad55fad6e22e9540401ddb10a355a3f17e91eddf2761686981dbf86dfed
-DIST docker-machine-0.9.0.tar.gz 1603705 SHA256 8e445e70a92c98a5e73594d8aea07b31dda6fa4ed2d1e7643663f0267e05f25f SHA512 f405f4b50e493d8c3e7526e89c8b45edf9167c9c04a1dfc9dafad3070f32a9a38570f02b900ceb322a43c596558c07b8f0b060cc4afe1fe2b6b6f4af0179a779 WHIRLPOOL 39b504327264c6f0ba2268fac2fa03c1b4f5f93c9e347d6f459e4a5f6bbfe773c5c272fb63d10fb272b92aa622e7474679f67200583f10fb5156f3198b0c1adb
-EBUILD docker-machine-0.10.0.ebuild 894 SHA256 c745699ffccabe14062205652b5ad7fa27c0880dbd721779e6dd38904d75693a SHA512 c910c83ddc89c7c6d43a396820a476e405dd0222ef5cd8be7e53d11ca29833ae79ba79bdce20efebf17b22a4957d31446238fd1af00ad4391740b1198d7e9c9c WHIRLPOOL 40803d0a1c8e787548b5d218e28fef63572793c4ac8a3c869e4643e0155ca748222b49dcbaf524b4e201d2b739bc34c3c7f55cd6b69efe7c2cb0ae487d2da4f2
-EBUILD docker-machine-0.12.0.ebuild 894 SHA256 c745699ffccabe14062205652b5ad7fa27c0880dbd721779e6dd38904d75693a SHA512 c910c83ddc89c7c6d43a396820a476e405dd0222ef5cd8be7e53d11ca29833ae79ba79bdce20efebf17b22a4957d31446238fd1af00ad4391740b1198d7e9c9c WHIRLPOOL 40803d0a1c8e787548b5d218e28fef63572793c4ac8a3c869e4643e0155ca748222b49dcbaf524b4e201d2b739bc34c3c7f55cd6b69efe7c2cb0ae487d2da4f2
+DIST docker-machine-0.13.0.tar.gz 1730091 SHA256 f75f6602a6d013a7b2ae517c3bdb07d8977825c1a0506157831fcd2ae083dc25 SHA512 c31b3505e475f5e55310cc3b8805db8b94522703956a640954c3898c584fc3a07830c346535855cbb2fb10016dd0e7ef72e7174e919a3651f05e18b652132121 WHIRLPOOL 336249121f9b15011e4fbf64f11363d57718567927b8eb7b6868f544ee986b037856729925c6477330e9c38b36a2ce62ba8c94917df57fdca4e5af676aec975e
EBUILD docker-machine-0.12.2.ebuild 904 SHA256 13d14a9bda778fb4edc00ef046e5bf1a7c588fc5696b9d89265427be1f6c3415 SHA512 1d71e0fdeec91958575e92675c16274ad82d196384fdd1276e03baf2dfd31fbe33e9f8a48d44ea3014190fbe053b03b31cd648e9c5a5eee025a43f4923762331 WHIRLPOOL 0289f74c9a9524d097439d03c5d074afdadb76bdddb0b0049c51d119d9f58cae89940cbe66f3332f401306b5bf5e14c29b20c9ee32d0f44f5adeb24e6bffbcaf
-EBUILD docker-machine-0.9.0.ebuild 904 SHA256 a2a4b9bd8ac1d6ec92287183e99fe1fc0a61bd06568b3b2da4fee6e60210d0ab SHA512 d841664501488d4c4a2fa2e98b663f5865466e44b57ce8803b091890346b3a63c4e8f0fa5be896958b97f9667003aa72bec3ccb82359069bade29213059ba618 WHIRLPOOL 168b71378b86e44f446498c1c7940279d9146852407ac99d159c9e606ce509e2acb2d7fe9427ea853496f75d54ef4a2e24fc238738bf0ac82e8b8f196845f0bf
+EBUILD docker-machine-0.13.0.ebuild 904 SHA256 13d14a9bda778fb4edc00ef046e5bf1a7c588fc5696b9d89265427be1f6c3415 SHA512 1d71e0fdeec91958575e92675c16274ad82d196384fdd1276e03baf2dfd31fbe33e9f8a48d44ea3014190fbe053b03b31cd648e9c5a5eee025a43f4923762331 WHIRLPOOL 0289f74c9a9524d097439d03c5d074afdadb76bdddb0b0049c51d119d9f58cae89940cbe66f3332f401306b5bf5e14c29b20c9ee32d0f44f5adeb24e6bffbcaf
MISC ChangeLog 2295 SHA256 8d8a25fef31e53e0f66327f9d37540ee994eb0e69c4be866fc5771716c5af2bf SHA512 c04992c741e57a7fb39740e4c0afd5ecee13969c5490ad16f01a5a342f686596cbe796eb9f410c1d1d14f03008175a760aa89c9ae61fd41a403870c2423169fc WHIRLPOOL 55be5950c7f3ca6f4178f0a830ca43528db9f715255266a4c934b778a81351eb2791aa6a17e8e5e0e5d678b368f931051a0507a8ed8d13b314c6ea0cd6b189b5
MISC metadata.xml 305 SHA256 ac57e0fbfac5cd756815724694163bb9c0a422772f12329e001958b853d1d2d2 SHA512 9d29b2f3f29ec6838395364bd85b38f0e54fc3a89f79041d5ddd492ef999018cff92e5ef6e6bcb5bc32cd7f57059531d10fd3ac5a5481da1fb1218081916a8bc WHIRLPOOL 193898fcd0e44d119c24769c82dcd6a6388436abc8aa4d25f87fcddf08e5a1e6644f474b4eb97ae15d123f21bc15bc17e88565c1d4946c8b9419e7568da4fcc7
diff --git a/app-emulation/docker-machine/docker-machine-0.12.0.ebuild b/app-emulation/docker-machine/docker-machine-0.12.0.ebuild
deleted file mode 100644
index 9a9deea991e6..000000000000
--- a/app-emulation/docker-machine/docker-machine-0.12.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGO_PN=github.com/docker/machine
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64"
- EGIT_COMMIT="v${PV}"
- SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Machine management for a container-centric world"
-HOMEPAGE="https://docs.docker.com/machine/"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-RESTRICT="test"
-DEPEND=">=dev-lang/go-1.7:="
-RDEPEND=""
-S=${WORKDIR}/${P}/src/${EGO_PN}
-
-src_prepare() {
- eapply_user
- # don't pre-strip binaries
- sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die
-}
-
-src_compile() {
- GOPATH="${WORKDIR}/${P}" emake build || die
-}
-
-src_install() {
- dobin bin/*
- dodoc CHANGELOG.md CONTRIBUTING.md README.md ROADMAP.md
-}
diff --git a/app-emulation/docker-machine/docker-machine-0.10.0.ebuild b/app-emulation/docker-machine/docker-machine-0.13.0.ebuild
index 9a9deea991e6..1697e3defa68 100644
--- a/app-emulation/docker-machine/docker-machine-0.10.0.ebuild
+++ b/app-emulation/docker-machine/docker-machine-0.13.0.ebuild
@@ -19,20 +19,18 @@ DESCRIPTION="Machine management for a container-centric world"
HOMEPAGE="https://docs.docker.com/machine/"
LICENSE="Apache-2.0"
SLOT="0"
-IUSE=""
+IUSE="hardened"
RESTRICT="test"
-DEPEND=">=dev-lang/go-1.7:="
-RDEPEND=""
S=${WORKDIR}/${P}/src/${EGO_PN}
src_prepare() {
- eapply_user
+ default
# don't pre-strip binaries
sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die
}
src_compile() {
- GOPATH="${WORKDIR}/${P}" emake build || die
+ CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" GOPATH="${WORKDIR}/${P}" emake build || die
}
src_install() {
diff --git a/app-emulation/docker-machine/docker-machine-0.9.0.ebuild b/app-emulation/docker-machine/docker-machine-0.9.0.ebuild
deleted file mode 100644
index 42b0669e9d18..000000000000
--- a/app-emulation/docker-machine/docker-machine-0.9.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGO_PN=github.com/docker/machine/...
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64"
- EGIT_COMMIT="v${PV}"
- SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-DESCRIPTION="Machine management for a container-centric world"
-HOMEPAGE="https://docs.docker.com/machine/"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-RESTRICT="test"
-DEPEND=">=dev-lang/go-1.7:="
-RDEPEND=""
-S=${WORKDIR}/${P}/src/${EGO_PN%/*}
-
-src_prepare() {
- eapply_user
- # don't pre-strip binaries
- sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die
-}
-
-src_compile() {
- GOPATH="${WORKDIR}/${P}" emake build || die
-}
-
-src_install() {
- dobin bin/*
- dodoc CHANGELOG.md CONTRIBUTING.md README.md ROADMAP.md
-}
diff --git a/app-emulation/dosemu/Manifest b/app-emulation/dosemu/Manifest
index 65f421998b70..dceaed73e9ef 100644
--- a/app-emulation/dosemu/Manifest
+++ b/app-emulation/dosemu/Manifest
@@ -6,8 +6,7 @@ AUX dosemu-1.4.1_pre20130107-ia16-ldflags.patch 1688 SHA256 5fdc3975d0c764204369
AUX dosemu-1.4.1_pre20130107-no-glibc.patch 559 SHA256 29e59d4049e0af0ff8d97478a1e06091bea5ec700503877c4814d538fdaf70b7 SHA512 c53e3f7ed1b7a74e1112ea5507d0912ef1d16ff657aa5a03132f6b4c35ddb638ecde40ef554254f429316ffd74fc2d8afb59548d97547eeed231c80c0c057eed WHIRLPOOL 1a08dafc08d01bc168a8bcc760966246c34003ebf271fc7b13a44afaabcff8fc8efa7d4a6b4fb72a67ea9800618adae75573ee2a602bd1d08cd26c5789d73fd5
DIST dosemu-1.4.1_pre20130107.zip 2767256 SHA256 072e1d8ea9c574b02e556d926a287c9c55b82384ed652bb8dd6f3488801901aa SHA512 eb8dcb914a74b235f2b37ff4dd5c1c84b4916ff195c7bf76cdbe6a4d5e6247c57297eef0c579f219ff7f475e727d66fa5a0f314da46d79cc97a0d794e9ad5864 WHIRLPOOL d2835f82515e40d3c85c1ee53c7add5ba055637864ee63997ec912f53862006e33b4139a253b98cb76ca3cdbd7bdca6614609d9e8e716b074283e77cd8105e3c
DIST dosemu-freedos-1.0-bin.tgz 1205628 SHA256 080c306a1b611e1861fd64466062f268eb44d2bf38082b8a57efadb5a9c0ebc7 SHA512 d0c4235ceac55de63ce5f72e51b7d57a82b8104f4bf2df6f4dc25c9889d3337b40d75665c2dfc98492ec7123e0959a725f5c7579e145895024bd80a07036e3bd WHIRLPOOL 9e6acf38dc8fafe95a49baaaac2a97fdd02c508b7c30c60823f8af7f44aa62b8d82c92661640b4cef05fcdbea401fafea752ec4a0e439a8eff361dd41aa392d3
-EBUILD dosemu-1.4.1_pre20130107-r3.ebuild 2210 SHA256 7f564ae5815adbb8093b5b0e200ad159db4866dd7826a87a52f4e097a86678b8 SHA512 8eec21fcc4f82567453f3d8c3a9e89a9c49090c6324b9a728336f95c036d329d180fc9ad47888b0dd0fb4175b12010e61da9b9ab910506fa36ccb394b2bb4e11 WHIRLPOOL b67e61c399c17ff18bd3d400eb8bc58a2663f39f850eb63fecf8ca5a496eda266e70aafe7ad982baaabded99c1fa979bd043caceb53393c20333f16c7761852c
-EBUILD dosemu-1.4.1_pre20130107-r4.ebuild 2528 SHA256 fe335134854d8d3a46745db9c7dfc429c498b30411414699ef4c1c4130ed9f84 SHA512 fef7eade74a2c124b28029bd81ad1e9976b3578ea05a94e8a09b725b2c2cc181fcfb14ac90d5e9a778271d8aa97e7d29d754b412714bbae2cf1cb535d23439e7 WHIRLPOOL 09f2385797b7763f272ea7ef54cd69e9ac42ecc2af884b7c83903db7bd62de8e68bf9d04b0842f6472aec8f31a010c69667ff5c1b7b26b9b6255f3c3ca9b3e4a
+EBUILD dosemu-1.4.1_pre20130107-r4.ebuild 2526 SHA256 bd2402537d7061191ecc5b46b65d135f68631b2ee8e07712a23e8b32eb4a821d SHA512 bb92985c30a089cd06bcb5221e5f6e7ade17b98e7a98fdbb51a18ac6fdcbc412cd4ab834dfebfb2b8f16097796fbe8c56f3c4abda902bb2a1a4e0a8463ac4c02 WHIRLPOOL ae783002547bd3244c465e57505e54caa396aae8c1060e1b909b43b209112ac56ed3b43017e23c4ef4b5907fd4345a27f3c51a81393216eee3f85345708accd5
MISC ChangeLog 4068 SHA256 b2fbf8843568f1ac97c02c178d3299d7e15a72c4d30e52162d741cac620e5f42 SHA512 37e3c8d1f247d2b7a54ce1537ad70f46fe97d53a0acacdba3f8c53c455a365d5feada5c0fa5f9195898a6876e665d6316bb592381dbc0891c828d2d0529933bc WHIRLPOOL 7bd2a2608b06a0a14152102d9a286fdfca527b807824c65f7d50c99502dc56952f281b0880f3d85d3052d8d6de3a36413bf9edbaeb1c405b441baf0bf7cc8aee
MISC ChangeLog-2015 9124 SHA256 29bdd1f0271a8d9bb3cb211565ce34d27738229d11c12c4a52e54906d9ede5ac SHA512 9b70931aed528f1279c4e9e726fae2fad45b5fc6c8c6c28e46ca2048fae1b089fab8f36dc0bb285fa85f2b445d52620e38c16337a58b08571ccae5e4705b50a3 WHIRLPOOL 344e78ca239fd94b030fa076ed23395f01c09be31825caf89c7c558ab4a43ef49e134ddd4ebd124a1a8fd070f00766f8f25365fe38c1d98a831c246befc36fab
MISC metadata.xml 432 SHA256 eee767a8db09c9f12d83195219073e5895d157b096d59308ea31c2d9313a93bc SHA512 da0538836dc326d714141ab6c7b9f00bc1604fa5b51df7d9d548a8e3d889072b3ee8890a25705e2a7c2c1c31645c0b9af85ce6a2d1e4aa142a4d83a08fd6f9d8 WHIRLPOOL 70837a0b55b4b70b260844cb6f5a69e4e12994d3aa7533c7f4638ee09caad18ccbaf02a2c51503c68a1982b89a803b6a0b1017ef59db1ced562b6b51c1c6e4b4
diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
deleted file mode 100644
index 59a9fdf16d5e..000000000000
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils flag-o-matic pax-utils toolchain-funcs
-
-P_FD="dosemu-freedos-1.0-bin"
-COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71"
-
-DESCRIPTION="DOS Emulator"
-HOMEPAGE="http://www.dosemu.org/"
-SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz
- https://sourceforge.net/code-snapshots/git/d/do/dosemu/code.git/dosemu-code-${COMMIT}.zip -> ${P}.zip"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="X svga gpm debug alsa sndfile fluidsynth"
-
-RDEPEND="X? ( x11-libs/libX11
- x11-libs/libXxf86vm
- x11-libs/libXau
- x11-libs/libXext
- x11-libs/libXdmcp
- x11-apps/xset
- x11-apps/xlsfonts
- x11-apps/bdftopcf
- x11-apps/mkfontdir )
- svga? ( media-libs/svgalib )
- gpm? ( sys-libs/gpm )
- alsa? ( media-libs/alsa-lib )
- sndfile? ( media-libs/libsndfile )
- fluidsynth? ( media-sound/fluidsynth
- media-sound/fluid-soundfont )
- media-libs/libsdl
- >=sys-libs/slang-1.4"
-
-DEPEND="${RDEPEND}
- X? ( x11-proto/xf86dgaproto )
- >=sys-devel/autoconf-2.57"
-
-S="${WORKDIR}/${PN}-code-${COMMIT}"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-fortify.patch
- epatch "${FILESDIR}"/${PN}-1.4.1_pre20091009-dash.patch
- epatch "${FILESDIR}"/${P}-no-glibc.patch
- epatch "${FILESDIR}"/${P}-flex-2.6.3.patch
-
- epatch_user
-
- # Has problems with -O3 on some systems
- replace-flags -O[3-9] -O2
-
- # This one is from media-sound/fluid-soundfont (bug #479534)
- sed "s,/usr/share/soundfonts/default.sf2,${EPREFIX}/usr/share/sounds/sf2/FluidR3_GM.sf2,"\
- -i src/plugin/fluidsynth/mid_o_flus.c || die
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with X x) \
- $(use_with svga svgalib) \
- $(use_enable debug) \
- $(use_with gpm) \
- $(use_with alsa) \
- $(use_with sndfile) \
- $(use_with fluidsynth) \
- --with-fdtarball="${DISTDIR}"/${P_FD}.tgz \
- --sysconfdir="${EPREFIX}"/etc/dosemu/ \
- --with-docdir="${EPREFIX}"/usr/share/doc/${PF}
-}
-
-src_compile() {
- emake AR=$(tc-getAR)
-}
-
-src_install() {
- default
-
- # r - randmmap: dosemu tries to get address mapping
- # exactly where asked, loops otherwise.
- # m - allow RWX mapping: as it's an emulator / code loader
- pax-mark -mr "${ED}/usr/bin/dosemu.bin"
-}
diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild
index 67e228d97944..8b5fcdc0a693 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r4.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
+KEYWORDS="-* amd64 x86"
IUSE="X svga gpm debug alsa sndfile fluidsynth"
RDEPEND="X? ( x11-libs/libX11
diff --git a/app-emulation/kompose/Manifest b/app-emulation/kompose/Manifest
index e1cc0a6345dd..9570deb77e9f 100644
--- a/app-emulation/kompose/Manifest
+++ b/app-emulation/kompose/Manifest
@@ -1,8 +1,4 @@
-DIST kompose-1.1.0.tar.gz 5090229 SHA256 912c6f1e1e609372e355237604cb8915d7b8b47147a3230c35ac5d9c2615eef3 SHA512 4082644a8bbe2ad23555e4d1ab72cc10f6e4cd70af3d654ee337bf344e3044b477577097886259944067959cbffc9be34140ac735c3f58f70a58ea18958fadab WHIRLPOOL 207910b2b624ad8314cad30f2759b3e0a67277623db1198c0f9db1678624ecde77b5d6cbe04de075efe4b0dc8adf216e44fe4838c18728617f95c2e0c2e70b6e
-DIST kompose-1.2.0.tar.gz 5091229 SHA256 9fb15d30c6e33025237801f401d6b57b164a142f205d48b1574edf1f9aa92434 SHA512 a01ee5366d748ddc3a21ffb31048759408968c0c51ab756b65ae4d02ae6a03041b94a23ae90e15765366c5947956d4e8e9a129ef5bf6cd74e586c6fad5ba5434 WHIRLPOOL 84dbbc9c1339e4838382fe6c23b8330866ea1a9370de93a0d5653093da454674f40471074740b4f23f61dedac2e5c2798299e2ad2800a8b3a2c2b25dd5bf8940
DIST kompose-1.3.0.tar.gz 5166961 SHA256 c047708123b769d23cd8e68063b01b6229c5e76338ec294ba0e62a4b73ef46d8 SHA512 394cc35022d6c9f3e70cc8ff567f403fad84b54c71a0c7da856313162bf41223d7dff59abff372f7726404dec04283deb5e0c0960f966471f86607140eddb4d4 WHIRLPOOL e0300c3380e058351f6029ca158c1b8ba5a5c91fd5583dbad84dea7faff2f8f472fcb50eda9673d58c1711c7607d4abb2353fd957c18f4ffa4a5f90413a2c704
-EBUILD kompose-1.1.0.ebuild 886 SHA256 a05f028dc1cfce45d64ad62949fd28ef4702efc6191bccc8e712508a0dd317ce SHA512 9574a4a99dc574d37ce216da587d146154ff2295989eb3b5819bfe06fe4ff4c6335f83f059e1a9e7539de29734acc13d938bab5a0d9e8ba0bb10d34db882eb31 WHIRLPOOL bf8f445a54aead0c6d3c21504448a10a1845fe0436407ebb821d701987343f11e43a905cf01dbf6e8bc96937f69f104df4b9ede0549f1387777ff538bff091c4
-EBUILD kompose-1.2.0.ebuild 886 SHA256 1ae3c029d3b1d1fde1055474cecbc2e0099e7439a7f82a305e92552f2f63c834 SHA512 824599363b466e73ecdfc4ce9877e16b788c1650e330b8173203e047225ed0882c17f855e069d86447482fffa7d374b9d25f826c6f32ce61f75dfc1bf90d836a WHIRLPOOL 11593a0e0958a122b95dfba29148e00258d5056e876d5b08f58d07e8579e7c78df82c658f997f75f3b7946dc8feead9b6d18991ad31134c5a47575c67d1062a4
EBUILD kompose-1.3.0.ebuild 886 SHA256 1ae3c029d3b1d1fde1055474cecbc2e0099e7439a7f82a305e92552f2f63c834 SHA512 824599363b466e73ecdfc4ce9877e16b788c1650e330b8173203e047225ed0882c17f855e069d86447482fffa7d374b9d25f826c6f32ce61f75dfc1bf90d836a WHIRLPOOL 11593a0e0958a122b95dfba29148e00258d5056e876d5b08f58d07e8579e7c78df82c658f997f75f3b7946dc8feead9b6d18991ad31134c5a47575c67d1062a4
MISC ChangeLog 347 SHA256 d0790ddd06a0fb4b66cbd8218e5133b48d83123901779f34374d13cb9c2774d6 SHA512 994657458b7bca0bf26b7d6c540005ce11555537257d6411896bc6794f2795c96fde797ad2981d74b82003b69326146408690fd0138c609d2d6c0fe123437e36 WHIRLPOOL d246419da647e361abd42ac0cbc70888debfa4713ff8dfaadd7936af2491a044d8624799673b7069452172de2bc5bbc41b909044c80563f3c26bfb411f78dd33
MISC metadata.xml 328 SHA256 784cc118763cc0c5f4c0d3d0f4ac7ee72162fa1560538ba9d6490da5edc3ac22 SHA512 e2091ec84a909ad6c2453bd832817461e39b7c355c28bd99c19d9e85dc4a621606c34066f596a68585c3762b6b156455ca012495c5c336b9ba929d163b923042 WHIRLPOOL c20bd37669f25c96efef1a8dc03c4d79abb7e05fe86d48354c192293c258efcc3bbee4342cf4c576a872ac41e8aded91590a06466e3bed875c4e77dba785838d
diff --git a/app-emulation/kompose/kompose-1.1.0.ebuild b/app-emulation/kompose/kompose-1.1.0.ebuild
deleted file mode 100644
index 157993de5ebd..000000000000
--- a/app-emulation/kompose/kompose-1.1.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit golang-build golang-vcs-snapshot
-
-EGO_PN="github.com/kubernetes/kompose"
-EGIT_COMMIT="v${PV}"
-COMPOSE_COMMIT="36652f6"
-ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64"
-
-DESCRIPTION="Tool to move from docker-compose to Kubernetes"
-HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io"
-SRC_URI="${ARCHIVE_URI}"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="hardened"
-
-RESTRICT="test"
-
-src_compile() {
- export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
- GOPATH="${S}" go build -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${COMPOSE_COMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,ROADMAP,CHANGELOG,CONTRIBUTING}.md}
-}
diff --git a/app-emulation/kompose/kompose-1.2.0.ebuild b/app-emulation/kompose/kompose-1.2.0.ebuild
deleted file mode 100644
index 11fd6fc9e7e1..000000000000
--- a/app-emulation/kompose/kompose-1.2.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit golang-build golang-vcs-snapshot
-
-EGO_PN="github.com/kubernetes/kompose"
-EGIT_COMMIT="v${PV}"
-COMPOSE_COMMIT="99f88ef"
-ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64"
-
-DESCRIPTION="Tool to move from docker-compose to Kubernetes"
-HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io"
-SRC_URI="${ARCHIVE_URI}"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="hardened"
-
-RESTRICT="test"
-
-src_compile() {
- export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
- GOPATH="${S}" go build -ldflags="-X github.com/kubernetes/kompose/cmd.GITCOMMIT=${COMPOSE_COMMIT}" -o bin/kompose src/${EGO_PN}/main.go || die
-}
-
-src_install() {
- dobin bin/*
- dodoc -r src/${EGO_PN}/{docs,{README,RELEASE,ROADMAP,CHANGELOG,CONTRIBUTING}.md}
-}
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index 30444c2f7f10..e879cfa0e899 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -5,6 +5,7 @@ AUX libvirt-1.3.4-glibc-2.23.patch 2049 SHA256 8fa125da2a8e6dabf17fc47863597b2b3
AUX libvirt-3.0.0-fix_paths_for_apparmor.patch 2904 SHA256 77ccadc9bf80b029a3105ac7609b759d5b73c40fef03d4eabcb6c6c9bd3334f9 SHA512 be4aba4b9bd44bb2f1b4f269f573caafce746783e0a7c08ff72d03a96b9675261346ededaf1d6b6c89afaa6d2b88fe7fb0d9f120d40fd714179e6f9d209a6724 WHIRLPOOL 917b54d20a1a2567052de25f08b8296b392002292303eee11acfee486eb8437a767695325adc63a08f239edcbdceae9787f63cdebb313631c7e6880c97a54caf
AUX libvirt-3.1.0-musl-fix-includes.patch 221 SHA256 40b1814d2a1d05a987242af46592a74feb612ccb3f064e93984bdad29d9c1fc7 SHA512 876c7dacedcce1d69938779b978b3a23b2f51128f121b4aa53f5f301d7740f90d77f335523210ed492b68b5f7a0b864b25a694ee562fb5e8ab1b6411d3da48e7 WHIRLPOOL d9d7f57cee28f1f6149f6de6f853f08679cbb9b3e82b019ff6046da525c1768ea3f7ef34cf3afa6033e87f80e8f5c74e5f2d129122d8df6edb371e743a3a3af5
AUX libvirt-3.6.0-ssh-malicious-hostname-fix.patch 1770 SHA256 6dd8209b02a14f4db4cd4b3903d62418bec4a200b2c85eb597266eefc4fb0814 SHA512 177a85183d9a4b3e2a8be523cfd10c8dd8e7988aca69864c3ff55ebaf5576eebf904317ac0814e588be21909b21c1deb1dfca13f84f3af54ebbdb55e8f12f562 WHIRLPOOL 1935e293c8a438b326b6c617fd695f93e92c99b6bca13c7815a62ae04bc7c2dba885763595b02a7d4ec4f3235124ff03cea704f4e56ac7c613edbeca847c9225
+AUX libvirt-3.8.0-CVE-2017-1000256.patch 3737 SHA256 af14abe57e4764eb35df8e104f992132e0ca9797d5b470adde6515f6c7c95c10 SHA512 2c3e88670ec9531207c60b89e8e2ec6188834e795cd0e698d63781209182801209d4097fd72607166853b54a9f301a160b575f757741da5aeb995d752bbcb80a WHIRLPOOL 61cfac579defb75b2d92622c3fafc25036f9b3d5260e296941188d541327b381397b4bf996c9e5c5b624aae82a76b43798bf3253b66d26e3f7f3e5fba70273f9
AUX libvirt-guests.confd 2430 SHA256 d5f85bb8c1d2010347f23badc422e98046b97a0066254739b5829fce07837d63 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc WHIRLPOOL 4f06b9319f52b872f14f86da9aeeafecf176c46755955c7773badd0df239fdd76efaff50921565154fa24896d0e4b07df788e785ed6ff5f2308c0ba0e79a9418
AUX libvirt-guests.init-r2 5412 SHA256 f78ced5ebe644522c6ce102b3f6bcf932686243a50629559f988548c570cad3a SHA512 0f46ec5776c61d1776248779fa894b1a6d7b98d0eb8e8374b320c785c25d92468f087e350233b9152eb2cd0680f6b334c3a61684dabc7c5b559d3b55fdcb712d WHIRLPOOL 77ce5c6e615c94b437f13f8bfb2689cea7b8231a4aa227e83944fd66793a3daf0ada8c041c358f38c2f676dfc7fb071880df682dcc759f63e8e20f033e141d39
AUX libvirtd.confd-r5 740 SHA256 4f7fba7e64533868119c0f3355aa22932e163b208397323dc2cd96daadcc4079 SHA512 98f935589dbc5f2a99329f77fdf84c563fa0dc99404b7476603679478d68ce8dbea2c88645251d3c28f59e7bcae124ae632972146e8a8c3e0e9fcbfb27296f91 WHIRLPOOL cc40f10c1ab440efff318f4cac95c0923dfb3309e727d3de4a5dd5cd95181da76a6f1de4ad6740b99d0b65b6bbf5a5128ce24288f77a91268e74d2e8d8e95e49
@@ -14,10 +15,10 @@ AUX libvirtd.tmpfiles.conf 36 SHA256 0102a9bbbb6fc9764c2d49933a89d1661b3999aec53
AUX virtlockd.init-r1 570 SHA256 23ddea66fb2d85c17c382daa07abfabe7fa57d62406d2ca5df0c755f5dcc3834 SHA512 65a05d406200da9a534df5caa1b9cb2af97f0b03f64e6b4157322975fa754f59ae74fff9ec8301a6c0510e4b75e2b72a78cddf004a76109e18c375e83527cee5 WHIRLPOOL 7959e426986747165ef074ca52b8049aa4120b0206b7532330346552fe5811a46fa71b58e02fcd37e55b872e099ccc8688fcc3f30b2e2316e01a4220806d49b4
AUX virtlogd.init-r1 569 SHA256 1647c11779fd874bdc115234bae0f0f65278084541473d2825aa9864ad49f939 SHA512 0a3e083e742f9e0d8206ab9a48c63bbd395bdc24e5551e2cbeddffa3fb576a817b73dbafe646c392a35c354d6b65426a9b6f3ce3dcafc30077715e90684968c1 WHIRLPOOL e0fa334c60dac4aa1ff721c3c4e957a688e0a58297cb06249de50dd838c55eee3c1c00fcb4b1c06b74c1fb61c52354889a09bd2793c8623faa120489cac95c3a
DIST libvirt-3.6.0.tar.xz 14797704 SHA256 3a2c97f6950796f300f6a2e0404f4de8e51c3b9430cdb82738439adb0ac59e3d SHA512 6cde735a18cb71c9e6dbb25cd2a8f9c72d55ad7d74bdf97b00d784593f0bc59498917fb235ce04de4428899241520d87bf19c015b80282b3d0c12918d9b8b288 WHIRLPOOL 8185ad998158bac9aa6bc0dd0f590a3d9fb393ad94d308bdc84e60ac5c56e110d5f4a2355e2a10b01a6521d8261ae7484aee275e12a17cc7f2830f169e990596
-DIST libvirt-3.7.0.tar.xz 14803752 SHA256 4e7bcb209eeef99f026484293abc733e30ed06dabcdde62c4c3e95f71b2b67ba SHA512 b3f7021ef4c6954430f8fa503f0c49e3df4f662b228cb631ba2c2139ecec2307dde6cec05037cc28663e82ab1001296c20c5c68acd183cd364dd484a7746f498 WHIRLPOOL 93ae283bd9048983ea6f1bb9572a94313b40c0d7e82c8d61fc36c6b2fde6b2d1a16333a2ac89ef0675130eda07b5268d2ed3ddaef8305dd04858291559b95850
+DIST libvirt-3.8.0.tar.xz 14868712 SHA256 73eba834089ed0ce74e3183a7f12cf0c6f7de08e9a700b5456c62fb124f903f9 SHA512 fc48f29b493a5ec2b3586f6c5df0b8cb81f3f26be847bc42acfb6481d45970edc760dda0232ad57b95b8cf13382d0269dd3edf4a744040cda15b835d32d8c672 WHIRLPOOL af36d20c2713398f0d7aaf1b9fc2bcf978abc096d3070cb7cb1efa6680204e591e02b03340f4d862f6e7d1fabd4135cba23eef8ccd459264a44a052acf0e509e
EBUILD libvirt-3.6.0.ebuild 9705 SHA256 5d9511479f979dce30eef8ddc68a80b0e602461a459b8dd71f637d6628a44061 SHA512 e44a8cdfc9d9070c726610d6ec2f4191fdbc19fb2e3dceff4ac2a232aa73d43d8a7a2548909906c0d5d273c23e3fd2762d8a7379cdfa03a539d09d36d38dd9d9 WHIRLPOOL af6d2497a375d6639b3c0903abdc8c0cf1122b62a03de0825ade097eed2acefd18acc3781e3a05fc9a27afe26ddf69a5ae497ffc3b98cc00556674aaef84adc1
-EBUILD libvirt-3.7.0.ebuild 9633 SHA256 77b30ad103039e78f1ba2feebddc3e4760d85516e22a16e00182aa0810c4f2d3 SHA512 676e228e30c94d0ffda19443de127e5d1df224a25b04d6543329b63eca52faef7a13493bb680e55bfcb9c5df29d6786b5a7ae22886d7bf60fa37e338a8147bd9 WHIRLPOOL bde33afb6b43120c9853f799b08a68f0298ae6a9e424d222391aedf34180c9a6b224e586bc484d297993d8c920dedd2c1c3b4027afe6c33c711322e908e89aa8
-EBUILD libvirt-9999.ebuild 9559 SHA256 4cfbe31874591a16b09c161b1de03dd93e9f055a9ffe8c291988993188a6c88e SHA512 c371eebaba49abe6018f69faf9f41c6b7801efb36f2ddd52474f3ea692bd0dd6d3b6dfcd9565036f91f2cccfc4d62ce804207b6804914b47ff5ef60037ba03eb WHIRLPOOL d126e9a509c39a4bf6f3cdc7f7a4fee1166a3fe1d8739ae31352b4b1197c5a8cf9f51d45656c3492e26ebbe5286f3e734df42eb21cf41ec77183d27e6f00e5e4
+EBUILD libvirt-3.8.0-r1.ebuild 9654 SHA256 18017ad471d8ba23b78489d29d6bb5f5833c6ade99fcf418b848d04b966eaa32 SHA512 81d1abce5b9fc4b3705b59d12d0383e178d0a443952ee8828d08fd4ba2c890129c6cae25d188ffe8bf19fbd8221073488fa6c57b41968b689ece539f0bca7e1b WHIRLPOOL cfff4b177ac911a659855445fe2842428dbdcedf1f403890a8049d5a418468847b7a8fa013fc2ae5898ddff9ba07062ff77e1286e6b74dee2593a4dc8936f3a8
+EBUILD libvirt-9999.ebuild 9506 SHA256 d5af8cfea0f8f40cb4c1e474a64709440cd5fc31672af9be7bc607fcec880f04 SHA512 669472ae963372efc043f20dcf3a38d06fcdf45eb80ca13c7b76e6fed35590255206731ebd4a42b95017399bba309d49e734c14c07c9b5dc22cc7ae7819dbac2 WHIRLPOOL 1158f1338973b99a1dc518aae73e50015fff4cc2a7d8afee086784525571b2668b76dd5f6eaf5391d8a80d6817f4d8c5caf363d93e758b89202ee73e4c047f43
MISC ChangeLog 27207 SHA256 94b83a13739094fab2b993a9a833e735422f1117aa3511fc399ef7449977cbe4 SHA512 36eda4a70d13b8e06fc293ae0a31e0841e0bbb541b3c8294e9a3f341957739208836f353175cba6ff6f3b9f99c41d6be6ab69909812a5d28f2b3b79b6e386fa0 WHIRLPOOL 8721914e310158f81b907583aaeac8d2000a3db9e63f761cd7ee9674ec7834f953f9ffa248a06938d5af5ae98aee304a1e53467e8d134ebf56351ff37aaaaa48
MISC ChangeLog-2015 33229 SHA256 9b5ab13f86ef62f4eead3fc3ce0a20da725cf43437e4edc24c606fa56ca46831 SHA512 e1209249689918947d066bb91245d851f39a48b78819cb3265aa36cbe5e678e8374ef7a6279dffe678b7264a4d53aecf1d5e4f4e690e4a70df32dd84a067571a WHIRLPOOL 94ef57fc540991bc6fc9442a3d74cd6e7c10bccfee41275fca6ae4286fa73ef8bf1d9c1e9d76f10a6c2548250f5d1e72a9c1776c7b504efd9325f61b09bee55d
MISC metadata.xml 3766 SHA256 66a0ada4191fa3c10cf6b50c8d42bec0c4fe41c0fbc4453f3f48b09355756c16 SHA512 10d96f652bdcf32e34ea415a37de0c3c4aae3a716403a0ca73228af640788734119cbf4ade26a450cc3cda81ef6182391a6f590a851a6834d52394b7c81c49ed WHIRLPOOL 1d69d7520f3e228e730c1cb035996b5a3ba27bd7e4bfcb92703de69b16eb4f5c0dd7631cce75076bd8e98e61fca68802f4262e2f76a88818eca11b2e2bdc3b1b
diff --git a/app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch b/app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch
new file mode 100644
index 000000000000..8c347cd799ad
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch
@@ -0,0 +1,74 @@
+From 441d3eb6d1be940a67ce45a286602a967601b157 Mon Sep 17 00:00:00 2001
+From: "Daniel P. Berrange" <berrange@redhat.com>
+Date: Thu, 5 Oct 2017 17:54:28 +0100
+Subject: [PATCH] qemu: ensure TLS clients always verify the server certificate
+
+The default_tls_x509_verify (and related) parameters in qemu.conf
+control whether the QEMU TLS servers request & verify certificates
+from clients. This works as a simple access control system for
+servers by requiring the CA to issue certs to permitted clients.
+This use of client certificates is disabled by default, since it
+requires extra work to issue client certificates.
+
+Unfortunately the code was using this configuration parameter when
+setting up both TLS clients and servers in QEMU. The result was that
+TLS clients for character devices and disk devices had verification
+turned off, meaning they would ignore errors while validating the
+server certificate.
+
+This allows for trivial MITM attacks between client and server,
+as any certificate returned by the attacker will be accepted by
+the client.
+
+This is assigned CVE-2017-1000256 / LSN-2017-0002
+
+Reviewed-by: Eric Blake <eblake@redhat.com>
+Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
+---
+ src/qemu/qemu_command.c | 2 +-
+ tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args | 2 +-
+ .../qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
+index 46f0bdd18..f68b82d08 100644
+--- a/src/qemu/qemu_command.c
++++ b/src/qemu/qemu_command.c
+@@ -721,7 +721,7 @@ qemuBuildTLSx509BackendProps(const char *tlspath,
+ if (virJSONValueObjectCreate(propsret,
+ "s:dir", path,
+ "s:endpoint", (isListen ? "server": "client"),
+- "b:verify-peer", verifypeer,
++ "b:verify-peer", (isListen ? verifypeer : true),
+ NULL) < 0)
+ goto cleanup;
+
+diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args
+index 5aff7734e..ab5f7e27f 100644
+--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args
++++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args
+@@ -26,7 +26,7 @@ server,nowait \
+ localport=1111 \
+ -device isa-serial,chardev=charserial0,id=serial0 \
+ -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\
+-endpoint=client,verify-peer=no \
++endpoint=client,verify-peer=yes \
+ -chardev socket,id=charserial1,host=127.0.0.1,port=5555,\
+ tls-creds=objcharserial1_tls0 \
+ -device isa-serial,chardev=charserial1,id=serial1 \
+diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args
+index 91f1fe0cd..2567abbfa 100644
+--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args
++++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args
+@@ -31,7 +31,7 @@ localport=1111 \
+ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
+ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
+ -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\
+-endpoint=client,verify-peer=no,passwordid=charserial1-secret0 \
++endpoint=client,verify-peer=yes,passwordid=charserial1-secret0 \
+ -chardev socket,id=charserial1,host=127.0.0.1,port=5555,\
+ tls-creds=objcharserial1_tls0 \
+ -device isa-serial,chardev=charserial1,id=serial1 \
+--
+2.13.6
+
diff --git a/app-emulation/libvirt/libvirt-3.7.0.ebuild b/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild
index 8df3d9b0ab59..7ac23060bb18 100644
--- a/app-emulation/libvirt/libvirt-3.7.0.ebuild
+++ b/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild
@@ -29,7 +29,7 @@ IUSE="
apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm
libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit
+qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network
- wireshark-plugins xen zeroconf zfs elibc_glibc
+ wireshark-plugins xen zeroconf zfs
"
REQUIRED_USE="
@@ -68,7 +68,6 @@ RDEPEND="
audit? ( sys-process/audit )
caps? ( sys-libs/libcap-ng )
dbus? ( sys-apps/dbus )
- elibc_glibc? ( sys-libs/glibc[rpc(+)] )
firewalld? ( net-firewall/firewalld )
fuse? ( >=sys-fs/fuse-2.8.6:= )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
@@ -126,6 +125,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.0-fix_paths_for_apparmor.patch
"${FILESDIR}"/${PN}-1.3.4-glibc-2.23.patch
"${FILESDIR}"/${PN}-3.1.0-musl-fix-includes.patch # bug #609488
+ "${FILESDIR}"/${PN}-3.8.0-CVE-2017-1000256.patch # bug #635174
)
pkg_setup() {
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index 9ae7d7ea4e43..3716e896837b 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -29,7 +29,7 @@ IUSE="
apparmor audit +caps +dbus firewalld fuse glusterfs iscsi +libvirtd lvm
libssh lxc +macvtap nfs nls numa openvz parted pcap phyp policykit
+qemu rbd sasl selinux +udev uml +vepa virtualbox virt-network
- wireshark-plugins xen zeroconf zfs elibc_glibc
+ wireshark-plugins xen zeroconf zfs
"
REQUIRED_USE="
@@ -68,7 +68,6 @@ RDEPEND="
audit? ( sys-process/audit )
caps? ( sys-libs/libcap-ng )
dbus? ( sys-apps/dbus )
- elibc_glibc? ( sys-libs/glibc[rpc(+)] )
firewalld? ( net-firewall/firewalld )
fuse? ( >=sys-fs/fuse-2.8.6:= )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index e0b390981eef..588ce78b15a7 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -22,8 +22,10 @@ AUX qemu-binfmt.initd.head 1445 SHA256 a9b4b1d1ffa82d572c01f14ebfbafb4b3a4c2eb5c
AUX qemu-binfmt.initd.tail 245 SHA256 1b765f5212946b73b8e4d92f64d34a9d2e358ef541c02164f6d6dd93cb15e1e7 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 WHIRLPOOL 41ddd1751101646e700a6fe4ef879bd4149d646a801f97e40534051895697dcbded06a1edda51457a0d624fbf68442c3e57178a3ee8e683e35368b88d10ba4a4
DIST qemu-2.10.0.tar.bz2 30955656 SHA256 7e9f39e1306e6dcc595494e91c1464d4b03f55ddd2053183e0e1b69f7f776d48 SHA512 ea21c014030f8a902df159641e6ccb45f0850ac5cb1cb8ab6845124c44ea5def54845e7bc66a6e80d624c78069f9baa913ee5119704076ae4ff47ab018ace9f9 WHIRLPOOL 58f846788fdf2b0c90e6d17ce921a1fe02556968d38ffc11be7e32b81ebc723dfeaa790f22d8085d4f388eb01fe0daa3ddbc00630c5ecba083df33cc9709fb39
DIST qemu-2.9.0.tar.bz2 28720490 SHA256 00bfb217b1bb03c7a6c3261b819cfccbfb5a58e3e2ceff546327d271773c6c14 SHA512 4b28966eec0ca44681e35fcfb64a4eaef7c280b8d65c91d03f2efa37f76278fd8c1680e5798c7a30dbfcc8f3c05f4a803f48b8a2dfec3a4181bac079b2a5e422 WHIRLPOOL d79fe89eb271a56aee0cbd328e5f96999176b711afb5683d164b7b99d91e6dd2bfaf6e2ff4cd820a941c94f28116765cb07ffd5809d75c2f9654a67d56bfc0c1
+EBUILD qemu-2.10.0-r1.ebuild 23068 SHA256 e5c1628f1e8e73b5e858140056845133835fdb2b6570a2404d4dbdf8b94a2579 SHA512 0d7fbcd6264de79c69c6eb77e19d62bc207231c25cb029673adcb74514d9998fef8fac99f40e9a881f60c3ba534fc0be6fac70d6f3ffbfa3f9768ca812eba260 WHIRLPOOL bbac6afbaab76f2783499a40efafa066b85e9a1e90c7a25673932c436762ae5d1bdae24b302adae74e75c3e328ab54d143228d745d5fca438194909945756fbb
EBUILD qemu-2.10.0.ebuild 23014 SHA256 5661bcdf733b57323be130bfae702bfb03bd46e0e00e10314d9588b803c6d882 SHA512 ea12fefa312f2d483aa5abaf01f04eb7dd751c0f458f3ec3dc5f2629da45545d94f4029dbea5c59a61cfd80cc5d9007233a7ffc12bc8b8da94c015adb4934ea0 WHIRLPOOL ae9b86c03cd5170ec6fdb51bdb4bf50cca2b8e00a86e53e36f34728343462c0be8692f396f718158d8982e94e040d72f8e1b22ea6ab331cacb12c474d29026ba
EBUILD qemu-2.9.0-r56.ebuild 23730 SHA256 2912b01e8567360795fef73ff09bf40735bc47c4b1e85d22ea01432e434daea4 SHA512 fb876999c82f735cf7739ef3014848b9afe51608ae0b084f5cdc3de9c409295acd50b2f17a70516e50007f5fd1f8f4ffc824abdfea248e930897870ee2758c08 WHIRLPOOL d4e440a25c8a7159a3857bd20262d1e0d808ab2a67d8620bbcaa2130f3b6f4326ea943e6613075f921a54ee7d9ca2f22739eee4bdd5cf5fabe8904c5fec57ef3
+EBUILD qemu-2.9.0-r57.ebuild 23783 SHA256 57f7265327250df50acda43d3a2c22a399be0cfe76cbd10b93c10d54b967574b SHA512 7aea2a4805626d378da3c16d845f6750d7646bbdeef99236a254105ceece53b552b1d707f60a26f349eca96e275cd7d5ef7de68caa39325fedfe1fd0a710a434 WHIRLPOOL fe62c1168662c38661afefb5a41e62565ec50ba4f980b203cbcad5629300f54409e942cf41f85b8f8d2f1ecccae086e3266615460d0ac925e1b48a8c0c76d331
EBUILD qemu-9999.ebuild 22927 SHA256 d4ffd7f56adff9f0704b7b490692d0a70151e60994ca82527693c83268d044ec SHA512 786ba9549bf834a68a474eee41ab7ec9acf55e330e200c9b91abfeecc24de1bbe893b2094e7df78911d024cbd9458a5f6f7a8fbd563a414a7fc59b0bf2e01f5b WHIRLPOOL 2ab6d77482f164cd93dac57d21e3c798f46a886e1c13e3c0bbda0ff5213ff43c6753cfce92b71faf098c16a7188657c368988eace9a9def2534018f17012cd1b
MISC ChangeLog 34977 SHA256 48c9a111a9eac22d5aef983a5c98fd2ce37cbb2df943a32638287d3a7477c6da SHA512 4a97d97960ad4accde6b48764a380160484427db586ded5d1699327a89e412760d9e7ed81a185f6900afed171f0023dd4c34dfc2148d98ff222e0c24c2af1649 WHIRLPOOL 75bd0f8453a37ad223f11f28971f195a54e003e973b6e44aa48f4b9b2532bb3dd39f35655c239d7b3b7a6fc0c4ff719ae5abab652b92da6664cd8bee523ef047
MISC ChangeLog-2015 58193 SHA256 60c1a4f4c85515520ab14da920bbbf4a6813491ce16b5357a0456ea588815a5c SHA512 ddfe8e75aabe59b731a4a8b31839d8c71fd516620306d2bc99d7641cc501652974e053104caafa7550c5ad33b6834295f6743a98b9419d292b8bf6f67918ccd3 WHIRLPOOL a6841f79c3ba1cbf76a8c7fde296a2912c46ddd251494dca3bf3bc13391c80595b6f80125c383823899942248008ede7065b0f5c8e43f9bc1d0464aa62cc187f
diff --git a/app-emulation/qemu/qemu-2.10.0-r1.ebuild b/app-emulation/qemu/qemu-2.10.0-r1.ebuild
new file mode 100644
index 000000000000..a1210f3d5994
--- /dev/null
+++ b/app-emulation/qemu/qemu-2.10.0-r1.ebuild
@@ -0,0 +1,784 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ncurses,readline"
+
+PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
+
+FIRMWARE_ABI_VERSION="2.9.0-r52"
+
+inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
+ user udev fcaps readme.gentoo-r1 pax-utils l10n
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://git.qemu.org/qemu.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
+ 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 bluetooth bzip2 +caps +curl debug +fdt
+ glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux
+ kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
+ pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy
+ spice ssh static static-user systemtap tci test usb usbredir vde
+ +vhost-net virgl virtfs +vnc vte xattr xen xfs"
+
+COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel
+ mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc
+ sparc64 x86_64"
+IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
+ lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
+IUSE_USER_TARGETS="${COMMON_TARGETS}
+ armeb hppa 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}
+ gtk2? ( gtk )
+ qemu_softmmu_targets_arm? ( fdt )
+ qemu_softmmu_targets_microblaze? ( fdt )
+ qemu_softmmu_targets_mips64el? ( fdt )
+ qemu_softmmu_targets_ppc? ( fdt )
+ qemu_softmmu_targets_ppc64? ( fdt )
+ sdl2? ( sdl )
+ static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
+ 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 extranl 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="
+ >=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 )
+ bluetooth? ( net-wireless/bluez )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.4.2[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? (
+ gtk2? (
+ x11-libs/gtk+:2
+ vte? ( x11-libs/vte:0 )
+ )
+ !gtk2? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ )
+ infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
+ iscsi? ( net-libs/libiscsi )
+ 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? (
+ !sdl2? (
+ media-libs/libsdl[X]
+ >=media-libs/libsdl-1.2.11[static-libs(+)]
+ )
+ sdl2? (
+ 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:=[static-libs(+)] )
+ spice? (
+ >=app-emulation/spice-protocol-0.12.3
+ >=app-emulation/spice-0.12.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh2-1.2.8[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-2017_pre20170505[binary]
+ ~sys-firmware/ipxe-1.0.0_p20160620
+ ~sys-firmware/seabios-1.10.2[binary,seavgabios]
+ ~sys-firmware/sgabios-0.1_pre8
+ )
+ !pin-upstream-blobs? (
+ sys-firmware/edk2-ovmf
+ sys-firmware/ipxe
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ sys-firmware/sgabios
+ )"
+
+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} )"
+DEPEND="${CDEPEND}
+ dev-lang/perl
+ =dev-lang/python-2*
+ sys-apps/texinfo
+ virtual/pkgconfig
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ static? (
+ ${ALL_DEPEND}
+ ${SOFTMMU_TOOLS_DEPEND}
+ )
+ static-user? ( ${ALL_DEPEND} )
+ test? (
+ dev-libs/glib[utils]
+ sys-devel/bc
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-qemu )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-cflags.patch
+ "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
+ "${FILESDIR}"/${PN}-2.10.0-CVE-2017-13711.patch # bug 629350
+)
+
+STRIP_MASK="/usr/share/qemu/palcode-clipper"
+
+QA_PREBUILT="
+ 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 <USER> kvm
+then have <USER> 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
+ CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
+ 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
+}
+
+pkg_setup() {
+ enewgroup kvm 78
+}
+
+# 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
+
+ # Alter target makefiles to accept CFLAGS set via flag-o
+ sed -i -r \
+ -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
+ Makefile Makefile.target || die
+
+ default
+
+ # Fix ld and objcopy being called directly
+ tc-export AR LD OBJCOPY
+
+ # 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
+ --libdir=/usr/$(get_libdir)
+ --docdir=/usr/share/doc/${PF}/html
+ --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)
+ --enable-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+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_notuser bzip2)
+ $(conf_notuser bluetooth bluez)
+ $(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 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 libssh2)
+ $(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)
+ )
+
+ 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}"
+ conf_opts+=(
+ --audio-drv-list="${audio_opts}"
+ )
+ use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
+ use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
+ 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
+ --with-system-pixman
+ )
+ 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}/scripts/qmp/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
+
+ cat <<EOF >>"${out}"
+ if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
+ echo ':${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
+
+ 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"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; 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 ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+pkg_postinst() {
+ if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
+ udev_reload
+ fi
+
+ fcaps cap_net_admin /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)"
+}
diff --git a/app-emulation/qemu/qemu-2.9.0-r57.ebuild b/app-emulation/qemu/qemu-2.9.0-r57.ebuild
new file mode 100644
index 000000000000..a63311cba203
--- /dev/null
+++ b/app-emulation/qemu/qemu-2.9.0-r57.ebuild
@@ -0,0 +1,796 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="ncurses,readline"
+
+PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
+
+FIRMWARE_ABI_VERSION="2.9.0-r52"
+
+inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
+ user udev fcaps readme.gentoo-r1 pax-utils l10n
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="git://git.qemu.org/qemu.git"
+ inherit git-r3
+ SRC_URI=""
+else
+ SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
+ 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 bluetooth bzip2 +caps +curl debug +fdt
+ glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux
+ kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
+ pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy
+ spice ssh static static-user systemtap tci test usb usbredir vde
+ +vhost-net virgl virtfs +vnc vte xattr xen xfs"
+
+COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel
+ mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc
+ sparc64 x86_64"
+IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
+ lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
+IUSE_USER_TARGETS="${COMMON_TARGETS}
+ armeb hppa 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}
+ gtk2? ( gtk )
+ qemu_softmmu_targets_arm? ( fdt )
+ qemu_softmmu_targets_microblaze? ( fdt )
+ qemu_softmmu_targets_mips64el? ( fdt )
+ qemu_softmmu_targets_ppc? ( fdt )
+ qemu_softmmu_targets_ppc64? ( fdt )
+ sdl2? ( sdl )
+ static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
+ 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 extranl 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="
+ >=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 )
+ bluetooth? ( net-wireless/bluez )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.4.2[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? (
+ gtk2? (
+ x11-libs/gtk+:2
+ vte? ( x11-libs/vte:0 )
+ )
+ !gtk2? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ )
+ infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
+ iscsi? ( net-libs/libiscsi )
+ 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? (
+ !sdl2? (
+ media-libs/libsdl[X]
+ >=media-libs/libsdl-1.2.11[static-libs(+)]
+ )
+ sdl2? (
+ 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:=[static-libs(+)] )
+ spice? (
+ >=app-emulation/spice-protocol-0.12.3
+ >=app-emulation/spice-0.12.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh2-1.2.8[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-2017_pre20170505[binary]
+ ~sys-firmware/ipxe-1.0.0_p20160620
+ ~sys-firmware/seabios-1.10.2[binary,seavgabios]
+ ~sys-firmware/sgabios-0.1_pre8
+ )
+ !pin-upstream-blobs? (
+ sys-firmware/edk2-ovmf
+ sys-firmware/ipxe
+ >=sys-firmware/seabios-1.10.2[seavgabios]
+ sys-firmware/sgabios
+ )"
+
+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} )"
+DEPEND="${CDEPEND}
+ dev-lang/perl
+ =dev-lang/python-2*
+ sys-apps/texinfo
+ virtual/pkgconfig
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ static? (
+ ${ALL_DEPEND}
+ ${SOFTMMU_TOOLS_DEPEND}
+ )
+ static-user? ( ${ALL_DEPEND} )
+ test? (
+ dev-libs/glib[utils]
+ sys-devel/bc
+ )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-qemu )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-cflags.patch
+ "${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-8309.patch # bug 616870
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-8379.patch # bug 616872
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-8380.patch # bug 616874
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-8112.patch # bug 616636
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-7493.patch # bug 618808
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-11434.patch # bug 625614
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-11334.patch # bug 621292
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-9524-1.patch # bug 621292
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-9524-2.patch
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-9503-1.patch # bug 621184
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-9503-2.patch
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-10664.patch # bug 623016
+ "${FILESDIR}"/${PN}-2.9.0-CVE-2017-10806.patch # bug 624088
+)
+
+STRIP_MASK="/usr/share/qemu/palcode-clipper"
+
+QA_PREBUILT="
+ 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/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 <USER> kvm
+then have <USER> 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
+ CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
+ 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
+}
+
+pkg_setup() {
+ enewgroup kvm 78
+}
+
+# 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
+
+ # Alter target makefiles to accept CFLAGS set via flag-o
+ sed -i -r \
+ -e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
+ Makefile Makefile.target || die
+
+ default
+
+ # Fix ld and objcopy being called directly
+ tc-export AR LD OBJCOPY
+
+ # 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
+ --libdir=/usr/$(get_libdir)
+ --docdir=/usr/share/doc/${PF}/html
+ --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)
+ --enable-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+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_notuser bzip2)
+ $(conf_notuser bluetooth bluez)
+ $(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 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 libssh2)
+ $(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)
+ )
+
+ 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}"
+ conf_opts+=(
+ --audio-drv-list="${audio_opts}"
+ )
+ use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
+ use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
+ 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
+ --with-system-pixman
+ )
+ 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}/scripts/qmp/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
+
+ cat <<EOF >>"${out}"
+ if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
+ echo ':${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
+ dodoc docs/qmp-*.txt
+
+ 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"
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; 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 ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then
+ return 0
+ fi
+ done
+ return 1
+}
+
+pkg_postinst() {
+ if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
+ udev_reload
+ fi
+
+ fcaps cap_net_admin /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)"
+}
diff --git a/app-emulation/virt-what/Manifest b/app-emulation/virt-what/Manifest
index 163421054448..41ff3cfbd29d 100644
--- a/app-emulation/virt-what/Manifest
+++ b/app-emulation/virt-what/Manifest
@@ -3,7 +3,7 @@ DIST virt-what-1.15.tar.gz 163117 SHA256 7ab9220d4682eadf9139c6afe62d33ebd273fff
DIST virt-what-1.18.tar.gz 173703 SHA256 bc42dd8214a6f30a1e6f2478faf12c41ecf0a0c8b9e493241f02416ae28162f4 SHA512 8085a38111d5664f411f5bb9d2ee221bc22e5b0f2d993e8d518718b3f63b16ba73e052b1623c090493cf8fef52fd237ba823377503a32b4b7d03cc5380d5c613 WHIRLPOOL e5b496a0cabc65ec9553a6fd55d4a30e8f7501683af384107a40999c4c393ebc21dae37a67a1f377bb224f5e369af281a44adc468ba68072f2b137cb9d66c6f1
EBUILD virt-what-1.12.ebuild 496 SHA256 381bfa0e8d702fa054c5482d7d6d2938f9c5b6368146bcae580fc4a4ea4d49d7 SHA512 d1d376cd0270cfb18d2db9af21dc6e7968623f246ad70def2f89cc3a8a7535c2230fdaf98aef5f1b805719917fb337ad103a694790a88777c5441ac6b515cf28 WHIRLPOOL 5b31c31fe3decf00d824cfb1e0b5343649e6e6cd2316ecf0e42932ca0bf75139430a03fb16e9cbf4c81e98eb858c175821deaf8081b54eb0ca254232c82645a6
EBUILD virt-what-1.15.ebuild 486 SHA256 48db7e6982ac79e1967e4582d8a0177215927aa350945cf4697383dc7cba92f4 SHA512 bd6be7716b1f6214ff64ac3c4b79414ed11a4958391083e0ebc8f80dedf2c2c99919d43e0ecebf06ce465b5535053d061dfdc24852111cba48eff12ced78d50d WHIRLPOOL 15a5a9d51cc52c321a03a5cd2b36fbc84355da802def9ce04d00da9148b968b40fc2da77c68934b5f12a24298962f5162c618d4bfce8feb49e6e7832c6548d93
-EBUILD virt-what-1.18.ebuild 613 SHA256 2335344d1b587d7230d1aec97e91923f44c2e1605633dfe734ff1a2079ef2aa6 SHA512 31a832a6826ff5552a6983326a863b32ff055e0c2ff07853766345dfaec54a8457c27776c2a01ab1f6c96ba1f59ba1f9c88a87924386c812bedd0123e949aa3d WHIRLPOOL 9d3eb2a6b07cee1c358b03cedd62551eb902dff1284659ab140156ad043c9edaefd1872ee8d655eaea036e164fb446db37628e13956d9f981e1eed1ea8702753
+EBUILD virt-what-1.18.ebuild 612 SHA256 1dfaa07115ceba0841b0ee40d4cf61f11ac25d36860597b18cee7711fd197492 SHA512 3057a8a4ca7bc460516bd6a45735f45952f477f46bad87ae285058e8bcc3bdc56105299ba91d7cd45d4eed74d87c821fdb3829486e4ccd9e01a89fbb09adfa57 WHIRLPOOL 056390abcf9cc2d4536d12ef1c1ac8d84fc78a88ad4c0ba3ba919c1d446bed04607daf1f46e0b44460e123146d0e3e10298c176f82f0e64c15fc0ca9c0ad7ed4
MISC ChangeLog 2741 SHA256 58eb4e07a8f96e2e7ccb2ddba0bc788e7bb0fb1d58b521f8e5af5267058245ca SHA512 451723b4e8db5e6cd5f3db3a9b8a0f6fc92c9a1a0d7d582b0b8ded5acc153e916f3c718f883bd694e0a2b88a78dc90cd4f371924f6c73d2baae7c37bb90d76ba WHIRLPOOL db8e359e101f255131f3c4a830a4c0a47283013c04badc8d4010ccfa724053b8c8d68c08977552a32be220137bf0f05774c3070dd603df1215e41c10da08dd35
MISC ChangeLog-2015 2123 SHA256 9624a27899d13aeb2b5b699838ad2127b527ff9652558e4e5947303113f39a91 SHA512 77b82e4e94dfd3ca584a9d9257439da2f3410748e0206f5de1e3641ee1a5ba6948c41e499db9e8a0de68305bd736aa92c58ff7f2c718113e6291b6ae92a2a92a WHIRLPOOL 2b8a7220e10de9bc3724dd01a4a6f2063ee08050eee4d58697d461103671966d45ab9fe0afa5eebbc260f45289aee22b8c0818ecc1c919680db6fa387640adff
MISC metadata.xml 456 SHA256 0eb0c67988b9859d773f87d2f6d7bbf8f9ca45b1391a5cffe04a2512bad67a6e SHA512 9b3ce56970ef01166980d6e5275bf4d740c47c044ab531cedeaac4e606d369f2c65b22fd8d8387332f0428ed7d9970d8b7e6363b48cb73c5b3326c7b463906bd WHIRLPOOL d6365ce01f2a538f495f6f7a9bc37a3374363e7523b2870621328ab76a4edfc1020f958e10ab9e6491b98f6f1f29f9f036c92de89c0b188b610f4f097ab98900
diff --git a/app-emulation/virt-what/virt-what-1.18.ebuild b/app-emulation/virt-what/virt-what-1.18.ebuild
index fd7406dc23cb..50cdbef36db8 100644
--- a/app-emulation/virt-what/virt-what-1.18.ebuild
+++ b/app-emulation/virt-what/virt-what-1.18.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://people.redhat.com/~rjones/virt-what/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 arm ~hppa ppc ppc64 ~sparc ~x86"
+KEYWORDS="~amd64 arm ~hppa ppc ppc64 ~sparc x86"
IUSE="dmi"
DEPEND="dev-lang/perl"
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index 1890749a12e1..7a37ba32e64d 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -9,6 +9,7 @@ DIST wine-2.14.tar.xz 19447812 SHA256 03f934d95181f728600ca04d395f10e821ee38cfa3
DIST wine-2.15.tar.xz 19463720 SHA256 d82d500cbf81fb08c711d3619bd52373138a05574d044f089af89707274868b3 SHA512 a52a42dd1f20fe68213c55a07ac5b2455150806e534f0ab77a8e9ae3d2f12840983fa92290dac569207d3640c7f45cda83801e9f2e80294863ffa854c6c89171 WHIRLPOOL 99c9497a44859ce310c764b3cd172d83ca1a2dce13633fee930ddbf1c40651ee4470f6bc9cfcb407ce65298a2afd73dc9edc536c2ba6f076631e5cf2085b8e61
DIST wine-2.16.tar.xz 19484716 SHA256 a561edcabecd6c44948e5b2ef11941b2ba047275240418fa2c98c1fdceda2c21 SHA512 749a36b536506c4b63ff7512e316f44503cdb0db46e38a124da86df638f3e8ff9c404b034ece5cbb95cf20c09bc46be9a38f2ee66480aa6a4f2385e2a7a7eea4 WHIRLPOOL 92ae0a427d89b24d41d4565e333cf3b7499c1dfedb6d2a204f934975c35cb589d38b4f669890c1fd6a37b9fe8f34d98be3e7d0986e9ff99516fe00a004574520
DIST wine-2.17.tar.xz 19505528 SHA256 7edc95739043ccc55957af663fb910318283dc5d1db42cd7f0224e30acfcea69 SHA512 cb10c876e689aa601c68673aab32c0514dd174692a01bdb3afc78d5e6079b0e77f48783af2f54245f397c762da3b4e5f2c1d39d2ce7fdb3b117d338b95c24810 WHIRLPOOL 196427a68ab3b1261cb63bafd7f82b7a688ad439fa82ae3fc04b18c9da14cc8e95b827ca8ddd07124e1179c55ed0e0aba3bdcb4639b724a6dacf4952e8827e16
+DIST wine-2.18.tar.xz 19546360 SHA256 9f0931129878157d717cb39f16cd33bf49f40aac77331c93d0ad30f2ccac4f50 SHA512 61cc39fa3d2b0a0ab3c5d17579865e6aea76dd9513a4b3c45975a2d5c05f2b4ba952b97eef547131a014763c7f692a08df29bc2ebf7e4ac7e2616e6a7822ddb9 WHIRLPOOL e864dd1705c0480d3f3095aa02ab1e7bc5b41693cd6b791cdf05e636c7099562020ac3adcba6421653efdf5dbe232b5abe9071792785e008ea30dedbb63e080e
DIST wine-2.2.tar.xz 18916364 SHA256 64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 SHA512 0700868244d397c1442948716321e5ff030c667edce464570f76aa4340199489a422872aa3975bc0a57b8285c9d59fc04e223a4bde094169fc6db460acb626c4 WHIRLPOOL ffc3d357a76592651b589c6ac6608720d0258474890faf8fe3e20ac29cdd1496d569721256f9389d347bf2734a556099154fd18ef1b56f45bb46c4c15771d6ca
DIST wine-2.3.tar.xz 18931732 SHA256 afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e SHA512 bea78e8468555ff9e08dedf3918da5ea82721549c43984869989bbdafeea00e454820ff9558aa29925c97a165a9b01e5cd1fd397f133833c58824984a6686171 WHIRLPOOL 1f5ec8e5c32d124277e4c71d95726d3a5337575757c3029567c77165d65fcfec2ddf33d3863b4bf55c9eff7c3582c1ec7dbd76d84ed8bbbe89dd16db6b0128c1
DIST wine-2.4.tar.xz 18953748 SHA256 87b5df07e4781fecce2f92415a4717208ea253a20a0df8b36b9f90b69b72748e SHA512 15ae7e97dc72a8636b2c15c93803ed430fa456d673add61457cf3e479e769559c682b40949b5d38828f6681f13183e560fcb4a2eb0f0ba25e6eade46f7d3d7c0 WHIRLPOOL 558ab7b7517ad5e03366b4db974047eba776585e958a5b71bb2e93993e21bc725ea7a8bcf2a4354f34ca38c94ba99ccd15f2f8b5e4b58066bf339d3517eec56c
@@ -27,6 +28,7 @@ DIST wine-staging-2.14.tar.gz 10179829 SHA256 cd4c8e400a808cbfa5c5cf088ea874c761
DIST wine-staging-2.15.tar.gz 10190900 SHA256 f2b5c43fbc185a6fd6399f4c351b83a172737977b2ebb1cbdeddd1838d044bc2 SHA512 75d64d103839da2daed6e5b2400185c0a5274d0e50b675283bbadff70cafe712e573701207d80c8e8af7f68d1d273efec3c0d705dc982c74b8574929daadecfa WHIRLPOOL 13239aa636fc102fb374ab8724b7dbce8e9b95f16797a4f5faf8a5e7789d60e6b485c7495ccef4568edbbb0549d657a6758642de2e98b449b0ced2725136e444
DIST wine-staging-2.16.tar.gz 10220855 SHA256 da0ef4b0eafe9cd1b9cf26a5b950088adf1308e17a0d6f4ae62516b6ee64248e SHA512 96585caf77569a31f516aefe230a8907ef91db29759f75075593b751985f294bf292a1c146d287a3f0859a6b6273560670c4bc734ef0fbecb0809574eb3f09ba WHIRLPOOL 66128c8d59593243e95d6765b9fd8ace59e85e365a5e8a41eeb17d370464005aef060ddf3d862d0a3638048fd92189860e69a3cbf7d24d3ce1e420200d4b3cf5
DIST wine-staging-2.17.tar.gz 10211107 SHA256 f511bf3438dc418b4f667513bf1ae419255e4ee62229e9205c0c64b047222183 SHA512 b652f6a852a1382c1b8275e172b7ac7608749c34aef5c0c5387cf262bf0da8db67a77ce397d49e53f3e2a8f210a3dbea1a9b3f3feb15c7d5bad8952b6fb7b53c WHIRLPOOL c45dc5fc91bc774f9f28bb06dff959391829fafac398bef198755395afe5a65bb2d32ba3ce157607a6040481955926866ed8f0760850bfca821be8599f4d7b64
+DIST wine-staging-2.18.tar.gz 10243957 SHA256 69c75d3ca17b1c3617cd0934a9e9ad6fca37c6679900d2cb63f6981aa1026cc8 SHA512 fe18b53d4160596d134ceed392f6459e9c183381f4712add43d8422e77d7d5d89ff34a3bb3afbd7740f250d85dfda0f3501e9600a41270790ae02138ed6d7dc7 WHIRLPOOL 2dc1429a7a4f13ee01b1317f1937ef7ec6b42c3cfdd78ff78bb8273e1056751edb2ac119904ba48ab645b430f269a9361a6d42bcbb5dfb46bd15a129569d3194
DIST wine-staging-2.2.tar.gz 10078327 SHA256 9d3cbf7e5f12c623d275457b910a158e0b176fcf50c09a5f8425864de604bc1d SHA512 8ad3f8ba4c6439a9ec4884a55018a67c9e2c2384830074646aac7b70cb9f4f5a20f760247ab42dc3d2f697cdac7ea5322be8ed12c435cb0bc185ac08fdd4dd91 WHIRLPOOL a34c19aaace64307de56d935cb0cef17d7c066c39b83c51e70ea76a20083f928bea55fe38d62b7a8250b0a9e8f00e0d2b744f43fcab433069ffb96625d955303
DIST wine-staging-2.3.tar.gz 10071742 SHA256 9a81be606836fab6203857f7937ff97575947f75d52c80fb5489418efb8b87e1 SHA512 8e8af1e36cc69c63ec3542f0ec4db18b6d8c16b5c9077eb211297f3a886519da71bcf72934bf8d6d72e44c7c9f765e1d00203d0d75cab8544f69f9b0c10a7133 WHIRLPOOL 50738a6e20890748d7eb01152244d34b259759f61b3587ba39815dc066fc8e2b66ce182e1ddbc912f50076a3599aa060ec6a94eeaab4513ce3a776711929b9b1
DIST wine-staging-2.4.tar.gz 10067020 SHA256 709cab12c0ebf7cf9504fd4a67eb851272309e00066ad81f184b0f55c63e9deb SHA512 55d11851697836b582ba54696cadc812ef6b14872440f5c3ed6fbe30a05abcb8abe2ab31a11ea4daeb354854c7c0e6549401d4b26b26621808bdeb89aeb206f9 WHIRLPOOL 8d344b7e6e89322c8dbbe6fd211851c90a45a33b514c182609cc60dc21939f791abc71d8665cd66e5c5161f159fe24c4772b99405833e3d11985a644e1335eaf
@@ -45,6 +47,7 @@ EBUILD wine-staging-2.14-r1.ebuild 19982 SHA256 7866a109eab8da015f1f3d44c67a61d1
EBUILD wine-staging-2.15-r1.ebuild 19982 SHA256 7866a109eab8da015f1f3d44c67a61d145815b89143fee4dfce041dbc899d335 SHA512 940cb4906a24edadf552d1f3bbdecd79881374a5740ed7c082aa23c04e1519420a7f3375e285d56beb3cbab6bbaf6450240d096d305b1416856b17c3970ce638 WHIRLPOOL 44a5e60f344eaac880a37624dd9201086b8df1452cfac88431b6c8a595501a6dd326fa7a7016229570c1d2657f9adb4074acb4053cc466e24f969d262670615c
EBUILD wine-staging-2.16-r1.ebuild 19982 SHA256 7866a109eab8da015f1f3d44c67a61d145815b89143fee4dfce041dbc899d335 SHA512 940cb4906a24edadf552d1f3bbdecd79881374a5740ed7c082aa23c04e1519420a7f3375e285d56beb3cbab6bbaf6450240d096d305b1416856b17c3970ce638 WHIRLPOOL 44a5e60f344eaac880a37624dd9201086b8df1452cfac88431b6c8a595501a6dd326fa7a7016229570c1d2657f9adb4074acb4053cc466e24f969d262670615c
EBUILD wine-staging-2.17-r1.ebuild 19982 SHA256 7866a109eab8da015f1f3d44c67a61d145815b89143fee4dfce041dbc899d335 SHA512 940cb4906a24edadf552d1f3bbdecd79881374a5740ed7c082aa23c04e1519420a7f3375e285d56beb3cbab6bbaf6450240d096d305b1416856b17c3970ce638 WHIRLPOOL 44a5e60f344eaac880a37624dd9201086b8df1452cfac88431b6c8a595501a6dd326fa7a7016229570c1d2657f9adb4074acb4053cc466e24f969d262670615c
+EBUILD wine-staging-2.18.ebuild 19790 SHA256 cda795f03527229a2f2be75c85f785f250c97c9ecfe82ef86b83d14401313db0 SHA512 86e3bf6fba538cf5f36f25cf892dc449fd24963256099e2a1cb2f4f8b61de1bc15c823ddd07686fc718c98b57d8baa3b0342bd1a33eee9dfbfdf7951f7fce5ae WHIRLPOOL 0d773a4b627819e99ce22ea66f36acbb554f52b3c005c852853b418eecdb754f8f4fa28e67738cc62f7c7395da504bf6a8507822a0bc32a7c3240373e6673eb9
EBUILD wine-staging-2.2-r1.ebuild 19982 SHA256 e33c8f8e5d60b7addb4d4a4be6ab72594953f6cd912432f484128a603fd1ab11 SHA512 a52d95f7bb9515a061c079f3c1be7f867574be9399c99b7d48312bb718a01c050cd79dc5c1baf3a7ab99aedd63d6c23c19cc698d245687cdda27685ddf84ef0a WHIRLPOOL a138efdf7731e635feefb0d70e99475255dff2642dcff847907c2fc0421af0025c3c81f8aba8ef415b81250bbc37ee4b5eb0259845919150f097f43a9caaf20c
EBUILD wine-staging-2.3-r1.ebuild 19982 SHA256 e33c8f8e5d60b7addb4d4a4be6ab72594953f6cd912432f484128a603fd1ab11 SHA512 a52d95f7bb9515a061c079f3c1be7f867574be9399c99b7d48312bb718a01c050cd79dc5c1baf3a7ab99aedd63d6c23c19cc698d245687cdda27685ddf84ef0a WHIRLPOOL a138efdf7731e635feefb0d70e99475255dff2642dcff847907c2fc0421af0025c3c81f8aba8ef415b81250bbc37ee4b5eb0259845919150f097f43a9caaf20c
EBUILD wine-staging-2.4-r1.ebuild 19982 SHA256 17f8bce5e24aa140bbab385666fcddc562a585d12abdfce16ecc5065a0d57b6e SHA512 5d1fd68c6873b4e30a596be0509977e11513426bc4c3f942e1544fb628a43cefb52348bafb9573952a7989371581ee104acb67ecf99306d91ff8d55d81614e9c WHIRLPOOL 32f7760267d2aae8f7663de860d272ac9c1749170092168fb526358acc1b111d956ab31099e1b0b4a9dad81a93f571ec0b3bf09627b04c3942afd6969366b6e1
diff --git a/app-emulation/wine-staging/wine-staging-2.18.ebuild b/app-emulation/wine-staging/wine-staging-2.18.ebuild
new file mode 100644
index 000000000000..64f408768d4c
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-2.18.ebuild
@@ -0,0 +1,598 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+
+inherit autotools eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator xdg-utils
+
+MY_PN="${PN%%-*}"
+MY_P="${MY_PN}-${PV}"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+ SRC_URI=""
+ #KEYWORDS=""
+else
+ MAJOR_V=$(get_version_component_range 1)
+ SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
+ KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
+fi
+S="${WORKDIR}/${MY_P}"
+
+STAGING_P="wine-staging-${PV}"
+STAGING_DIR="${WORKDIR}/${STAGING_P}"
+GWP_V="20170830"
+PATCHDIR="${WORKDIR}/gentoo-wine-patches"
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="https://www.winehq.org/"
+SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
+"
+
+if [[ ${PV} == "9999" ]] ; then
+ STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
+else
+ SRC_URI="${SRC_URI}
+ staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="${PV}"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
+ X? ( truetype )
+ elibc_glibc? ( threads )
+ osmesa? ( opengl )
+ pipelight? ( staging )
+ s3tc? ( staging )
+ test? ( abi_x86_32 )
+ themes? ( staging )
+ vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124
+
+# FIXME: the test suite is unsuitable for us; many tests require net access
+# or fail due to Xvfb's opengl limitations.
+RESTRICT="test"
+
+COMMON_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
+ cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+ )
+ jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
+ lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+ ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
+ nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+ openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? (
+ virtual/glu[${MULTILIB_USEDEP}]
+ virtual/opengl[${MULTILIB_USEDEP}]
+ )
+ osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ themes? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ x11-libs/gtk+:3[${MULTILIB_USEDEP}]
+ )
+ truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ xml? (
+ dev-libs/libxml2[${MULTILIB_USEDEP}]
+ dev-libs/libxslt[${MULTILIB_USEDEP}]
+ )
+ abi_x86_32? (
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-baselibs-20140508-r14
+ !app-emulation/emul-linux-x86-db[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-db-20140508-r3
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-medialibs-20140508-r6
+ !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-opengl-20140508-r1
+ !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-sdl-20140508-r1
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-soundlibs-20140508
+ !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
+ !<app-emulation/emul-linux-x86-xlibs-20140508
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ >app-eselect/eselect-wine-0.3
+ !app-emulation/wine:0
+ dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+ gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
+ mono? ( app-emulation/wine-mono:4.7.1 )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-Simple
+ )
+ pulseaudio? (
+ realtime? ( sys-auth/rtkit )
+ )
+ s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.0.25[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+
+# tools/make_requests requires perl
+DEPEND="${COMMON_DEPEND}
+ dev-util/patchbin
+ sys-devel/flex
+ >=sys-kernel/linux-headers-2.6
+ virtual/pkgconfig
+ virtual/yacc
+ X? (
+ x11-proto/inputproto
+ x11-proto/xextproto
+ x11-proto/xf86vidmodeproto
+ )
+ prelink? ( sys-devel/prelink )
+ staging? (
+ dev-lang/perl
+ dev-perl/XML-Simple
+ )
+ xinerama? ( x11-proto/xineramaproto )"
+
+# These use a non-standard "Wine" category, which is provided by
+# /etc/xdg/applications-merged/wine.menu
+QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
+usr/share/applications/wine-notepad.desktop
+usr/share/applications/wine-uninstaller.desktop
+usr/share/applications/wine-winecfg.desktop"
+
+wine_compiler_check() {
+ [[ ${MERGE_TYPE} = "binary" ]] && return 0
+
+ # GCC-specific bugs
+ if tc-is-gcc; then
+ # bug #549768
+ if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+ ebegin "Checking for gcc-5 ms_abi compiler bug"
+ $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
+ # Run in subshell to prevent "Aborted" message
+ ( "${T}"/pr66838 || false ) >/dev/null 2>&1
+ if ! eend $?; then
+ eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
+ eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
+ eerror "or use gcc-config to select a different compiler version."
+ eerror "See https://bugs.gentoo.org/549768"
+ eerror
+ return 1
+ fi
+ fi
+ # bug #574044
+ if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
+ ebegin "Checking for gcc-5-3 stack realignment compiler bug"
+ # Compile in subshell to prevent "Aborted" message
+ ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
+ if ! eend $?; then
+ eerror "Wine cannot be built with this version of gcc-5.3"
+ eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
+ eerror "or use gcc-config to select a different compiler version."
+ eerror "See https://bugs.gentoo.org/574044"
+ eerror
+ return 1
+ fi
+ fi
+ fi
+
+ # Ensure compiler support
+ if use abi_x86_64; then
+ ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
+ # Compile in subshell to prevent "Aborted" message
+ ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
+ if ! eend $?; then
+ eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
+ eerror
+ eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
+ eerror
+ return 1
+ fi
+ fi
+}
+
+wine_build_environment_check() {
+ [[ ${MERGE_TYPE} = "binary" ]] && return 0
+
+ if use abi_x86_64; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
+ eerror "You need gcc-4.4+ to compile 64-bit wine"
+ die
+ elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
+ eerror "You need clang-3.8+ to compile 64-bit wine"
+ die
+ fi
+ fi
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
+ ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
+ ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
+ ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
+ fi
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
+ if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
+ ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
+ ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
+ ewarn "See package.env in man 5 portage for more information on how to do this."
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
+ fi
+ fi
+
+ if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
+ eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
+ eerror "See https://bugs.gentoo.org/487864 for more details."
+ eerror
+ return 1
+ fi
+}
+
+wine_env_vcs_vars() {
+ local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
+ local pn_live_val="${pn_live_var}"
+ eval pn_live_val='$'${pn_live_val}
+ if [[ ! -z ${pn_live_val} ]]; then
+ if use staging; then
+ eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
+ eerror "cannot be used to set the commit. Instead, you may use the"
+ eerror "environmental variables WINE_COMMIT, and STAGING_COMMIT."
+ eerror
+ return 1
+ fi
+ fi
+ if [[ ! -z ${EGIT_COMMIT} ]]; then
+ eerror "Commits must now be specified using the environmental variables"
+ eerror "WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT"
+ eerror
+ return 1
+ fi
+}
+
+pkg_pretend() {
+ wine_build_environment_check || die
+
+ # Verify OSS support
+ if use oss && ! use kernel_FreeBSD; then
+ if ! has_version ">=media-sound/oss-4"; then
+ eerror "You cannot build wine with USE=oss without having support from a"
+ eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
+ eerror
+ die
+ fi
+ fi
+}
+
+pkg_setup() {
+ wine_build_environment_check || die
+ wine_env_vcs_vars || die
+
+ WINE_VARIANT="${PN#wine}-${PV}"
+ WINE_VARIANT="${WINE_VARIANT#-}"
+
+ MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
+ MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
+ MY_DATADIR="${MY_DATAROOTDIR}"
+ MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
+ MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
+ MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
+ MY_MANDIR="${MY_DATADIR}/man"
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack
+ if use staging; then
+ local CURRENT_WINE_COMMIT=${EGIT_VERSION}
+
+ git-r3_fetch "${STAGING_EGIT_REPO_URI}" "${STAGING_COMMIT}"
+ git-r3_checkout "${STAGING_EGIT_REPO_URI}" "${STAGING_DIR}"
+
+ local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
+
+ if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
+ einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
+ einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
+ einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
+ fi
+ fi
+ fi
+
+ default
+
+ l10n_find_plocales_changes "${S}/po" "" ".po"
+}
+
+src_prepare() {
+
+ eapply_bin(){
+ local patch
+ for patch in ${PATCHES_BIN[@]}; do
+ patchbin --nogit < "${patch}" || die
+ done
+ }
+
+ local md5="$(md5sum server/protocol.def)"
+ local PATCHES=(
+ "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
+ "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
+ "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
+ "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch"
+ )
+ local PATCHES_BIN=(
+ )
+ if use staging; then
+ ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
+ ewarn "Wine bugzilla should explicitly state that staging was used."
+
+ local STAGING_EXCLUDE=""
+ STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
+ use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
+
+ # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
+ ebegin "Running Wine-Staging patch installer"
+ (
+ set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
+ cd "${STAGING_DIR}/patches"
+ source "${STAGING_DIR}/patches/patchinstall.sh"
+ )
+ eend $? || die "Failed to apply Wine-Staging patches"
+ fi
+
+ default
+ eapply_bin
+ eautoreconf
+
+ # Modification of the server protocol requires regenerating the server requests
+ if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
+ einfo "server/protocol.def was patched; running tools/make_requests"
+ tools/make_requests || die #432348
+ fi
+ sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
+ if ! use run-exes; then
+ sed -i '/^MimeType/d' loader/wine.desktop || die #117785
+ fi
+
+ # Edit wine.desktop to work for specific variant
+ sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
+
+ # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
+ cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
+
+ l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
+}
+
+src_configure() {
+ wine_compiler_check || die
+
+ export LDCONFIG=/bin/true
+ use custom-cflags || strip-flags
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --prefix="${MY_PREFIX}"
+ --datarootdir="${MY_DATAROOTDIR}"
+ --datadir="${MY_DATADIR}"
+ --docdir="${MY_DOCDIR}"
+ --includedir="${MY_INCLUDEDIR}"
+ --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
+ --libexecdir="${MY_LIBEXECDIR}"
+ --localstatedir="${MY_LOCALSTATEDIR}"
+ --mandir="${MY_MANDIR}"
+ --sysconfdir=/etc/wine
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with lcms cms)
+ $(use_with cups)
+ $(use_with ncurses curses)
+ $(use_with udisks dbus)
+ $(use_with fontconfig)
+ $(use_with ssl gnutls)
+ $(use_enable gecko mshtml)
+ $(use_with gphoto2 gphoto)
+ $(use_with gsm)
+ $(use_with gstreamer)
+ --without-hal
+ $(use_with jpeg)
+ $(use_with ldap)
+ $(use_enable mono mscoree)
+ $(use_with mp3 mpg123)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ $(use_with oss)
+ $(use_with pcap)
+ $(use_with png)
+ $(use_with pulseaudio pulse)
+ $(use_with threads pthread)
+ $(use_with scanner sane)
+ $(use_enable test tests)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with v4l)
+ $(use_with X x)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(use_with xml)
+ $(use_with xml xslt)
+ )
+
+ use staging && myconf+=(
+ --with-xattr
+ $(use_with themes gtk3)
+ $(use_with vaapi va)
+ )
+
+ local PKG_CONFIG AR RANLIB
+ # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
+ # set AR and RANLIB to make QA scripts happy; #483342
+ tc-export PKG_CONFIG AR RANLIB
+
+ if use amd64; then
+ if [[ ${ABI} == amd64 ]]; then
+ myconf+=( --enable-win64 )
+ else
+ myconf+=( --disable-win64 )
+ fi
+
+ # Note: using --with-wine64 results in problems with multilib.eclass
+ # CC/LD hackery. We're using separate tools instead.
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf "${myconf[@]}"
+ emake depend
+}
+
+multilib_src_test() {
+ # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
+ if [[ ${ABI} == x86 ]]; then
+ if [[ $(id -u) == 0 ]]; then
+ ewarn "Skipping tests since they cannot be run under the root user."
+ ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
+ return
+ fi
+
+ WINEPREFIX="${T}/.wine-${ABI}" \
+ Xemake test
+ fi
+}
+
+multilib_src_install_all() {
+ local DOCS=( ANNOUNCE AUTHORS README )
+ add_locale_docs() {
+ local locale_doc="documentation/README.$1"
+ [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
+ }
+ l10n_for_each_locale_do add_locale_docs
+
+ einstalldocs
+ prune_libtool_files --all
+
+ if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
+ rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
+ "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
+ fi
+
+ # Remove wineconsole if neither backend is installed #551124
+ if ! use X && ! use ncurses; then
+ rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
+ rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
+ rm_wineconsole() {
+ rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
+ }
+ multilib_foreach_abi rm_wineconsole
+ fi
+
+ use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
+ use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
+
+ if use abi_x86_64 && ! use abi_x86_32; then
+ dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
+ dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
+ fi
+
+ # Failglob for bin and man loops
+ local glob_state=$(shopt -p failglob)
+ shopt -s failglob
+
+ # Make wrappers for binaries for handling multiple variants
+ # Note: wrappers instead of symlinks because some are shell which use basename
+ local b
+ for b in "${D%/}${MY_PREFIX}"/bin/*; do
+ make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
+ done
+
+ # respect LINGUAS when installing man pages, #469418
+ local l
+ for l in de fr pl; do
+ use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}*
+ done
+
+ eval "${glob_state}"
+}
+
+pkg_postinst() {
+ eselect wine register ${P}
+ if [[ ${PN} == "wine-vanilla" ]]; then
+ eselect wine register --vanilla ${P} || die
+ else
+ if use staging; then
+ eselect wine register --staging ${P} || die
+ fi
+ fi
+
+ eselect wine update --all --if-unset || die
+
+ xdg_desktop_database_update
+
+ if ! use gecko; then
+ ewarn "Without Wine Gecko, wine prefixes will not have a default"
+ ewarn "implementation of iexplore. Many older windows applications"
+ ewarn "rely upon the existence of an iexplore implementation, so"
+ ewarn "you will likely need to install an external one, like via winetricks"
+ fi
+ if ! use mono; then
+ ewarn "Without Wine Mono, wine prefixes will not have a default"
+ ewarn "implementation of .NET. Many windows applications rely upon"
+ ewarn "the existence of a .NET implementation, so you will likely need"
+ ewarn "to install an external one, like via winetricks"
+ fi
+}
+
+pkg_prerm() {
+ eselect wine deregister ${P}
+ if [[ ${PN} == "wine-vanilla" ]]; then
+ eselect wine deregister --vanilla ${P} || die
+ else
+ if use staging; then
+ eselect wine deregister --staging ${P} || die
+ fi
+ fi
+
+ eselect wine update --all --if-unset || die
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}