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 +}
