forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Marek Szuba <[email protected]>
- Loading branch information
Marek Szuba
committed
Jun 10, 2023
1 parent
233f337
commit 149c24b
Showing
2 changed files
with
93 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST apptainer-1.1.8.tar.gz 12935652 BLAKE2B a9c34bb407d002fa50cb5f96c0e7071aa05f8a17f3c98689d9392f23fc9336364137f23b582eb84ba860497f274fc393634d3702df62b99ad4320d0ac1ed69b0 SHA512 726fd7da3d43980c3d3914b089288d27cde941fa0ff7e206b3330bc7b0085de45a192e12ed794c2d81661d90260e10512bca61bfd7344cb1ae74ff64b5f8ebb5 | ||
DIST apptainer-1.1.9.tar.gz 12912098 BLAKE2B a4e28550446c9be1be402fd56b39a1a8f4605eee8e4cb21caa48a1e9df1944209c4c9ed8040c1afe11b287d6bfec28be7e74bd7b4a583403b5aedf259f8811ee SHA512 52ca2ac7b6763ca3817bf68fffc6e477e5699eae1368b5deb9458d1a88ff6c607e6c6abd796a686e9c0208f48831f747a4b2c57cedf6b226845dde1b589a5158 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# Copyright 1999-2023 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 | ||
} |