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>

Reply via email to