sys-cluster/singularity: bump to 3.5.3
authorMarek Szuba <marecki@gentoo.org>
Thu, 16 Apr 2020 16:08:40 +0000 (17:08 +0100)
committerMarek Szuba <marecki@gentoo.org>
Thu, 16 Apr 2020 16:35:23 +0000 (17:35 +0100)
Invoking maintainer time-out on this one, on the one hand we have been
LONG overdue for a bump to major version 3 and on the other 2.6.2 has
apparently got problems with squashfs on newer kernels.

Discussion of dependencies, given some of them are not obvious and
official "install from source" documentation seems to include packages
which are not in fact needed:
 - sys-libs/libseccomp - looked for by mconfig, moreover at least on my
   system singularity binaries end up linked *dynamically* against it;
 - virtual/pkgconfig - used by mconfig while looking for libseccomp;
 - go-1.13+ - this version number is requested in mconfig;
 - app-crypt/gpgme - NOT looked for by mconfig but Singularity does use
   gpgme bindings for Go;
 - dev-libs/openssl - looked for by mconfig;
 - sys-apps/util-linux - libuuid and its header files looked for by mconfig;
 - sys-fs/cryptsetup - looked for by mconfig;
 - sys-fs/squashfs-tools - various tools from this package (e.g. unsquash)
   are invoked at run time, that said I have experimentally confirmed that
   Singularity builds fine without it.

Closes: https://bugs.gentoo.org/694048
Signed-off-by: Marek Szuba <marecki@gentoo.org>
sys-cluster/singularity/Manifest
sys-cluster/singularity/metadata.xml
sys-cluster/singularity/singularity-3.5.3.ebuild [new file with mode: 0644]

index db1918daa9c4e69ed8ec06c907ae6c2d8208c7ea..452f0d8dbf6e482ff6ecf7c1c0bede560ab95cde 100644 (file)
@@ -1 +1,2 @@
 DIST singularity-2.6.1.tar.gz 835029 BLAKE2B 4a581e1bc5df9d664d68f17e275f01081c850aa53f8a9bfcceaf5eb2b8f16e3a018f88669674c7427c60ab00ec0f21b4ec5e6ecaab261c16f70a998cb54ff855 SHA512 063327c67dae2629d1decebc060c474a72e6741f6dc9b6373734e429ccf11d53ee55c1578c28e74e8f8bcda87f3e0b735a3a0e982c9ea894f03a31eaaadf617c
+DIST singularity-3.5.3.tar.gz 7885009 BLAKE2B 8afa2223906e7abf5f3d796efe7cf243dd9d91e61c8ca143a755ad772618ed01d20b7f4a030e82767cf9bf2a7431848d8344e30bde38f413ecd2eef0a9bab53e SHA512 b8bb44539e78eaf74c1b97e5bae8fae1f390412456d76b573fffe2a90240b182db1aec60aee80715547c3edfbaa0607506e2727a575bc951223f9a7c3be0a97e
index f475002581954af5cff58b66ee091cf5b3e61089..e7f7edb94ed64a660d3bc5f951cf85992293c117 100644 (file)
@@ -5,7 +5,11 @@
                <email>jlec@gentoo.org</email>
                <name>Justin Lecher</name>
        </maintainer>
+       <use>
+               <flag name="network">Install network plug-ins</flag>
+               <flag name="suid">Install SUID helper binary</flag>
+       </use>
        <upstream>
-               <remote-id type="github">singularityware/singularity</remote-id>
+               <remote-id type="github">sylabs/singularity</remote-id>
        </upstream>
 </pkgmetadata>
diff --git a/sys-cluster/singularity/singularity-3.5.3.ebuild b/sys-cluster/singularity/singularity-3.5.3.ebuild
new file mode 100644 (file)
index 0000000..2a51a40
--- /dev/null
@@ -0,0 +1,59 @@
+# 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
+
+       dodoc README.md CONTRIBUTORS.md CONTRIBUTING.md
+       if use examples; then
+               dodoc -r examples
+       fi
+}