diff options
author | Justin Bedo <cu@cua0.org> | 2020-07-15 22:05:37 +1000 |
---|---|---|
committer | Justin Bedo <cu@cua0.org> | 2020-07-22 08:51:37 +1000 |
commit | 712f1ee9aac3d773e99f836c530472876381a395 (patch) | |
tree | 222c69788e432edd437f9e375fa2f1192fce7021 /pkgs/applications/virtualization/singularity | |
parent | dc1c3f3203b455f1abb62880ca925f1ccd1e9e2c (diff) |
singularity: 3.2.1 -> 3.6.1
Diffstat (limited to 'pkgs/applications/virtualization/singularity')
-rw-r--r-- | pkgs/applications/virtualization/singularity/default.nix | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix index f6a1a3bc6a91..8cec24534d43 100644 --- a/pkgs/applications/virtualization/singularity/default.nix +++ b/pkgs/applications/virtualization/singularity/default.nix @@ -1,13 +1,16 @@ {stdenv , removeReferencesTo , lib -, fetchFromGitHub +, fetchurl , utillinux +, gpgme , openssl +, libuuid , coreutils , go , which , makeWrapper +, cryptsetup , squashfsTools , buildGoPackage}: @@ -15,24 +18,22 @@ with lib; buildGoPackage rec { pname = "singularity"; - version = "3.2.1"; + version = "3.6.1"; - src = fetchFromGitHub { - owner = "sylabs"; - repo = "singularity"; - rev = "v${version}"; - sha256 = "14lhxwy21s7q081x7kbnvkjsbxgsg2f181qlzmlxcn6n7gfav3kj"; + src = fetchurl { + url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz"; + sha256 = "070jj6kbiw23sd2p4xhvmyb8gd83imwgisdf18ahkwp7dq85db3c"; }; goPackagePath = "github.com/sylabs/singularity"; goDeps = ./deps.nix; - buildInputs = [ openssl utillinux ]; - nativeBuildInputs = [ removeReferencesTo which makeWrapper ]; + buildInputs = [ gpgme openssl libuuid ]; + nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper cryptsetup ]; propagatedBuildInputs = [ coreutils squashfsTools ]; - prePatch = '' - substituteInPlace internal/pkg/build/copy/copy.go \ + postPatch = '' + substituteInPlace internal/pkg/build/files/copy.go \ --replace /bin/cp ${coreutils}/bin/cp ''; @@ -46,24 +47,28 @@ buildGoPackage rec { # Don't install SUID binaries sed -i 's/-m 4755/-m 755/g' builddir/Makefile - ''; buildPhase = '' + runHook preBuild make -C builddir + runHook postBuild ''; installPhase = '' + runHook preInstall make -C builddir install LOCALSTATEDIR=$out/var chmod 755 $out/libexec/singularity/bin/starter-suid - wrapProgram $out/bin/singularity --prefix PATH : ${stdenv.lib.makeBinPath propagatedBuildInputs} + + # Explicitly configure paths in the config file + sed -i 's|^# mksquashfs path =.*$|mksquashfs path = ${stdenv.lib.makeBinPath [squashfsTools]}/mksquashfs|' $out/etc/singularity/singularity.conf + sed -i 's|^# cryptsetup path =.*$|cryptsetup path = ${stdenv.lib.makeBinPath [cryptsetup]}/cryptsetup|' $out/etc/singularity/singularity.conf + + runHook postInstall ''; postFixup = '' find $out/libexec/ -type f -executable -exec remove-references-to -t ${go} '{}' + || true - - # These etc scripts shouldn't have their paths patched - cp etc/actions/* $out/etc/singularity/actions/ ''; meta = with stdenv.lib; { |