diff options
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/Manifest.gz | bin | 20728 -> 20726 bytes | |||
-rw-r--r-- | app-emulation/lxc/Manifest | 4 | ||||
-rw-r--r-- | app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync1.patch | 29 | ||||
-rw-r--r-- | app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync2.patch | 28 | ||||
-rw-r--r-- | app-emulation/lxc/lxc-4.0.11_p1.ebuild (renamed from app-emulation/lxc/lxc-4.0.11.ebuild) | 15 | ||||
-rw-r--r-- | app-emulation/podman/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/podman/podman-3.4.1.ebuild | 164 | ||||
-rw-r--r-- | app-emulation/qemu/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/qemu/qemu-6.0.1.ebuild | 911 | ||||
-rw-r--r--[-rwxr-xr-x] | app-emulation/simplevirt/files/simplevirtd.initd | 0 | ||||
-rw-r--r-- | app-emulation/vice/Manifest | 3 | ||||
-rw-r--r-- | app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch | 29 | ||||
-rw-r--r-- | app-emulation/vice/vice-3.4_p38553.ebuild | 185 |
13 files changed, 1149 insertions, 223 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex 062e5dfcc3e9..e5b841d9838d 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index 7f60d79124f5..1b6f38a93f18 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -1,5 +1,7 @@ AUX lxc-2.0.5-omit-sysconfig.patch 259 BLAKE2B 977e151fbb8c9d98e89aaa5ee0426e64ab4286b4440af1582086a0ced8c6568efb470ccf68786da6ea52c82d1f4e81feac45bec411febc04fc31d108f05ccde2 SHA512 0aed9aca687accc6df79e97f48ab333043256e8ae68c8643f2b2452cc8013191238867d64ec71f7d399c59a43d3ba698b35d965090c5cb149b4f41302432e6e7 AUX lxc-3.0.0-bash-completion.patch 915 BLAKE2B 8bb879e391cec349d211b47d321c64ea091c8475ac9a8c4adfb45918c044f6c49d9b9bce546082907d696f697baf0870893c4427abeafa496db89f99190cd091 SHA512 2f3728fcf5e88eecc1ae05bf038ef83baa375194c5bef0d0ef68feaf4d8092cdd8efef6b3c27207c4abd28b085f087af517242c65747b47d0a8fa840f6b9d279 +AUX lxc-4.0.11_p1-liburing-sync1.patch 972 BLAKE2B 0384058169c0b601d4f3f86ebd368c35af86d5975c89972b7e78212e8b76525ea28065e81537d3dff09c270e556596465bdadf3808cda9b9ce5755d5a930193a SHA512 56806b85094f488815da3fcde33089dbfac59b62491b5ea11fbdb50b7fd585aee0458ec70a60b843074e8d0f6be12a3bbf4fc20a5d6756b893e61fa87187e9e7 +AUX lxc-4.0.11_p1-liburing-sync2.patch 923 BLAKE2B a366d3717730943b315fe7eb8a9f5e65e03634d7093b4406c1f1e2f64265fe55b407bea3849d3b098b5e92ad6d971cc42f545fbc01fcde48b57fd60c0b0e2940 SHA512 70a6d23309bfd1a38ced46eaad2b28ceac6f2a48e40f5b0bf5287334b4a9867a8d2d7bdf551127445cb6b8e92e46b8ed10fb1484a0117f5f98739a21c49b8451 AUX lxc.initd.8 3669 BLAKE2B 50d41e0923ba26b9653ca3b5b559dd0905e61ec81969e709650fe7f1b26a4dcdc17158b7e449d666e2103047d9f196e53df8beca15fffd529fa8e743de97bd82 SHA512 1182b53a65399746f6d6bced0df5c1fde09c1ede4a28bfe95b5ed0bbd969d6f6423f63021d4b6f1dc62c7b2703f6963c03d881291650bdf21cfcf8432586c1b4 AUX lxc_at.service.4.0.0 284 BLAKE2B 1adc76b9861f2499b7b703f7076782a258f9b21a3d1e32b69334f753faca9ecd8c6fb2a03baf04698e765f079e73ee683434d8c7c6d3b3082427a6af74ab33b1 SHA512 4c2f9846ca60bb78df7e652309900c0e788b45d569f268a9e5b98842518542b35fce253e2aedeb0eded3d37274390988ef887b01d1d37859ccddf6225286b4bb DIST lxc-4.0.10.tar.gz 1515002 BLAKE2B 2a5b94ad767c8a11a5c34d19f12d812bd284337045ad5021c80a5f69be608085ac465edde8c385cc558e45638c9f061793c0c9db616ccbe0614554b4fbf62005 SHA512 ec3ccf344a91b50b30985562c54ad93d2db2d29c24d31da8e3a69e801c8bd23c1560274c1850c39eb7e984940ba86d3ebae75db136320d6bbc5eb03bda4c5318 @@ -7,5 +9,5 @@ DIST lxc-4.0.10.tar.gz.asc 833 BLAKE2B 3dd6e8793d1b725ab9eb73d4fa78ce2767bf830fb DIST lxc-4.0.11.tar.gz 1543031 BLAKE2B 0309bbb96938e60e4cbe145fa0cc3c0a85d9154282a889d74167128b6166a280bb4d53df266990a529a98935ef2c12e8d2214e9a8f6cb293d47aa5808ebad82f SHA512 23287e468da8939334f4261bfcbb52eadcbe5806bd97896db38c84eb42f32143dc17bb8b9bb7f7f88584b72056553c9edc33ddb693a345ecf88f3177573fa9c0 DIST lxc-4.0.11.tar.gz.asc 833 BLAKE2B 68804d1d5ad09e388541b3a95a98ca14202c513ea3544a7389a49f4e13ecffc17715bb023675134fd99047c727cffe09cbd0a89883054b82650ebd23366823a7 SHA512 49a54aaf018772db40e1dadc0a10e7d727a2b14b34c0a3c704fd3f7a12e60082abf4628cc0a489ee620ef2210c7542abbdb6d1432e4297ceef52cdd6b158a5f8 EBUILD lxc-4.0.10.ebuild 4702 BLAKE2B 7e549ac644545bf600f8af1231a29c99b34d4c72e0b95f5eab3a0739ea2277e978abba2c00a66404e28a6dc4597fd3f6834d1aac8a46caa3d27902af114f9f7b SHA512 17c2d30d229e0c2c2909aeade12c06613c3b22ed291a12abd37d08cfcef22a4ebeac8864eaf76ead5e40d969bd88e468ef7eb7c439a02a63fb4db62982b81ff1 -EBUILD lxc-4.0.11.ebuild 5169 BLAKE2B fd3bdf310c46e0396c121617fd7ff1630cb5470c410f07f4008d3a308fd96063f9cfe6e8ba373ea7223569d6c956ecad57dccc263b5284f4aab49738f8ad598f SHA512 4074d36b59ca2ad83b0f84823ba102db86f1bb583276ab52a5d3a86ffe2b60159f3244edb53cb27e1c50f0023480087daefd53dfc95c4710b96d8aa35e726167 +EBUILD lxc-4.0.11_p1.ebuild 5320 BLAKE2B 8f8429dd35c1f19f3e6979077359fc5a956ced17d790331c3659e6e5442039518d29ff7a187410d5320c04aef3692c95c1091f5b6fda8542f34672fd9605bcae SHA512 10687f770a569d366c387066cb0ea1ea8ad33fb4eabc6775df2653a0b1931b7a38f8cbb4059cfb3b0dacca34cbdb231a7ca490203484079d68e18387d2ca3415 MISC metadata.xml 713 BLAKE2B 982d13dbe2adffcdb473804981effa8eabc89ca95dc2f39ae6ebdbdce0f786311333c8f9cbfe2105faf55dcbaf7a63a09b46e6b7c7987ba629f5e87de24a348c SHA512 4c9d018afe1967708c18747f504b98487f110b6a021cd97c94693fa4b39d892b148ad19ae64399396b34502ed6f598d7515418b69d0b22031776366a9f172f3b diff --git a/app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync1.patch b/app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync1.patch new file mode 100644 index 000000000000..cd497a755523 --- /dev/null +++ b/app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync1.patch @@ -0,0 +1,29 @@ +From aac3f106ff012e1d6835b20c250dcf09c364530c Mon Sep 17 00:00:00 2001 +From: Christian Brauner <christian.brauner@ubuntu.com> +Date: Thu, 28 Oct 2021 17:39:11 +0200 +Subject: [PATCH] mainloop: make sure that descr->ring is allocated + +This is future proofing more than anything else. + +Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> +--- + src/lxc/mainloop.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/lxc/mainloop.c b/src/lxc/mainloop.c +index 7c8f5d86af..17a4d55293 100644 +--- a/src/lxc/mainloop.c ++++ b/src/lxc/mainloop.c +@@ -515,8 +515,10 @@ void lxc_mainloop_close(struct lxc_async_descr *descr) + + if (descr->type == LXC_MAINLOOP_IO_URING) { + #if HAVE_LIBURING +- io_uring_queue_exit(descr->ring); +- munmap(descr->ring, sizeof(struct io_uring)); ++ if (descr->ring) { ++ io_uring_queue_exit(descr->ring); ++ munmap(descr->ring, sizeof(struct io_uring)); ++ } + #else + ERROR("Unsupported io_uring mainloop"); + #endif diff --git a/app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync2.patch b/app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync2.patch new file mode 100644 index 000000000000..33b8554193d3 --- /dev/null +++ b/app-emulation/lxc/files/lxc-4.0.11_p1-liburing-sync2.patch @@ -0,0 +1,28 @@ +From a585382b972c25ee8489147d94918d001ef439a7 Mon Sep 17 00:00:00 2001 +From: Christian Brauner <christian.brauner@ubuntu.com> +Date: Thu, 28 Oct 2021 17:39:42 +0200 +Subject: [PATCH] start: check event loop type before closing fd + +Since this is a union we might otherwise stomp on io_uring mmap()ed +memory. + +Fixes: #4016 +Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> +--- + src/lxc/start.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/lxc/start.c b/src/lxc/start.c +index 8f7173ec8c..1a6046c7a4 100644 +--- a/src/lxc/start.c ++++ b/src/lxc/start.c +@@ -629,7 +629,8 @@ int lxc_poll(const char *name, struct lxc_handler *handler) + TRACE("Mainloop is ready"); + + ret = lxc_mainloop(&descr, -1); +- close_prot_errno_disarm(descr.epfd); ++ if (descr.type == LXC_MAINLOOP_EPOLL) ++ close_prot_errno_disarm(descr.epfd); + if (ret < 0 || !handler->init_died) + goto out_mainloop_console; + diff --git a/app-emulation/lxc/lxc-4.0.11.ebuild b/app-emulation/lxc/lxc-4.0.11_p1.ebuild index 0a763d495217..e7de06da0aee 100644 --- a/app-emulation/lxc/lxc-4.0.11.ebuild +++ b/app-emulation/lxc/lxc-4.0.11_p1.ebuild @@ -7,8 +7,8 @@ inherit autotools bash-completion-r1 linux-info flag-o-matic optfeature pam read DESCRIPTION="A userspace interface for the Linux kernel containment features" HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )" +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P/_p1}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P/_p1}.tar.gz.asc )" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" @@ -33,7 +33,8 @@ RDEPEND="acct-group/lxc DEPEND="${RDEPEND} >=sys-kernel/linux-headers-4 apparmor? ( sys-apps/apparmor )" -BDEPEND="doc? ( app-doc/doxygen[dot] ) +BDEPEND="virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) man? ( app-text/docbook-sgml-utils ) verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )" @@ -74,10 +75,14 @@ pkg_setup() { PATCHES=( "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 + "${FILESDIR}"/${P}-liburing-sync1.patch #820545 + "${FILESDIR}"/${P}-liburing-sync2.patch #820545 ) VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc +S="${WORKDIR}/${PN}-${PV/_p1}" + src_prepare() { default @@ -153,11 +158,11 @@ src_install() { find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die # Gentoo-specific additions! - newinitd "${FILESDIR}/${PN}.initd.8" ${PN} + newinitd "${FILESDIR}/lxc.initd.8" lxc # Remember to compare our systemd unit file with the upstream one # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service" + systemd_newunit "${FILESDIR}"/lxc_at.service.4.0.0 "lxc@.service" DOC_CONTENTS=" For openrc, there is an init script provided with the package. diff --git a/app-emulation/podman/Manifest b/app-emulation/podman/Manifest index 187af279f8aa..3dcf3f2c8104 100644 --- a/app-emulation/podman/Manifest +++ b/app-emulation/podman/Manifest @@ -3,6 +3,8 @@ AUX podman.initd 704 BLAKE2B 2fc4ffaa3b971774957ea244e05d851fa2797ec074529ea7c23 AUX podman.logrotated 85 BLAKE2B 730899f93ee354e476629276b69224cfeaaa1603b6690cac3c0cd905cd75add19179f99e26f29edbd963d5f44c38a3a2db0b5a3613dc665ab801654eac13dc2e SHA512 0136d063b15b07c41a9370ba1845c4f368ec46a7a30683b7ff7cbb0b12e5b2711c9a45329f5102af6a969e562edcec006a8de9055e43e1caf9395847d0c5ec45 DIST podman-3.3.1.tar.gz 10917305 BLAKE2B fe7856c2ad8893e40ec42fb242a088794ea18910388d5e8089885013cab45c98e03bef99a5e911749f95ce469518e6fa5b6d30400f52696645c9ba8c140ba445 SHA512 19003f63c17c1c5788f34d0d6426a366035fc76aa2312e6355464d204d6536e5f78652abaf01643d4be7c2ee5224c25717b41760a4be4f6de8031cca9b06efaa DIST podman-3.4.0.tar.gz 10950594 BLAKE2B 4a96b9be980f336bc7cfa6efa0f955da90b67e1ff3e45c34097b9eb4fcd611b3454860048410238aeb1063331b246e9c156f738813e7f585d2254a1568d20642 SHA512 195354b15beaaed19b4d5f71f5dbfcd1ebfc5c80c07db91043b76e3254d62b5fd001c52c536773656e5eba65954511c1639a50b955a9992fa4d18a55e573c2a1 +DIST podman-3.4.1.tar.gz 10953738 BLAKE2B 423aaecabce5242ae87887e36e9caaf499b3d5c18978e47b738ef3b6a0a094c64f18f5fef614193157c3de0a6c0d88a232efcdcb60de4ae8ab14abbe266ad512 SHA512 b8602464358ab73429a9003262c92c38c9a06e1133c776fd0c4ce65dae26639db66f8f5ad510528f3e6e7bc2fe692746fcf1d90d4e95d701d102006d9a83b27e EBUILD podman-3.3.1.ebuild 4708 BLAKE2B 81122dfab3c2cc5f2b9011bbaeac253865662b4d0966125a405d3beadc09798d5b19694a0672d0f44b75cee00c2c1598cc385ac4632a75e22b9d7cd75ab4ef92 SHA512 a4415f1be56365bcba5a9be5dade198ac22ac20111fffcd660d9f3ccd47f2e7cddb3002a57d6d18cf6506c713a3220ff88137758d010b25a6d3b88360f29d98e EBUILD podman-3.4.0.ebuild 4710 BLAKE2B 6cbec602bebed87db289b4029da7e319b03ff078a1cdbf66bd20693da612a990074b665ef21644d2439c97eee7346bdcd7077cf92839b9145dddc132ebafa0e7 SHA512 4cd475ca845858efd12c6e13c790f454f64c68b4a99b077c0a40e6fa58df000f3fb4983c941522adf1a53231c30ff9155d167923f59220f2e77c8afc19c94353 +EBUILD podman-3.4.1.ebuild 4710 BLAKE2B a86d14a9a55f7a22d13b20959436d6f89c95d0104dc40e173c4c748eaf8a48c19103fd1298409dd34118caff547a4e1338232ad872b1c4111cf907cea3549781 SHA512 86e246e2bed4dafa6873024bf5e2f2ac7a6d1865f0a4d1b0c23de4fc36ca54a720436a21270222d2ea09352dab4a19734fd736446f0225a712b54e96547fa38b MISC metadata.xml 1161 BLAKE2B 2102871bd12b9db7469f59ba58dcd19f4d5916eb4820d18abc9f36528c00c3439f82ab3988686bbd5b18bc3e8a40a3eddd0e9ed579747ad8c19e9c2d89017e74 SHA512 5d138c94ea82af17594a94667f8306ca96dfb6c12dade1ea1681fedd42e83454f88b2de6dacec6e678b879ef66f3c8cd8d5fae0852c9e3b18239e9c881b4d268 diff --git a/app-emulation/podman/podman-3.4.1.ebuild b/app-emulation/podman/podman-3.4.1.ebuild new file mode 100644 index 000000000000..d76775b96a6c --- /dev/null +++ b/app-emulation/podman/podman-3.4.1.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +EGIT_COMMIT="a6493ae6904a5b7dde2395a374cb77fc45c8a3bc" + +inherit bash-completion-r1 flag-o-matic go-module tmpfiles + +DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" +HOMEPAGE="https://github.com/containers/podman/" +MY_PN=podman +MY_P=${MY_PN}-${PV} +SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" + +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="apparmor btrfs +fuse +rootless selinux" +RESTRICT+=" test" + +COMMON_DEPEND=" + app-crypt/gpgme:= + >=app-emulation/conmon-2.0.0 + || ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun ) + dev-libs/libassuan:= + dev-libs/libgpg-error:= + >=net-misc/cni-plugins-0.8.6 + sys-fs/lvm2 + sys-libs/libseccomp:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + rootless? ( app-emulation/slirp4netns ) + selinux? ( sys-libs/libselinux:= ) +" +DEPEND=" + ${COMMON_DEPEND} + dev-go/go-md2man" +RDEPEND="${COMMON_DEPEND} + fuse? ( sys-fs/fuse-overlayfs )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + default + + # Disable installation of python modules here, since those are + # installed by separate ebuilds. + local makefile_sed_args=( + -e '/^GIT_.*/d' + -e 's/$(GO) build/$(GO) build -v -work -x/' + -e 's/^\(install:.*\) install\.python$/\1/' + -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' + ) + + has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') + + sed "${makefile_sed_args[@]}" -i Makefile || die + + sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \ + -i hack/get_release_info.sh || die +} + +src_compile() { + local git_commiT=${EGIT_COMMIT} + + # Filter unsupported linker flags + filter-flags '-Wl,*' + + [[ -f hack/apparmor_tag.sh ]] || die + if use apparmor; then + echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die + fi + + [[ -f hack/btrfs_installed_tag.sh ]] || die + if use btrfs; then + echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die + else + echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ + hack/btrfs_installed_tag.sh || die + fi + + [[ -f hack/selinux_tag.sh ]] || die + if use selinux; then + echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die + fi + + # Avoid this error when generating pkg/varlink/iopodman.go: + # cannot find package "github.com/varlink/go/varlink/idl" + mkdir -p _output || die + ln -snf ../vendor _output/src || die + GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die + rm _output/src || die + + export -n GOCACHE GOPATH XDG_CACHE_HOME + GOBIN="${S}/bin" \ + emake all \ + GIT_BRANCH=master \ + GIT_BRANCH_CLEAN=master \ + COMMIT_NO="${git_commit}" \ + GIT_COMMIT="${git_commit}" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install + + insinto /etc/containers + newins test/registries.conf registries.conf.example + newins test/policy.json policy.json.example + + insinto /usr/share/containers + doins vendor/github.com/containers/common/pkg/seccomp/seccomp.json + + newconfd "${FILESDIR}"/podman.confd podman + newinitd "${FILESDIR}"/podman.initd podman + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + dobashcomp completions/bash/* + + insinto /usr/share/zsh/site-functions + doins completions/zsh/* + + insinto /usr/share/fish/vendor_completions.d + doins completions/fish/* + + keepdir /var/lib/containers +} + +pkg_preinst() { + PODMAN_ROOTLESS_UPGRADE=false + if use rootless; then + has_version 'app-emulation/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true + fi +} + +pkg_postinst() { + tmpfiles_process podman.conf + + local want_newline=false + if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then + elog "You need to create the following config files:" + elog "/etc/containers/registries.conf" + elog "/etc/containers/policy.json" + elog "To copy over default examples, use:" + elog "cp /etc/containers/registries.conf{.example,}" + elog "cp /etc/containers/policy.json{.example,}" + want_newline=true + fi + if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then + ${want_newline} && elog "" + elog "For rootless operation, you need to configure subuid/subgid" + elog "for user running podman. In case subuid/subgid has only been" + elog "configured for root, run:" + elog "usermod --add-subuids 1065536-1131071 <user>" + elog "usermod --add-subgids 1065536-1131071 <user>" + want_newline=true + fi +} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index d62f289661d9..8adc60681645 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -11,9 +11,11 @@ AUX qemu-6.1.0-strings.patch 882 BLAKE2B 9c35aca28371c15e037af5e9deaa90edcad769b AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4 +DIST qemu-6.0.1.tar.xz 107084292 BLAKE2B 53f4adc1a4ba99aaf03659db499d557c57d0c2559955980591594bf0ed06aaf485f0192d7f8f68338b97e0d4d0a114e4431bae5e5b3f3fc82aef08616429d8ed SHA512 2e37ae97a56c4de71412ebabe0e0a59908a7ca7d353440e046831319456d4020614f0909af07cb2a8bb23423e84880a89b5aa4e463e95d1ad37a64fbf8021337 DIST qemu-6.1.0.tar.xz 111258808 BLAKE2B 412eecf6d39debd6089b26d3b22e5d25c6c8c30d2eaf31b17c25cc2b3a1b10794a30218dfb151c78801aa295255aa974b297f1fe05b93f14334f203c2af5ccee SHA512 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c EBUILD qemu-6.0.0-r3.ebuild 25707 BLAKE2B e42d63e7b996356466a1aaecc99b6b6435d8a7c733694b9afd5279cebc973c9236e8544dc806d3117a60ee725e1a5a0bb3a2fbbecc0d7053b57fb4b5e66211b8 SHA512 26ff7c7d12b427621dbfea2a6fb9e5e79ae8e5ee6eb8bebfd6c0512bed547bb62c99629592d23ca2f24611fb17fd37f15a43ae063b5b4b8bf9c9ad0712c3c1ec EBUILD qemu-6.0.0-r53.ebuild 25771 BLAKE2B 24747bb80a6be10aeee0a57544fd888ea6f07c4df4185366243f8716f47e54f4efce6eee7294ec4418046f88e7a02b52ab2e672cc66fa1876414bbf4d5648e57 SHA512 c818fb678899e76b9b6e16f84328b0d1def41614272d49067a0719b8540e46b950daa9229cc2b055b32877287e5356751d5e5db07541d27762ccaf124c970fc6 +EBUILD qemu-6.0.1.ebuild 25775 BLAKE2B 1c5359d679f8285aae9f858e5ea090ef35934788574083de0eedc7983f37eb706a974bec0e058c92d97b4eedf8863f57ae7a8cd0f8165e580033a47aec3ae7e1 SHA512 7be0cc552c5b38a6e42d72fa46ebbcaabc53bdcfcea6540726254b174feb0bd61532b9e952187f7d53cd802c9eeebf82b5f573092f7b488bb3b235f01d977a71 EBUILD qemu-6.1.0.ebuild 25776 BLAKE2B 8e9e76c6839891b180a81c5a8563b3103fadf0bdc9a7e9608d22d1068007066788cb04b31140522745d5805ed0a91bf091d7b912a2666ef4410a71dd0d4213f2 SHA512 c2f1eb8cf381ac37f017fceb93f6ea0f5a62294dce66d4c157b78f8e29c04f313077fdf4ab0c4cbad32a0fd87d282804d3a0d84379e08dd45203997c36e388b4 EBUILD qemu-9999.ebuild 25643 BLAKE2B 662ee64944087293a48267ce2c2e09ae940b088a50bf1ff6e09efddaf2656119267511130b8030c1d4e05fa3eabfc6c69ed7c302da6d1e952679c743a16e9dda SHA512 7389c614c6f092a0e333d5f9deca972d85dbc08fdd9bcfc3894aa14b506bcbcfa2810ac8ca097de7415eb1c3915a02c5984ea483db2dd9260a71aafcad407009 MISC metadata.xml 4482 BLAKE2B 0444445c2cd94eb4c5446bd05ebb40e6bef98483f399a6c976affd36535962cc0c60b870b94dbd3dc7d184fad11eb7b6f401aacef016bce677e44450609661d8 SHA512 88bdbadca89a143d8dcb4a1d00629feff7ab8ac87878a23207933f9f3f414f76023b329c0aa91dfbc025ace7c138b5d08c5c7ddb51d61a6933c225511c040b47 diff --git a/app-emulation/qemu/qemu-6.0.1.ebuild b/app-emulation/qemu/qemu-6.0.1.ebuild new file mode 100644 index 000000000000..f48029f03bb9 --- /dev/null +++ b/app-emulation/qemu/qemu-6.0.1.ebuild @@ -0,0 +1,911 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE="ncurses,readline" + +FIRMWARE_ABI_VERSION="6.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 +inherit udev fcaps readme.gentoo-r1 pax-utils xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + meson + tests/fp/berkeley-softfloat-3 + tests/fp/berkeley-testfloat-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc + +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap test udev usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs zstd" + +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + m68k + microblaze + microblazeel + mips + mips64 + mips64el + mipsel + nios2 + or1k + ppc + ppc64 + riscv32 + riscv64 + s390x + sh4 + sh4eb + sparc + sparc64 + x86_64 + xtensa + xtensaeb +" +IUSE_SOFTMMU_TARGETS=" + ${COMMON_TARGETS} + avr + lm32 + moxie + rx + tricore + unicore32 +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64abi32 + ppc64le + sparc32plus +" + +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}" + +RESTRICT="!test? ( test )" +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + sdl-image? ( sdl ) + static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev ) + static-user? ( !plugins ) + vhost-user-fs? ( caps seccomp ) + virgl? ( opengl ) + virtfs? ( caps xattr ) + vte? ( gtk ) + multipath? ( udev ) + plugins? ( !static !static-user ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[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 ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev:= ) + 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(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +EDK2_OVMF_VERSION="202105" +SEABIOS_VERSION="1.14.0" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary] + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre10[binary] + ) + !pin-upstream-blobs? ( + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} + sys-firmware/ipxe[qemu] + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + sys-firmware/sgabios + )" +PPC_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-5.2.0-strings.patch + "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch + "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch + "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch + "${FILESDIR}"/${PN}-6.0.0-make.patch +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500 +" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32 +" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a <USER> kvm +then have <USER> re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs/targets/ >/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 +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + + # bug #746752: TCG interpreter has a few limitations: + # - it does not support FPU + # - it's generally slower on non-self-modifying code + # It's advantage is support for host architectures + # where native codegeneration is not implemented. + # Gentoo has qemu keyworded only on targets with + # native code generation available. Avoid the interpreter. + --disable-tcg-interpreter + + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable nls gettext) + $(use_enable plugins) + $(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 + } + # Enable option only for softmmu build, but not 'user' or 'tools' + conf_softmmu() { + if [[ ${buildtype} == "softmmu" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser fuse) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(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_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_tools vhost-user-fs virtiofsd) + $(conf_notuser virgl virglrenderer) + $(conf_softmmu virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) + + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + + 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 check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <<EOF >>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r2 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 MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC/PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/simplevirt/files/simplevirtd.initd b/app-emulation/simplevirt/files/simplevirtd.initd index d8dfadbcb69b..d8dfadbcb69b 100755..100644 --- a/app-emulation/simplevirt/files/simplevirtd.initd +++ b/app-emulation/simplevirt/files/simplevirtd.initd diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest index 6d9b2857d93e..702efbe20e83 100644 --- a/app-emulation/vice/Manifest +++ b/app-emulation/vice/Manifest @@ -1,6 +1,3 @@ -AUX vice-pkg-config-3.4_p38553.patch 816 BLAKE2B 58fdde3647c520b12434b221197b91d363a65640fc72df27e991f783c8fbea2b2bf962fca00384fe673a577cc354aa03861482dfadb9de6f6afa91b48b673022 SHA512 cd6b6068a4e3c521bfbcf60986ae770a379d373723e005816ad599a9a199af973f75ef9b8806f486223d2017fa118eb3a814f5efb0e3eea81c7eadeaedc54d90 DIST vice-3.5.tar.gz 22557578 BLAKE2B 5573951052c2c7b2beb4dd194ad8612c53e484e47a4d935e0dbc880f2f06611252add3631f99c9656f2c941088d0147b0783020ffcc5a29505bab75ef8dc128e SHA512 02f364c1645138cacb461346d44de8f524fb2aba7d980181caf039c46ca9d30db98466e5b0e56e6a41417cd7bbd63d73bf6eb110af1271e23732e320dd1fab70 -DIST vice-emu-code-r38553-trunk-vice.zip 27146846 BLAKE2B 5139e4b1e9269c3885313889dffc055298c52152da77e5a824270feb0af6ba61a1726160a6d259e9f8840fefe486cc184f5bfda3ba1797e0359159ccf1e9824f SHA512 c4d3f132bae2980163e74695126e979bd68dddecb17c2eea8227edbb675985d1f04ade665b946a5e3c707bc17e260efb61f57aa141b6ef712385d4d85a68ef86 -EBUILD vice-3.4_p38553.ebuild 4410 BLAKE2B ea6539484a88baac8d3d98bbff3c4f589c4bac49c76586496b8453e7b1cfa5c402ff5a1e7a029483da5cf07d78006bc35a3557a67a63230bc85a8b12f3f469d6 SHA512 dd7a3ad05ceb453a71667e0628d8d925b03c864d07c90857d283e5737e0105895222f6bf635c28f0274c005c1f03324dfffef57610b9f32c031b76e2782339eb EBUILD vice-3.5-r1.ebuild 4077 BLAKE2B cf446708e7d2b3b84db74d7e59557a9cd078ea28cc3e3f3ec2024a14865f0ed5b8157a968bf9a53cb08c1c88c7ca1bb4937ec4b3c568fe70e9107619a5dd4942 SHA512 e207be81ee7ecd8f4049e69befd6171bcae1758538a34704e538d7903141c28b7a179c9ab2b3afddfeaabb3d410f31261f1cd525113a612d90e736c8f8f027ae MISC metadata.xml 785 BLAKE2B 1dc59c7b40fda968680e97b1ad83e741faf223143bbc1ab2d523e37312badd3a3aaedc3bbffbd158531c74ae73dab1bb1ee03666a081eb17d819dc9e0b783ee2 SHA512 b483d325702723d1395bca771d215709fc68b6ca8309c4297c6a668d5940502c9c8d5d4149e1f52b8fd6d5062cf04b2e3d7046ecfc0555d2703b064e329af283 diff --git a/app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch b/app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch deleted file mode 100644 index 557c0a927318..000000000000 --- a/app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://sourceforge.net/p/vice-emu/patches/218/ - -Index: configure.ac -=================================================================== ---- a/configure.ac (revision 38502) -+++ b/configure.ac (working copy) -@@ -1275,6 +1275,14 @@ - fi - - if test x"$found_sdl2" != "xyes"; then -+ PKG_CHECK_MODULES(SDL2, sdl2, [ -+ use_sdl_prefix=no -+ use_sdl2_prefix=no -+ found_sdl2=yes -+ VICE_CFLAGS="$VICE_CFLAGS $SDL2_CFLAGS" -+ VICE_CXXFLAGS="$VICE_CXXFLAGS $SDL2_CFLAGS" -+ LIBS="$LIBS $SDL2_LIBS" -+ ], [ - dnl Check for sdl2-config - if test x"$sdl2_config" != "xno"; then - user_CFLAGS="$CFLAGS" -@@ -1311,6 +1319,7 @@ - CFLAGS="$user_CFLAGS" - CXXFLAGS="$user_CXXFLAGS" - fi -+ ]) - fi - - dnl fail if SDL2 ui was requested, otherwise restore flags and continue diff --git a/app-emulation/vice/vice-3.4_p38553.ebuild b/app-emulation/vice/vice-3.4_p38553.ebuild deleted file mode 100644 index 17bb3310b2ab..000000000000 --- a/app-emulation/vice/vice-3.4_p38553.ebuild +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools multibuild xdg - -MY_P="vice-emu-code-r${PV##*_p}-trunk-vice" - -DESCRIPTION="The Versatile Commodore Emulator" -HOMEPAGE="https://vice-emu.sourceforge.io/" -#SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz" -SRC_URI="https://sourceforge.net/code-snapshots/svn/v/vi/vice-emu/code/${MY_P}.zip" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib" -REQUIRED_USE="|| ( gtk headless sdl ) gtk? ( zlib )" - -RDEPEND=" - sys-libs/readline:0= - virtual/libintl - alsa? ( media-libs/alsa-lib ) - ethernet? ( - >=net-libs/libpcap-0.9.8 - >=net-libs/libnet-1.1.2.1:1.1 - ) - ffmpeg? ( media-video/ffmpeg:= ) - flac? ( media-libs/flac ) - gif? ( media-libs/giflib:= ) - gtk? ( - dev-libs/glib:2 - media-libs/fontconfig:1.0 - x11-libs/cairo - x11-libs/gtk+:3 - x11-libs/pango - opengl? ( - media-libs/glew:0= - virtual/opengl - ) - ) - jpeg? ( virtual/jpeg ) - lame? ( media-sound/lame ) - mpg123? ( media-sound/mpg123 ) - ogg? ( - media-libs/libogg - media-libs/libvorbis - ) - parport? ( sys-libs/libieee1284 ) - pci? ( sys-apps/pciutils ) - png? ( media-libs/libpng:0= ) - portaudio? ( media-libs/portaudio ) - pulseaudio? ( media-sound/pulseaudio ) - sdl? ( media-libs/libsdl2[video] ) - zlib? ( sys-libs/zlib ) -" - -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto -" - -BDEPEND=" - app-arch/unzip - app-text/dos2unix - dev-embedded/xa - dev-lang/perl - sys-apps/texinfo - sys-devel/flex - sys-devel/gettext - virtual/pkgconfig - virtual/yacc - doc? ( virtual/texi2dvi ) - gtk? ( x11-misc/xdg-utils ) -" - -S="${WORKDIR}/${MY_P}" -ECONF_SOURCE="${S}" - -PATCHES=( - "${FILESDIR}"/vice-pkg-config-${PV}.patch -) - -src_prepare() { - default - - # Delete some bundled libraries. - rm -r src/lib/lib{ffmpeg,lame,x264} || die - - local DIR - for DIR in src/resid src/resid-dtv .; do - pushd "${DIR}" || die - AT_NO_RECURSIVE=1 eautoreconf - popd || die - done - - # Strip the predefined C(XX)FLAGS. - sed -i -r 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die -} - -src_configure() { - MULTIBUILD_VARIANTS=( - $(usev gtk) - $(usev headless) - $(usev sdl) - ) - - multibuild_foreach_variant run_in_build_dir multibuild_src_configure -} - -multibuild_enable() { - if [[ ${MULTIBUILD_VARIANT} == $1 ]]; then - printf -- "--enable-%s\n" "$2" - else - printf -- "--disable-%s\n" "$2" - fi -} - -multibuild_src_configure() { - # Some dependencies lack configure options so prevent them becoming - # automagic by using configure cache variables. - use pci || export ac_cv_header_pci_pci_h=no - - # Ensure we use giflib, not ungif. - export ac_cv_lib_ungif_EGifPutLine=no - - # Append ".variant" to x* programs if building multiple variants. - if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then - xform="/^x/s/\$/.${MULTIBUILD_VARIANT}/" - else - unset xform - fi - - econf \ - --program-transform-name="${xform}" \ - --disable-arch \ - $(use_enable debug) \ - $(use_enable debug debug-gtk3ui) \ - $(use_enable ffmpeg external-ffmpeg) \ - $(multibuild_enable headless headlessui) \ - --enable-html-docs \ - $(use_enable ethernet) \ - $(use_enable opengl hwscale) \ - $(use_enable ipv6) \ - $(use_enable lame) \ - $(use_enable parport libieee1284) \ - $(multibuild_enable gtk native-gtk3ui) \ - $(use_enable doc pdf-docs) \ - $(use_enable portaudio) \ - --disable-sdlui \ - $(multibuild_enable sdl sdlui2) \ - --disable-shared-ffmpeg \ - --disable-static-ffmpeg \ - $(multibuild_enable gtk desktop-files) \ - $(use_with alsa) \ - $(use_with gif) \ - $(use_with jpeg) \ - $(use_with oss) \ - $(use_with png) \ - $(use_with pulseaudio pulse) \ - $(use_with zlib) \ - $(use_with mpg123) \ - $(use_with ogg vorbis) \ - $(use_with flac) -} - -src_compile() { - multibuild_foreach_variant run_in_build_dir emake -} - -src_install() { - # Get xdg-desktop-menu to play nicely while doing the install. - dodir /etc/xdg/menus /usr/share/{applications,desktop-directories} - XDG_UTILS_INSTALL_MODE=system \ - XDG_DATA_DIRS="${ED}"/usr/share \ - XDG_CONFIG_DIRS="${ED}"/etc/xdg \ - multibuild_foreach_variant run_in_build_dir default - rm -f "${ED}"/usr/share/applications/*.cache || die - dodoc FEEDBACK - - # Delete the bundled fonts. These could be packaged separately but - # they're only for the HTML documentation. - rm -r "${ED}"/usr/share/doc/${PF}/html/fonts/ || die -} |