commit: 4dfe2cb030235f25f28305ca3c197f81945cdfd3 Author: Christopher Byrne <salah.coronya <AT> gmail <DOT> com> AuthorDate: Mon May 26 23:37:03 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed May 28 10:24:53 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4dfe2cb0
app-emulation/guestfs-tools: add 1.54.0 Unforeuntly, guestfs-tools-1.54.x doesn't go with the other libguestfs 1.54 stuff - it requires at least libguestfs-1.55.6, which is not keyworded. When libguestfs-1.56.0 is released, it can then be keyworded. Signed-off-by: Christopher Byrne <salah.coronya <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42273 Signed-off-by: Sam James <sam <AT> gentoo.org> app-emulation/guestfs-tools/Manifest | 1 + .../guestfs-tools/guestfs-tools-1.54.0.ebuild | 156 +++++++++++++++++++++ 2 files changed, 157 insertions(+) diff --git a/app-emulation/guestfs-tools/Manifest b/app-emulation/guestfs-tools/Manifest index 9ad2d7555681..bd62942be7d9 100644 --- a/app-emulation/guestfs-tools/Manifest +++ b/app-emulation/guestfs-tools/Manifest @@ -1,3 +1,4 @@ DIST guestfs-tools-1.48.2.tar.gz 12691067 BLAKE2B 305f281c19975f160c435b995d71ef2e18d09fc95f31e92efe8f79d811fc0a7efab27d14f766d5f6ee477fd43977167a3aabe5cc40498f125f925507fd2574d5 SHA512 e11cd5a38a1681e8b2fd56419d38ca0aaab659cb59d409b3572cadcd04fd4da3078fa33e7f21c99d11854ad08797ae24a8d71c041b1b7769fc36c1391b6eb162 DIST guestfs-tools-1.52.3.tar.gz 16237597 BLAKE2B f6ef8a63f3b9dfee6c7ebb954ae9d3602dd3d96a60f85fc1d6a5304725ebca488937802cff337f18bd4e86e2598ad092be2fab2a59f9580d0849c65fef09d3c1 SHA512 f7a965500a7d1b355d447bd4710c9e38e8f7443eef721fbff9504d862bbf4740b8e5f75134fcc0ca50817872799168a46d2ddcca82c36be1d891d3ed3c47c79b DIST guestfs-tools-1.53.7.tar.gz 16233906 BLAKE2B 2a81258558609e74dc9ca47cc98cede84e3db119c807ba835355c2056dc57865cdf7c969441bdc0efe5cb4133d3a4fb3ea413fca439ab20304b9f1375b025336 SHA512 a80484d3811e4e226ad1c81694b304b0d3a596d634bd61525ee5c5aeb5f360a911cef52cfba81f819a83b0615f6731ea8395c58d06d9a4b052afe6b10b0f2535 +DIST guestfs-tools-1.54.0.tar.gz 16243507 BLAKE2B a3ad576b5354ef29fddd8d18112a831d1ef0a3c925ded2bcfe5117537f160411f8e39c5680b08b3507702e10841da5945f7e432eae475dda780f0d217bef6058 SHA512 db76a1cbfaa8b53b5c4609030f545b9d043161cebf54379da6418800086855f11cb3a0e5d135184c2a885094a6a7120155774377a6641a2d7fbd45206ff9ec87 diff --git a/app-emulation/guestfs-tools/guestfs-tools-1.54.0.ebuild b/app-emulation/guestfs-tools/guestfs-tools-1.54.0.ebuild new file mode 100644 index 000000000000..503e4d6724dd --- /dev/null +++ b/app-emulation/guestfs-tools/guestfs-tools-1.54.0.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Bump with app-emulation/libguestfs and app-emulation/libguestfs-appliance (if any new release there) + +inherit autotools bash-completion-r1 perl-functions toolchain-funcs + +MY_PV_1="$(ver_cut 1-2)" +MY_PV_2="$(ver_cut 2)" +[[ $(( ${MY_PV_2} % 2 )) -eq 0 ]] && SD="stable" || SD="development" + +DESCRIPTION="Tools for accessing, inspecting, and modifying virtual machine (VM) disk images" +HOMEPAGE="https://libguestfs.org/" +SRC_URI="https://download.libguestfs.org/${PN}/${MY_PV_1}-${SD}/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0/${MY_PV_1}" +# We can't keyword 1.54.x yet because it depends on +# >=app-emulation/libguestfs-1.55.6 +#if [[ ${SD} == "stable" ]] ; then +# KEYWORDS="~amd64" +#fi +IUSE="doc libvirt +ocaml +perl test" +RESTRICT="!test? ( test )" + +COMMON_DEPEND_DEFAULT=" + app-arch/xz-utils + dev-libs/libpcre2:= + dev-libs/libxml2:= + sys-libs/libxcrypt:= + sys-libs/ncurses:= +" +COMMON_DEPEND_EXPLICIT=" + >=app-emulation/libguestfs-1.55.6:=[ocaml,perl?,libvirt=] + dev-libs/json-c:= + sys-libs/libosinfo + || ( + dev-libs/libisoburn + app-cdr/cdrtools + ) +" +COMMON_DEPEND_IMPLICIT=" + dev-db/sqlite + sys-apps/hwdata +" +COMMON_DEPEND=" + ${COMMON_DEPEND_DEFAULT} + ${COMMON_DEPEND_EXPLICIT} + ${COMMON_DEPEND_IMPLICIT} + libvirt? ( app-emulation/libvirt[qemu] ) + perl? ( + app-misc/hivex + virtual/perl-Getopt-Long + ) +" + +# Some OCaml is always required +# bug #729674 +DEPEND=" + ${COMMON_DEPEND} + dev-lang/ocaml[ocamlopt] + dev-ml/findlib[ocamlopt] +" +RDEPEND=" + ${COMMON_DEPEND} + app-emulation/libguestfs-appliance +" +BDEPEND=" + sys-devel/bison + sys-devel/flex + sys-devel/gettext + virtual/pkgconfig + doc? ( app-text/po4a ) + ocaml? ( + dev-ml/ocaml-gettext + dev-ml/ocaml-gettext-stub + ) + perl? ( + dev-perl/Module-Build + virtual/perl-ExtUtils-CBuilder + virtual/perl-Pod-Simple + ) + test? ( ocaml? ( dev-ml/ounit2[ocamlopt] ) ) +" + +src_prepare() { + cat <<EOF > "${S}/m4/guestfs-bash-completion.m4" || die +dnl Unconditionally install Bash completion files +AC_MSG_CHECKING([for bash-completions directory]) +AC_SUBST([BASH_COMPLETIONS_DIR],[$(get_bashcompdir)]) +AC_MSG_RESULT([\$BASH_COMPLETIONS_DIR]) +AM_CONDITIONAL([HAVE_BASH_COMPLETION],[/bin/true]) +EOF + + default + eautoreconf +} + +src_configure() { + # Bug #794877 + tc-export AR + + # m4/guestfs-progs.m4: (f)lex and bison for virt-builder (required). + # Bug #915339 + unset LEX YACC + + local myconf=( + $(usex doc '' PO4A=no) + $(use_enable ocaml) + $(use_enable perl) + $(use_with libvirt) + ) + + econf "${myconf[@]}" +} + +src_install() { + emake INSTALLDIRS=vendor DESTDIR="${D}" install "LINGUAS=""${LINGUAS}""" + + find "${ED}" -name '*.la' -delete || die + + use perl && perl_delete_localpod +} + +src_test() { + # Missing appliance support? libguestfs (virt-inspector --format=raw -a ${IMAGE}) returns + # libguestfs: error: inspect_get_build_id: dispatch_incoming_message: unknown procedure number 513. + # set LIBGUESTFS_PATH to point to the matching libguestfs appliance directory + local -x SKIP_TEST_VIRT_INSPECTOR_LVM_ON_LUKS_SH=1 + local -x SKIP_TEST_VIRT_INSPECTOR_LUKS_ON_LVM_SH=1 + local -x SKIP_TEST_VIRT_INSPECTOR_SH=1 + local -x SKIP_TEST_VIRT_DRIVERS_LINUX_SH=1 + local -x SKIP_TEST_VIRT_DRIVERS_WINDOWS_SH=1 + # Misssing appliance support? libguestfs returns + # virt-make-fs: file command failed + local -x SKIP_TEST_VIRT_MAKE_FS_SH=1 + # Socket pathname too long for libvirt backend + local -x LIBGUESTFS_BACKEND=direct + # Increase vebosity + local -x LIBGUESTFS_DEBUG=1 + local -x LIBGUESTFS_TRACE=1 + + default +} + +pkg_postinst() { + if ! use ocaml ; then + einfo "OCaml based tools and bindings (virt-resize, virt-sparsify, virt-sysprep, ...) NOT installed" + fi + + if ! use perl ; then + einfo "Perl based tools NOT built" + fi +}
