summaryrefslogtreecommitdiff
blob: 16834ae083a309bf7c4cef17ed81f18f0bbcedd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit linux-info

DESCRIPTION="Application containers for Linux"
HOMEPAGE="https://sylabs.io"
SRC_URI="https://github.com/sylabs/${PN}/releases/download/v${PV}/${P}.tar.gz"

SLOT="0"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="examples +network +suid"

# Do not complain about CFLAGS etc since go projects do not use them.
QA_FLAGS_IGNORED='.*'

COMMON="sys-libs/libseccomp"
BDEPEND="virtual/pkgconfig"
DEPEND="${COMMON}
	>=dev-lang/go-1.13.0
	app-crypt/gpgme
	dev-libs/openssl
	sys-apps/util-linux
	sys-fs/cryptsetup"
RDEPEND="${COMMON}
	sys-fs/squashfs-tools"

CONFIG_CHECK="~SQUASHFS"

S=${WORKDIR}/${PN}

src_configure() {
	local myconfargs=(
		--prefix=/usr \
		--sysconfdir=/etc \
		--runstatedir=/run \
		--localstatedir=/var \
		$(usex network "" "--without-network") \
		$(usex suid "" "--without-suid")
	)
	./mconfig -v ${myconfargs[@]} || die "Error invoking mconfig"
}

src_compile() {
	emake -C builddir
}

src_install() {
	emake DESTDIR="${ED}" -C builddir install
	keepdir /var/singularity/mnt/session

	# As of version 3.5.3 this seems to be very much broken, affecting
	# commands which have got nothing to do with singularity (example:
	# completion on 'udisks mount -b /dev/' rejects all files from that
	# directory other than 'autofs'). Moreover, this should go into
	# $(get_bashcompdir) (from bash-completion-r1.eclass) rather than /etc.
	# Hopefully temporary, which is why we delete this at install time
	# instead of patching build scripts not to generate bash-completion
	# data in the first place.
	rm -rf "${ED}"/etc/bash_completion.d || die

	dodoc README.md CONTRIBUTORS.md CONTRIBUTING.md
	if use examples; then
		dodoc -r examples
	fi
}