commit: a5b7904943617578dd87518ad03ceb0004826fd7 Author: Oliver Freyermuth <o.freyermuth <AT> googlemail <DOT> com> AuthorDate: Wed Jun 25 22:01:31 2025 +0000 Commit: Nicolas Bock <nicolasbock <AT> gentoo <DOT> org> CommitDate: Tue Jul 8 06:34:33 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5b79049
sys-cluster/charliecloud: add 0.40 Part-of: https://github.com/gentoo/gentoo/pull/42749 Signed-off-by: Oliver Freyermuth <o.freyermuth <AT> googlemail.com> Signed-off-by: Nicolas Bock <nicolasbock <AT> gentoo.org> sys-cluster/charliecloud/Manifest | 1 + sys-cluster/charliecloud/charliecloud-0.40.ebuild | 116 ++++++++++++++++++++++ sys-cluster/charliecloud/metadata.xml | 1 + 3 files changed, 118 insertions(+) diff --git a/sys-cluster/charliecloud/Manifest b/sys-cluster/charliecloud/Manifest index 7b3237d962ec..276c31622767 100644 --- a/sys-cluster/charliecloud/Manifest +++ b/sys-cluster/charliecloud/Manifest @@ -1 +1,2 @@ DIST charliecloud-0.39.tar.bz2 545133 BLAKE2B aa993d7f88d27d1c4f273eefdb8d8790131cf191b207c310fd5dee284c847fa619f8632b90340c3b08f44c746d42267469147ffa707cb3c6617e8217ed0f0acb SHA512 71597e3cee90ad3f301d50c556a641dc485b2556932705d6f71ef7fcdbba0e384133e483a4980bb849713af2cc3d5b5231b62a9f0a27ec3d8edd01b07e591d0b +DIST charliecloud-0.40.tar.bz2 584529 BLAKE2B e3566f35ac216acf3cdc26b27df2d0567a208d5d3bc4886db1de7141c364800a649cb14f91008047d86fed2b92e692b56409277ee397faa5d49684b715c47f7f SHA512 b3871f84155aa3903913f38a1c022eb2e9ee55546c4aa918a1f359596844638bbd8b529d5a99eb00eafc41ef2bdb56585dad6e88eb6327d68d0a0534b877dba9 diff --git a/sys-cluster/charliecloud/charliecloud-0.40.ebuild b/sys-cluster/charliecloud/charliecloud-0.40.ebuild new file mode 100644 index 000000000000..1d0e05ca5cb3 --- /dev/null +++ b/sys-cluster/charliecloud/charliecloud-0.40.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit autotools optfeature python-single-r1 + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/${PN}/main.git" +else + SRC_URI="https://gitlab.com/${PN}/main/-/archive/v${PV}/main-v${PV}.tar.bz2 -> ${P}.tar.bz2" + KEYWORDS="~amd64 ~x86 ~x86-linux" + S="${WORKDIR}/main-v${PV}" +fi + +DESCRIPTION="Lightweight user-defined software stacks for high-performance computing" +HOMEPAGE="https://hpc.github.io/charliecloud/" +LICENSE="Apache-2.0" + +SLOT="0" +IUSE="ch-image doc +fuse +json" + +# Extensive test suite exists, but downloads container images +# directly and via Docker and installs packages inside using apt/yum. +# Additionally, clashes with portage namespacing and sandbox. +RESTRICT="test" + +DOCS=( NOTICE README.rst ) + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="elibc_musl? ( sys-libs/argp-standalone )" +COMMON_DEPEND=" + ch-image? ( + $(python_gen_cond_dep ' + dev-python/lark[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + dev-vcs/git + net-misc/rsync + ) + fuse? ( + sys-fs/fuse:3= + sys-fs/squashfuse + ) + json? ( + dev-libs/cJSON + ) +" +RDEPEND=" + ${DEPEND} + ${COMMON_DEPEND} + ${PYTHON_DEPS} +" +BDEPEND=" + ${COMMON_DEPEND} + ${PYTHON_DEPS} + virtual/pkgconfig + doc? ( + $(python_gen_cond_dep ' + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + net-misc/rsync + ) +" + +src_prepare() { + default + # Remove -W from SPHINXOPTS to prevent failure due to warnings + sed -i 's#^SPHINXOPTS .*=.*#SPHINXOPTS =#' doc/Makefile.am || die "Makefile patching failed" + eautoreconf +} + +src_configure() { + local econf_args=( + $(use_enable doc html) + $(use_enable ch-image) + $(use_with json) + # activates linking against both fuse and squashfuse + $(use_with fuse squashfuse) + # https://github.com/ivmai/bdwgc not packaged + --without-gc + # Libdir is used as a libexec-style destination. + --libdir="${EPREFIX}"/usr/lib + # Attempts to call python-exec directly otherwise. + --with-sphinx-python="${EPYTHON}" + # This disables -Werror, see also: https://github.com/hpc/charliecloud/pull/808 + --enable-buggy-build + # Do not use bundled version of dev-python/lark. + --disable-bundled-lark + # Use correct shebang. + --with-python="${PYTHON}" + # Disable configure checks vor OverlayFS causing sandbox violations. + --disable-impolite-checks + ) + econf "${econf_args[@]}" +} + +src_install() { + docompress -x "${EPREFIX}"/usr/share/doc/"${PF}"/examples + default +} + +pkg_postinst() { + elog "Various builders are supported, as alternative to the internal ch-image." + optfeature "Building with Buildah" app-containers/buildah + optfeature "Building with Docker" app-containers/docker + optfeature "Building with Podman" app-containers/podman + optfeature "Progress bars during long operations" sys-apps/pv + optfeature "Pack and unpack squashfs images" sys-fs/squashfs-tools + optfeature "Build versioning with ch-image" dev-vcs/git +} diff --git a/sys-cluster/charliecloud/metadata.xml b/sys-cluster/charliecloud/metadata.xml index c4fc29317e2d..3d6fe442e02c 100644 --- a/sys-cluster/charliecloud/metadata.xml +++ b/sys-cluster/charliecloud/metadata.xml @@ -15,5 +15,6 @@ <use> <flag name="ch-image">Build the internal builder ch-image (previously named ch-grow)</flag> <flag name="fuse">Enable FUSE support for mounting squashfs images</flag> + <flag name="json">Enable features that rely on cJSON such as CDI</flag> </use> </pkgmetadata>
