commit: 514d75e3d2f15b79934302e1015f2050da8868db Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Jul 20 18:55:02 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jul 20 18:58:51 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=514d75e3
app-emulation/qemu: provide pre-generated man pages Bug: https://bugs.gentoo.org/830088 Signed-off-by: Sam James <sam <AT> gentoo.org> app-emulation/qemu/Manifest | 1 + .../{qemu-9999.ebuild => qemu-7.0.0-r3.ebuild} | 33 ++++++++++++++++++---- app-emulation/qemu/qemu-9999.ebuild | 24 +++++++++++++++- 3 files changed, 52 insertions(+), 6 deletions(-) diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 31a2d4d54918..f9984a275e26 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -1 +1,2 @@ +DIST qemu-7.0.0-docs.tar.xz 5101176 BLAKE2B 827d4af2b3fd229d146b47253d12a8bfd60614f5ba60e098abc58a6635bd9f8a029775932f4fc3dee3cb1f0a379133c47d819c53273547abbbf2aacd6bbd4fc5 SHA512 8f27b954a2f3710cee5cb78635631b035ea733f43381d378464733164b897bc0e8c6b373d80f1d97a65b761c13e342ae0c0836202d1506ec0b7c214b7388c7bb DIST qemu-7.0.0.tar.xz 125117636 BLAKE2B ceda6d9f1a585298bd49fed61e8bb35f0064ad8388a9f979c8bd68a38bfe1a47c5bb055e5f74f970c2c440957042b9de4a861524120040c56e4cd8b56c5cfb68 SHA512 44ecd10c018a3763e1bc87d1d35b98890d0d5636acd69fe9b5cadf5024d5af6a31684d60cbe1c3370e02986434c1fb0ad99224e0e6f6fe7eda169992508157b1 diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-7.0.0-r3.ebuild similarity index 95% copy from app-emulation/qemu/qemu-9999.ebuild copy to app-emulation/qemu/qemu-7.0.0-r3.ebuild index 336c80bd859c..85407fa402c6 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-7.0.0-r3.ebuild @@ -3,6 +3,18 @@ EAPI=8 +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} +QEMU_DOCS_PREBUILT_DEV=sam +QEMU_DOCS_VERSION=$(ver_cut 1-3) +# Default to generating docs (inc. man pages) if no prebuilt +# bug #830088 +QEMU_DOC_USEFLAG="+doc" + +[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" + PYTHON_COMPAT=( python3_{8,9,10} ) PYTHON_REQ_USE="ncurses,readline" @@ -24,6 +36,11 @@ if [[ ${PV} == *9999* ]]; then else MY_P="${PN}-${PV/_rc/-rc}" SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" + + if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" + fi + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi @@ -34,7 +51,7 @@ HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" LICENSE="GPL-2 LGPL-2 BSD-2" SLOT="0" -IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug +doc +IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug ${QEMU_DOC_USEFLAG} +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring jack jemalloc +jpeg lzo multipath @@ -52,7 +69,6 @@ COMMON_TARGETS=" cris hppa i386 - loongarch64 m68k microblaze microblazeel @@ -278,8 +294,10 @@ PATCHES=( "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch "${FILESDIR}"/${PN}-6.0.0-make.patch - "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch - "${FILESDIR}"/${PN}-7.1.0-strings.patch + "${FILESDIR}"/${PN}-6.1.0-strings.patch + "${FILESDIR}"/${PN}-7.0.0-also-build-virtfs-proxy-helper.patch + "${FILESDIR}"/${P}-virtio-scsi-fixes.patch + "${FILESDIR}"/${P}-pci-overflow-fortify-source-3.patch ) QA_PREBUILT=" @@ -547,7 +565,7 @@ qemu_src_configure() { $(conf_notuser numa) $(conf_notuser opengl) $(conf_notuser pam auth-pam) - $(conf_notuser png) + $(conf_notuser png vnc-png) $(conf_notuser rbd) $(conf_notuser sasl vnc-sasl) $(conf_notuser sdl) @@ -795,6 +813,11 @@ src_install() { cd "${S}/tools-build" || die emake DESTDIR="${ED}" install + # If USE=doc, there'll be newly generated docs. + if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] + fi + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 pushd "${ED}"/usr/bin >/dev/null || die pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 336c80bd859c..5fafe21350ab 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -3,6 +3,18 @@ EAPI=8 +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} +QEMU_DOCS_PREBUILT_DEV=sam +QEMU_DOCS_VERSION=$(ver_cut 1-3) +# Default to generating docs (inc. man pages) if no prebuilt +# bug #830088 +QEMU_DOC_USEFLAG="+doc" + +[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" + PYTHON_COMPAT=( python3_{8,9,10} ) PYTHON_REQ_USE="ncurses,readline" @@ -24,6 +36,11 @@ if [[ ${PV} == *9999* ]]; then else MY_P="${PN}-${PV/_rc/-rc}" SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" + + if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" + fi + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" S="${WORKDIR}/${MY_P}" fi @@ -34,7 +51,7 @@ HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" LICENSE="GPL-2 LGPL-2 BSD-2" SLOT="0" -IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug +doc +IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug ${QEMU_DOC_USEFLAG} +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring jack jemalloc +jpeg lzo multipath @@ -795,6 +812,11 @@ src_install() { cd "${S}/tools-build" || die emake DESTDIR="${ED}" install + # If USE=doc, there'll be newly generated docs. + if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] + fi + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 pushd "${ED}"/usr/bin >/dev/null || die pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
