commit:     3280e01f5dfb1ae6d32568fda7a0c34a299445bf
Author:     Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Sat Jan  4 12:31:55 2025 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sat Jan  4 22:47:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3280e01f

app-containers/apptainer: add 1.3.6

Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/39972
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 app-containers/apptainer/Manifest               |  1 +
 app-containers/apptainer/apptainer-1.3.6.ebuild | 91 +++++++++++++++++++++++++
 2 files changed, 92 insertions(+)

diff --git a/app-containers/apptainer/Manifest 
b/app-containers/apptainer/Manifest
index cdb61e57210b..89b0f69c1d9e 100644
--- a/app-containers/apptainer/Manifest
+++ b/app-containers/apptainer/Manifest
@@ -1 +1,2 @@
 DIST apptainer-1.3.2.tar.gz 17129103 BLAKE2B 
a2c15d408dc956a4bc8cb154dadfe0e60aa8b4216277ff4afd508058f9425722fb66200e7d4ab33cf5a73aee34761ac198e7b31439ab69dfaceebb9f768b58e6
 SHA512 
c3112c8254c995f83e3ae424ecf734e8ca9583c34cd8b0e56fdde2a7ef8d5145ac68a7a2c9575b071515a2cb681d11423fe57a5a3910750d3bc697c85c15585d
+DIST apptainer-1.3.6.tar.gz 17129602 BLAKE2B 
2dd17c1a0601c7d191d4604f2c0e3fb5d8cc4e831dba7bf4cfcbfc359eba1bb3f255ab2c1a81ae844cbebfc6e96729911e5ac4a92195b30f74d77fafac12059f
 SHA512 
e50b8cbdac544241a56d7dc662ad927fdcf9a0f245bab4be0bc35ba9658f9db7c851a95de500e32c0975a2f5e8bcf7f16628e963ebb945ca036de9e91bd8a4a9

diff --git a/app-containers/apptainer/apptainer-1.3.6.ebuild 
b/app-containers/apptainer/apptainer-1.3.6.ebuild
new file mode 100644
index 000000000000..1adfbf38c500
--- /dev/null
+++ b/app-containers/apptainer/apptainer-1.3.6.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info toolchain-funcs
+
+DESCRIPTION="The container system for secure high-performance computing"
+HOMEPAGE="https://apptainer.org/";
+SRC_URI="https://github.com/apptainer/${PN}/releases/download/v${PV}/${P}.tar.gz";
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples +network suid systemd"
+
+# Do not complain about CFLAGS etc. since go projects do not use them.
+QA_FLAGS_IGNORED='.*'
+
+DEPEND="app-crypt/gpgme
+       >=dev-lang/go-1.20.0
+       dev-libs/openssl
+       sys-apps/util-linux
+       sys-fs/cryptsetup
+       sys-fs/squashfs-tools
+       sys-libs/libseccomp
+       !suid? (
+               sys-fs/e2fsprogs[fuse]
+               sys-fs/squashfuse
+       )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~SQUASHFS"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.0.2-trim_upstream_cflags.patch
+)
+
+DOCS=( README.md CONTRIBUTORS.md CONTRIBUTING.md )
+
+src_configure() {
+       local myconfargs=(
+               -c "$(tc-getBUILD_CC)" \
+               -x "$(tc-getBUILD_CXX)" \
+               -C "$(tc-getCC)" \
+               -X "$(tc-getCXX)" \
+               --prefix="${EPREFIX}"/usr \
+               --sysconfdir="${EPREFIX}"/etc \
+               --runstatedir="${EPREFIX}"/run \
+               --localstatedir="${EPREFIX}"/var \
+               $(usex network "" "--without-network") \
+               $(use_with suid)
+       )
+       ./mconfig -v ${myconfargs[@]} || die "Error invoking mconfig"
+}
+
+src_compile() {
+       emake -C builddir
+}
+
+src_install() {
+       emake DESTDIR="${D}" -C builddir install
+       keepdir /var/${PN}/mnt/session
+
+       if use systemd; then
+               sed -i -e '/systemd cgroups/ s/no/yes/' 
"${ED}"/etc/${PN}/${PN}.conf \
+                       || die "Failed to enable systemd use in configuration"
+       else
+               sed -i -e '/systemd cgroups/ s/yes/no/' 
"${ED}"/etc/${PN}/${PN}.conf \
+                       || die "Failed to disable systemd use in configuration"
+       fi
+
+       einstalldocs
+       if use examples; then
+               dodoc -r examples
+       fi
+}
+
+pkg_postinst() {
+       if ! use suid; then
+               local oldver
+               for oldver in ${REPLACING_VERSIONS}; do
+                       if ver_test "${oldver}" -lt 1.1.0; then
+                               ewarn "Since version 1.1.0 ${PN} no longer 
installs setuid-root components by default, relying on unprivileged user 
namespaces instead. For details, see 
https://apptainer.org/docs/admin/main/user_namespace.html";
+                               ewarn "Make sure user namespaces (possibly 
except network ones for improved security) are enabled on your system, or 
re-enable installation of setuid root components by passing USE=suid to 
${CATEGORY}/${PN}"
+                               break
+                       fi
+               done
+       fi
+}

Reply via email to