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

Reply via email to