diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/virtualization/singularity/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/virtualization/singularity/default.nix | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/nixpkgs/pkgs/applications/virtualization/singularity/default.nix b/nixpkgs/pkgs/applications/virtualization/singularity/default.nix index f6a1a3bc6a9..0c1569145e6 100644 --- a/nixpkgs/pkgs/applications/virtualization/singularity/default.nix +++ b/nixpkgs/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,21 @@ with lib; buildGoPackage rec { pname = "singularity"; - version = "3.2.1"; + version = "3.6.2"; - 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 = "16sd08bfa2b1qgpnd3q6k7glw0w1wyrqyf47fz2220yafrryrmyz"; }; 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 +46,24 @@ 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} - ''; - postFixup = '' - find $out/libexec/ -type f -executable -exec remove-references-to -t ${go} '{}' + || true + # 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 - # These etc scripts shouldn't have their paths patched - cp etc/actions/* $out/etc/singularity/actions/ + runHook postInstall ''; meta = with stdenv.lib; { |