commit:     5d38bd8c484c86d002f39a8795ac278ad7bd98ff
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue May 21 10:54:45 2024 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue May 21 11:38:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d38bd8c

app-containers/apptainer: add 1.3.1

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

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

diff --git a/app-containers/apptainer/Manifest 
b/app-containers/apptainer/Manifest
index 41d909813726..7ba5b9344783 100644
--- a/app-containers/apptainer/Manifest
+++ b/app-containers/apptainer/Manifest
@@ -1 +1,2 @@
 DIST apptainer-1.3.0.tar.gz 17103544 BLAKE2B 
ed42b763a20b2b71cce6081b903697dc506073f91f9d928d49801165289d15c1416044af8fcedddcbd2a260c17a2e6488ed3d06b1edb4fb5f5ca5e9d14a14312
 SHA512 
a72afcac8e783f43732517314a94ffe039ab8f29027bcc398295fed97b123e6777039c016b6655a3cefbcba7e69832f62f3418b11e1bbd0452edc702ecaef69e
+DIST apptainer-1.3.1.tar.gz 17131707 BLAKE2B 
08b25f188c8c0b3b72dd692ce9bb21ee5b40ad599170c12ec18b485a05a9b7309215ad17d2b2d15086f35864bf1d09dfd0834b7e2c8c54c5b175bb5989328022
 SHA512 
da24d7aac8b4a66c665f5d01a293a6de6ea214011a4f1b728c10fff03ee1e94beb648f3be04df072011dbac920624927ddbe2cf7c13a9aba424b463c51d2df64

diff --git a/app-containers/apptainer/apptainer-1.3.1.ebuild 
b/app-containers/apptainer/apptainer-1.3.1.ebuild
new file mode 100644
index 000000000000..144ecd780c6e
--- /dev/null
+++ b/app-containers/apptainer/apptainer-1.3.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 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}
+       !sys-cluster/singularity"
+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