summaryrefslogtreecommitdiff
path: root/app-emulation/libguestfs/libguestfs-1.56.2.ebuild
diff options
context:
space:
mode:
authorChristopher Byrne <salah.coronya@gmail.com>2025-08-31 14:25:18 -0500
committerSam James <sam@gentoo.org>2025-09-06 15:17:37 +0100
commit1bfd03fb033da987a1ecf9c02710309702a791e8 (patch)
treeaeacf1f69bf779277cd0085224d52de588c21bea /app-emulation/libguestfs/libguestfs-1.56.2.ebuild
parent6535438190e84218243dd43cfa5ddbfbd1005619 (diff)
downloadgentoo-1bfd03fb033da987a1ecf9c02710309702a791e8.tar.gz
gentoo-1bfd03fb033da987a1ecf9c02710309702a791e8.tar.bz2
gentoo-1bfd03fb033da987a1ecf9c02710309702a791e8.zip
app-emulation/libguestfs: add 1.56.2
The requirement for app-admin/augeas and app-misc/hivex[ocaml?] was removed if the daemon is not being build (which is unsupported in Gentoo) Dropped use of dev-ml/ounit2[ocamlopt] for tests. Does not use flex or bison, so dropped in BDEPEND. Upstream Changed from jansson to c-json as their JSON library. Some previopusly failing tests were re-enabled Intospection support is broken and officially depreceated. Upstream will strip it out completely in 1.58.0, so therefore removed introspection (and Vala) support. Signed-off-by: Christopher Byrne <salah.coronya@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/43629 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-emulation/libguestfs/libguestfs-1.56.2.ebuild')
-rw-r--r--app-emulation/libguestfs/libguestfs-1.56.2.ebuild210
1 files changed, 210 insertions, 0 deletions
diff --git a/app-emulation/libguestfs/libguestfs-1.56.2.ebuild b/app-emulation/libguestfs/libguestfs-1.56.2.ebuild
new file mode 100644
index 000000000000..97e2571ddf94
--- /dev/null
+++ b/app-emulation/libguestfs/libguestfs-1.56.2.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+USE_RUBY=( ruby3{2..3} )
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit autotools bash-completion-r1 dot-a linux-info lua-single perl-functions\
+ python-single-r1 ruby-single 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/${MY_PV_1}-${SD}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0/${MY_PV_1}"
+if [[ ${SD} == "stable" ]] ; then
+ KEYWORDS="~amd64"
+fi
+
+IUSE="doc erlang +fuse libvirt lua +ocaml +perl python readline ruby selinux static-libs test"
+
+REQUIRED_USE="
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RESTRICT="!test? ( test )"
+
+# Not part of the system profile, but dependenices of it with base USE flags
+COMMON_DEPEND_DEFAULT="
+ app-arch/xz-utils
+ app-arch/zstd
+ dev-libs/libpcre2:=
+ dev-libs/libxml2:=
+ net-libs/libtirpc:=
+ sys-libs/libcap-ng
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ virtual/acl
+ virtual/libcrypt
+"
+# Won't compile without it
+COMMON_DEPEND_EXPLICIT="
+ app-alternatives/cpio
+ app-emulation/qemu[qemu_softmmu_targets_x86_64,selinux?]
+ dev-libs/json-c:=
+ || (
+ dev-libs/libisoburn
+ app-cdr/cdrtools
+ )
+"
+# "Automagic" dependencies
+COMMON_DEPEND_IMPLICIT="
+ dev-libs/libconfig:=
+ media-gfx/icoutils
+ media-libs/netpbm[png]
+"
+# Sum of the above + conditional dependencies
+COMMON_DEPEND="
+ ${COMMON_DEPEND_DEFAULT}
+ ${COMMON_DEPEND_EXPLICIT}
+ ${COMMON_DEPEND_IMPLICIT}
+ erlang? ( dev-lang/erlang )
+ fuse? ( sys-fs/fuse:0 )
+ libvirt? ( app-emulation/libvirt[qemu] )
+ perl? (
+ dev-perl/libintl-perl
+ virtual/perl-Getopt-Long
+ )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline )
+ ruby? ( ${RUBY_DEPS} )
+ selinux? ( sys-libs/libselinux )
+"
+# Some OCaml is always required
+# Bug #729674
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-lang/ocaml:=[ocamlopt]
+ dev-ml/findlib[ocamlopt]
+ dev-util/gperf
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ app-emulation/libguestfs-appliance
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( app-text/po4a )
+ lua? ( ${LUA_DEPS} )
+ perl? (
+ dev-perl/Module-Build
+ virtual/perl-ExtUtils-CBuilder
+ virtual/perl-Pod-Simple
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.52.1-disable-obsolete-lvmetad-in-tests.patch"
+)
+
+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
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~KVM ~VIRTIO"
+ [[ -n "${CONFIG_CHECK}" ]] && check_extra_config
+
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ # Bug #794877
+ tc-export AR
+
+ if use ocaml || use static-libs; then
+ lto-guarantee-fat
+ fi
+
+ local myconf=(
+ --disable-appliance
+ --disable-daemon
+ --disable-haskell
+ --disable-golang
+ --disable-rust
+ $(use_enable ocaml)
+ --disable-php
+ --without-java
+ $(use_enable lua)
+ $(use_enable erlang)
+ --disable-vala
+ $(usex doc '' PO4A=no)
+ --with-extra="-gentoo"
+ $(use_with readline)
+ $(use_enable ruby)
+ $(use_enable fuse)
+ --disable-gobject
+ --disable-introspection
+ $(use_with libvirt)
+ --with-default-backend=$(usex libvirt libvirt direct)
+ $(use_enable perl)
+ $(use_enable python)
+ $(use_enable static-libs static)
+ )
+
+ # Avoid automagic SELinux dependency
+ local -x ac_cv_header_selinux_selinux_h
+
+ if use selinux && use !libvirt; then
+ ewarn "USE=selinux has no effect without USE=libvirt"
+ ac_cv_header_selinux_selinux_h="no"
+ else
+ ac_cv_header_selinux_selinux_h=$(usex selinux)
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ emake INSTALLDIRS=vendor DESTDIR="${D}" install "LINGUAS=""${LINGUAS}"""
+ # ocaml always installs a static lib even without USE=static-libs
+ strip-lto-bytecode "${ED}"
+
+ find "${ED}" -name '*.la' -delete || die
+
+ use perl && perl_delete_localpod
+ use python && python_optimize
+}
+
+src_test() {
+ # app-shells/bash-completion may not be installed
+ # Bug #794874
+ local -x SKIP_TEST_COMPLETE_IN_SCRIPT_SH=1
+ # Upstream doesn't ship the test data
+ local -x SKIP_TEST_JOURNAL_PL=1
+ local -x SKIP_TEST_MOUNTABLE_INSPECT_SH=1
+ # Sandbox interferes with tests
+ local -x SKIP_TEST_BIG_HEAP=1
+ local -x SKIP_TEST_SELINUX_XATTRS_FUSE=1
+ local -x SKIP_TEST_GUESTUNMOUNT_FD=1
+ # Doesn't work correctly when --without-daemon is specified
+ local -x SKIP_TEST_NOEXEC_STACK_PL=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
+}