diff --git a/.github/workflows/portage-stable-packages-list b/.github/workflows/portage-stable-packages-list index 1836460130..765a634673 100644 --- a/.github/workflows/portage-stable-packages-list +++ b/.github/workflows/portage-stable-packages-list @@ -151,6 +151,7 @@ app-editors/nano app-editors/vim app-editors/vim-core +app-emulation/open-vmdk app-emulation/qemu app-emulation/qemu-guest-agent app-emulation/virt-firmware diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/metadata.xml deleted file mode 100644 index 097975e3ad..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/metadata.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/open-vmdk-1.0.ebuild b/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/open-vmdk-1.0.ebuild deleted file mode 100644 index 7cdbc88c59..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-emulation/open-vmdk/open-vmdk-1.0.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2014 VMware -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=7 - -inherit git-r3 - -DESCRIPTION="Tool to convert vmdk to an ova file" -HOMEPAGE="https://github.com/vmware/open-vmdk" -LICENSE="Apache-2.0" -SLOT="0" - -EGIT_REPO_URI="https://github.com/vmware/open-vmdk" -EGIT_BRANCH="master" -EGIT_COMMIT="8349c98ec8a617f5658b70d7de7d7d2830e18eaf" - -KEYWORDS="amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="${DEPEND}" - -PATCHES=( -) - -src_install() { - emake DESTDIR="${D}" install -} diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords index b7ccfbbd51..0f5d73bca2 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.accept_keywords @@ -32,8 +32,8 @@ app-crypt/azure-keyvault-pkcs11 # The only available ebuild (from GURU) has ~amd64 and no keyword for arm64 yet. =app-crypt/clevis-19-r1 ** -# Needed by arm64-native SDK. -=app-emulation/open-vmdk-1.0 * +# No stable keywords yet because it's new. +=app-emulation/open-vmdk-0.3.12 ~amd64 # Keep versions on both arches in sync. =app-emulation/qemu-10.0.5 ~arm64 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use index f438536deb..13e31197c6 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use @@ -197,3 +197,6 @@ sys-auth/pambase securetty -passwdqc # We run the server in a container. dev-db/etcd -server + +# We only need the non-Python-based tools. +app-emulation/open-vmdk -python diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/Manifest b/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/Manifest new file mode 100644 index 0000000000..b9dd2990b2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/Manifest @@ -0,0 +1 @@ +DIST open-vmdk-0.3.12.tar.gz 72452 BLAKE2B 36600b454c45b8ac1c5fda3f4fde982baf02f4883f454d817eb0a5f7e388df7daefce148bd4d5baee1a6b97c90b29d70ef09c4de1db06342ad92c2583ae2df7f SHA512 4a038c899a9e3c013b830dab6514260e72d6905d6e5c2da864bdcc71f125639dc2aba68e9a4a27e96037a0200bd04d0ca2cc17306e8eaf2bf2913f9eaa0afb41 diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/metadata.xml b/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/metadata.xml new file mode 100644 index 0000000000..8f2f214cac --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/metadata.xml @@ -0,0 +1,14 @@ + + + + + chewi@gentoo.org + James Le Cuirot + + + Install Python-based tools + + + vmware/open-vmdk + + diff --git a/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/open-vmdk-0.3.12.ebuild b/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/open-vmdk-0.3.12.ebuild new file mode 100644 index 0000000000..c17133cebb --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-emulation/open-vmdk/open-vmdk-0.3.12.ebuild @@ -0,0 +1,73 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +inherit python-single-r1 toolchain-funcs + +DESCRIPTION="Tools for creating and converting OVA virtual appliance files" +HOMEPAGE="https://github.com/vmware/open-vmdk" +SRC_URI="https://github.com/vmware/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="+python test" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} ) +" + +PYDEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-libs/libxml2[python,${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + ') +" +DEPEND=" + virtual/zlib +" +RDEPEND=" + ${DEPEND} + python? ( ${PYDEPEND} ) +" +BDEPEND=" + test? ( + python? ( ${PYDEPEND} ) + $(python_gen_cond_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + ') + ) +" + +pkg_setup() { + if use python || use test; then + python-single-r1_pkg_setup + fi +} + +my_emake() { + emake \ + "$(use python || echo DIRS='vmdk ova templates')" \ + PREFIX="${EPREFIX}/usr" \ + "${@}" +} + +src_compile() { + my_emake CC="$(tc-getCC)" +} + +src_test() { + epytest $(use python || echo pytest/test_{info_options,vmdk}.py) +} + +src_install() { + my_emake install DESTDIR="${D}" + use python && python_fix_shebang "${ED}"/usr/bin +}