summary refs log tree commit diff
path: root/pkgs/applications/virtualization/singularity/default.nix
diff options
context:
space:
mode:
authorJustin Bedo <cu@cua0.org>2020-07-15 22:05:37 +1000
committerJustin Bedo <cu@cua0.org>2020-07-22 08:51:37 +1000
commit712f1ee9aac3d773e99f836c530472876381a395 (patch)
tree222c69788e432edd437f9e375fa2f1192fce7021 /pkgs/applications/virtualization/singularity/default.nix
parentdc1c3f3203b455f1abb62880ca925f1ccd1e9e2c (diff)
downloadnixpkgs-712f1ee9aac3d773e99f836c530472876381a395.tar
nixpkgs-712f1ee9aac3d773e99f836c530472876381a395.tar.gz
nixpkgs-712f1ee9aac3d773e99f836c530472876381a395.tar.bz2
nixpkgs-712f1ee9aac3d773e99f836c530472876381a395.tar.lz
nixpkgs-712f1ee9aac3d773e99f836c530472876381a395.tar.xz
nixpkgs-712f1ee9aac3d773e99f836c530472876381a395.tar.zst
nixpkgs-712f1ee9aac3d773e99f836c530472876381a395.zip
singularity: 3.2.1 -> 3.6.1
Diffstat (limited to 'pkgs/applications/virtualization/singularity/default.nix')
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix37
1 files changed, 21 insertions, 16 deletions
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index f6a1a3bc6a9..8cec24534d4 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; {