From bd7908c6630f38067350d396ac5d18c3cc2434a0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 29 Oct 2017 11:22:34 +0000 Subject: gentoo resync : 29.10.2017 --- app-emulation/cloud-init/Manifest | 4 +- app-emulation/cloud-init/cloud-init-17.1.ebuild | 79 ++ app-emulation/cloud-init/metadata.xml | 24 +- app-emulation/docker-machine/Manifest | 8 +- .../docker-machine/docker-machine-0.10.0.ebuild | 41 -- .../docker-machine/docker-machine-0.12.0.ebuild | 41 -- .../docker-machine/docker-machine-0.13.0.ebuild | 39 + .../docker-machine/docker-machine-0.9.0.ebuild | 41 -- app-emulation/dosemu/Manifest | 3 +- .../dosemu/dosemu-1.4.1_pre20130107-r3.ebuild | 87 --- .../dosemu/dosemu-1.4.1_pre20130107-r4.ebuild | 2 +- app-emulation/kompose/Manifest | 4 - app-emulation/kompose/kompose-1.1.0.ebuild | 30 - app-emulation/kompose/kompose-1.2.0.ebuild | 30 - app-emulation/libvirt/Manifest | 7 +- .../files/libvirt-3.8.0-CVE-2017-1000256.patch | 74 ++ app-emulation/libvirt/libvirt-3.7.0.ebuild | 381 ---------- app-emulation/libvirt/libvirt-3.8.0-r1.ebuild | 381 ++++++++++ app-emulation/libvirt/libvirt-9999.ebuild | 3 +- app-emulation/qemu/Manifest | 2 + app-emulation/qemu/qemu-2.10.0-r1.ebuild | 784 ++++++++++++++++++++ app-emulation/qemu/qemu-2.9.0-r57.ebuild | 796 +++++++++++++++++++++ app-emulation/virt-what/Manifest | 2 +- app-emulation/virt-what/virt-what-1.18.ebuild | 2 +- app-emulation/wine-staging/Manifest | 3 + .../wine-staging/wine-staging-2.18.ebuild | 598 ++++++++++++++++ 26 files changed, 2782 insertions(+), 684 deletions(-) create mode 100644 app-emulation/cloud-init/cloud-init-17.1.ebuild delete mode 100644 app-emulation/docker-machine/docker-machine-0.10.0.ebuild delete mode 100644 app-emulation/docker-machine/docker-machine-0.12.0.ebuild create mode 100644 app-emulation/docker-machine/docker-machine-0.13.0.ebuild delete mode 100644 app-emulation/docker-machine/docker-machine-0.9.0.ebuild delete mode 100644 app-emulation/dosemu/dosemu-1.4.1_pre20130107-r3.ebuild delete mode 100644 app-emulation/kompose/kompose-1.1.0.ebuild delete mode 100644 app-emulation/kompose/kompose-1.2.0.ebuild create mode 100644 app-emulation/libvirt/files/libvirt-3.8.0-CVE-2017-1000256.patch delete mode 100644 app-emulation/libvirt/libvirt-3.7.0.ebuild create mode 100644 app-emulation/libvirt/libvirt-3.8.0-r1.ebuild create mode 100644 app-emulation/qemu/qemu-2.10.0-r1.ebuild create mode 100644 app-emulation/qemu/qemu-2.9.0-r57.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-2.18.ebuild (limited to 'app-emulation') 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 @@ - - prometheanfire@gentoo.org - Matthew Thode - - - alunduil@gentoo.org - Alex Brandt - - + + prometheanfire@gentoo.org + Matthew Thode + + + alunduil@gentoo.org + Alex Brandt + + Package provides configuration and customization of cloud instance. - - cloud-init - + + cloud-init + 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.10.0.ebuild b/app-emulation/docker-machine/docker-machine-0.10.0.ebuild deleted file mode 100644 index 9a9deea991e6..000000000000 --- a/app-emulation/docker-machine/docker-machine-0.10.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.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.13.0.ebuild b/app-emulation/docker-machine/docker-machine-0.13.0.ebuild new file mode 100644 index 000000000000..1697e3defa68 --- /dev/null +++ b/app-emulation/docker-machine/docker-machine-0.13.0.ebuild @@ -0,0 +1,39 @@ +# 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="hardened" +RESTRICT="test" +S=${WORKDIR}/${P}/src/${EGO_PN} + +src_prepare() { + default + # don't pre-strip binaries + sed -e 's|\(GO_LDFLAGS := $(GO_LDFLAGS) -w\) -s|\1|' -i mk/main.mk ||die +} + +src_compile() { + CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" 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.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" +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 +Signed-off-by: Daniel P. Berrange +--- + 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.7.0.ebuild deleted file mode 100644 index 8df3d9b0ab59..000000000000 --- a/app-emulation/libvirt/libvirt-3.7.0.ebuild +++ /dev/null @@ -1,381 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils user linux-info systemd readme.gentoo-r1 - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://libvirt.org/libvirt.git" - SRC_URI="" - KEYWORDS="" - SLOT="0" -else - # Versions with 4 numbers are stable updates: - if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then - SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" - else - SRC_URI="http://libvirt.org/sources/${P}.tar.xz" - fi - KEYWORDS="~amd64 ~arm64 ~x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -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 -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - uml? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - app-misc/scrub - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - 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 ) - iscsi? ( sys-block/open-iscsi ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-0.13.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - app-emulation/xen - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zeroconf? ( >=net-dns/avahi-0.6[dbus] ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${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 -) - -pkg_setup() { - if use qemu; then - enewgroup qemu 77 - enewuser qemu 77 -1 -1 "qemu,kvm" - fi - - use policykit && enewgroup libvirt - - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - if [[ ${PV} = *9999* ]]; then - # git checkouts require bootstrapping to create the configure script. - # Additionally the submodules must be cloned to the right locations - # bug #377279 - ./bootstrap || die "bootstrap failed" - ( - git submodule status | sed 's/^[ +-]//;s/ .*//' - git hash-object bootstrap.conf - ) >.git-module-status - fi - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ - -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ - -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with uml) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen) - $(use_with xen xen-inotify) - $(use_with xen libxl) - $(use_with zeroconf avahi) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - --without-xenapi - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --with-html-subdir=${PF}/html - --localstatedir=/var - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" - - if [[ ${PV} = *9999* ]]; then - # Restore gnulib's config.sub and config.guess - # bug #377279 - (cd .gnulib && git reset --hard > /dev/null) - fi -} - -src_test() { - cd "${BUILD_DIR}" - - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var/cache - rm -rf "${D}"/var/run - rm -rf "${D}"/var/log - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_install_serviced \ - "${FILESDIR}"/libvirtd.service.conf libvirtd.service - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd || die - newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild b/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild new file mode 100644 index 000000000000..7ac23060bb18 --- /dev/null +++ b/app-emulation/libvirt/libvirt-3.8.0-r1.ebuild @@ -0,0 +1,381 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils user linux-info systemd readme.gentoo-r1 + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="git://libvirt.org/libvirt.git" + SRC_URI="" + KEYWORDS="" + SLOT="0" +else + # Versions with 4 numbers are stable updates: + if [[ ${PV} =~ ^[0-9]+(\.[0-9]+){3} ]]; then + SRC_URI="http://libvirt.org/sources/stable_updates/${P}.tar.xz" + else + SRC_URI="http://libvirt.org/sources/${P}.tar.xz" + fi + KEYWORDS="~amd64 ~arm64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="http://www.libvirt.org/" +LICENSE="LGPL-2.1" +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 +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + policykit? ( dbus ) + qemu? ( libvirtd ) + uml? ( libvirtd ) + vepa? ( macvtap ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent +RDEPEND=" + app-misc/scrub + dev-libs/libgcrypt:0 + dev-libs/libnl:3 + >=dev-libs/libxml2-2.7.6 + || ( >=net-analyzer/netcat6-1.0-r2 >=net-analyzer/openbsd-netcat-1.105-r1 ) + >=net-libs/gnutls-1.0.25:0= + net-libs/libssh2 + >=net-misc/curl-7.18.0 + sys-apps/dmidecode + >=sys-apps/util-linux-2.17 + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + firewalld? ( net-firewall/firewalld ) + fuse? ( >=sys-fs/fuse-2.8.6:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( sys-block/open-iscsi ) + libssh? ( net-libs/libssh ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[-device-mapper-only(-)] + ) + pcap? ( >=net-libs/libpcap-1.0.0 ) + policykit? ( >=sys-auth/polkit-0.9 ) + qemu? ( + >=app-emulation/qemu-0.13.0 + dev-libs/yajl + ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + app-emulation/xen + app-emulation/xen-tools:= + ) + udev? ( + virtual/udev + >=x11-libs/libpciaccess-0.10.9 + ) + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) + zfs? ( sys-fs/zfs )" + +DEPEND="${RDEPEND} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.0-do_not_use_sysconf.patch + "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch + "${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() { + if use qemu; then + enewgroup qemu 77 + enewuser qemu 77 -1 -1 "qemu,kvm" + fi + + use policykit && enewgroup libvirt + + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use macvtap && CONFIG_CHECK+=" + ~MACVTAP" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM" + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + # Handle specific kernel versions for different features + kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" + if kernel_is ge 3 6; then + CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " + kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " + fi + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi +} + +src_prepare() { + touch "${S}/.mailmap" + + default + + if [[ ${PV} = *9999* ]]; then + # git checkouts require bootstrapping to create the configure script. + # Additionally the submodules must be cloned to the right locations + # bug #377279 + ./bootstrap || die "bootstrap failed" + ( + git submodule status | sed 's/^[ +-]//;s/ .*//' + git hash-object bootstrap.conf + ) >.git-module-status + fi + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r16" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -e "s/USE_FLAG_AVAHI/$(usex zeroconf 'use avahi-daemon' '')/" \ + -e "s/USE_FLAG_ISCSI/$(usex iscsi 'use iscsid' '')/" \ + -e "s/USE_FLAG_RBD/$(usex rbd 'use ceph' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_with apparmor) + $(use_with apparmor apparmor-profiles) + $(use_with audit) + $(use_with caps capng) + $(use_with dbus) + $(use_with firewalld) + $(use_with fuse) + $(use_with glusterfs) + $(use_with glusterfs storage-gluster) + $(use_with iscsi storage-iscsi) + $(use_with libvirtd) + $(use_with libssh) + $(use_with lvm storage-lvm) + $(use_with lvm storage-mpath) + $(use_with lxc) + $(use_with macvtap) + $(use_enable nls) + $(use_with numa numactl) + $(use_with numa numad) + $(use_with openvz) + $(use_with parted storage-disk) + $(use_with pcap libpcap) + $(use_with phyp) + $(use_with policykit polkit) + $(use_with qemu) + $(use_with qemu yajl) + $(use_with rbd storage-rbd) + $(use_with sasl) + $(use_with selinux) + $(use_with udev) + $(use_with uml) + $(use_with vepa virtualport) + $(use_with virt-network network) + $(use_with wireshark-plugins wireshark-dissector) + $(use_with xen) + $(use_with xen xen-inotify) + $(use_with xen libxl) + $(use_with zeroconf avahi) + $(use_with zfs storage-zfs) + + --without-hal + --without-netcf + --without-sanlock + --without-xenapi + + --with-esx + --with-init-script=systemd + --with-qemu-group=$(usex caps qemu root) + --with-qemu-user=$(usex caps qemu root) + --with-remote + --with-storage-fs + --with-vmware + + --disable-static + --disable-werror + + --with-html-subdir=${PF}/html + --localstatedir=/var + ) + + if use virtualbox && has_version app-emulation/virtualbox-ose; then + myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) + else + myeconfargs+=( $(use_with virtualbox vbox) ) + fi + + econf "${myeconfargs[@]}" + + if [[ ${PV} = *9999* ]]; then + # Restore gnulib's config.sub and config.guess + # bug #377279 + (cd .gnulib && git reset --hard > /dev/null) + fi +} + +src_test() { + cd "${BUILD_DIR}" + + # remove problematic tests, bug #591416, bug #591418 + sed -i -e 's#commandtest$(EXEEXT) # #' \ + -e 's#virfirewalltest$(EXEEXT) # #' \ + -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ + -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ + tests/Makefile + + export VIR_TEST_DEBUG=1 + HOME="${T}" emake check || die "tests failed" +} + +src_install() { + emake DESTDIR="${D}" \ + SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install + + find "${D}" -name '*.la' -delete || die + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var/cache + rm -rf "${D}"/var/run + rm -rf "${D}"/var/log + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_install_serviced \ + "${FILESDIR}"/libvirtd.service.conf libvirtd.service + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd || die + newinitd "${FILESDIR}/libvirt-guests.init-r2" libvirt-guests || die + newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die + newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} 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 kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + 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 <>"${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 kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + 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 <>"${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(-)] + !/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 +} -- cgit v1.2.3