diff options
Diffstat (limited to 'app-containers/apptainer')
-rw-r--r-- | app-containers/apptainer/Manifest | 2 | ||||
-rw-r--r-- | app-containers/apptainer/apptainer-1.1.3.ebuild | 90 |
2 files changed, 92 insertions, 0 deletions
diff --git a/app-containers/apptainer/Manifest b/app-containers/apptainer/Manifest index 3c94d5758d30..bdece40b45ee 100644 --- a/app-containers/apptainer/Manifest +++ b/app-containers/apptainer/Manifest @@ -1,4 +1,6 @@ AUX apptainer-1.0.2-trim_upstream_cflags.patch 1142 BLAKE2B 7238229b70a8ac37f3401a163d19dc705adb6a4ab6355e4eaa386ad5c639bfc1443cf61507112a53b66816399ca5fe2c32de964dd602ea16c5dfbf9003343f8c SHA512 1351ee000274567bb5a63aa740fbc43510d84ccad42c9af0c555943b99d93d86a2b036801c1681b93548a874bda1bab3304c2bf0da83bbca102a71e82574a032 DIST apptainer-1.1.2.tar.gz 12896912 BLAKE2B 29a8df78617661e0a181955942e8321c112a69efaf15f4bb3e1563cc0789197916a3be1eb5396fb608d57b0edd5d5de2a70a2bda935095d8d511410660ebc106 SHA512 3fad253379a87ea790f22a14aec703296f606255d4ce847454a59f9dba0b9a6fc449489e7760c4696c1df90fc6abec198934310c1b762e33a83c72cafc7cb370 +DIST apptainer-1.1.3.tar.gz 12896905 BLAKE2B 100989c40625739d2c6e12ed73f41065d66c388015ebf9328f1f4d80421de46a907149ed1e8ca735bbb08d1fffcb35fe7e1db23d14466fdf6227f012d9fc82b5 SHA512 d6602cee3db9bd279b09a4cd4939a2e5474b53bcd323c181abcaedd671cefcdb47575801867fde2de5ae457aca6dc3318c2128eed20b2634bedcb3af9a06e915 EBUILD apptainer-1.1.2.ebuild 2452 BLAKE2B ad348c5bc7cc3097e69a43313c6118c57dc76b499cfa38a82ed9e07bd9668f9bdcdd1ff92d37f8d566fd85e8df8a2cf94d7abb629bbb7583ddc375ec47a1b583 SHA512 3bc7302d9d4448fa493f77646aa1fcd85a0c19b8b50c54bdaf47310b41ec28c01dc8137229e1c39e56838912fcc9b996c515bbf04caba23dcdcc16839f95b2f5 +EBUILD apptainer-1.1.3.ebuild 2453 BLAKE2B ba3d96ffed78dd9b60b0ae69109a870d625918f21ab3147eb0fdb4614d3a5c71e13d6ffd3118441643554688bfdf23cd74bdefa7499c68a44e1658ce6c72eae9 SHA512 3dce29816981e44180a2d8593bc69970e4d9731a071fa2516eedfed60a24b360334b103130c55e1ca2ef9b2471bd228e4540864c3ce437ac93175a51f258e54f MISC metadata.xml 454 BLAKE2B 7891b6acae30424b8b6877166b856c1113a13e40ebec9051935df10a0650bf941f52d75bdb6a4258795e07b080082979469b8b8242d2ddd56c52f9c5b6759f0e SHA512 ef53c2dee45734f36403ab71549494f3c24707bc183353e4bd9c548a97b3ab5d7877f4fc9d311d9e86ab249cbdb379f0a1a211ee36afda99fd552f0a5cac30bb diff --git a/app-containers/apptainer/apptainer-1.1.3.ebuild b/app-containers/apptainer/apptainer-1.1.3.ebuild new file mode 100644 index 000000000000..3134281dcb06 --- /dev/null +++ b/app-containers/apptainer/apptainer-1.1.3.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2022 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" + +SLOT="0" +LICENSE="BSD" +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.17.6 + 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 +} |