diff options
author | Bruno Bzeznik <Bruno.Bzeznik@imag.fr> | 2020-08-25 09:44:27 +0200 |
---|---|---|
committer | Daniƫl de Kok <me@danieldk.eu> | 2020-08-28 14:39:21 +0200 |
commit | 1601ff7dd4941e8cd5b4b5429820daa4d32f36f2 (patch) | |
tree | 27722753f19b0ebfa5370dd26d825d414e8fdde7 /pkgs/applications/virtualization/charliecloud | |
parent | 46f277b3f2b2410368f9f9000932d9af8ddf37ce (diff) |
charliecloud: 0.12 -> 0.18 (docker + ch-grow support)
Diffstat (limited to 'pkgs/applications/virtualization/charliecloud')
-rw-r--r-- | pkgs/applications/virtualization/charliecloud/default.nix | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix index d66117138cf2..54663f9c5e6e 100644 --- a/pkgs/applications/virtualization/charliecloud/default.nix +++ b/pkgs/applications/virtualization/charliecloud/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, python, autoconf, automake, docker, buildah }: +{ stdenv, fetchFromGitHub, python3, python3Packages, docker, autoreconfHook, coreutils, makeWrapper, gnused, gnutar, gzip, findutils, sudo, nixosTests }: stdenv.mkDerivation rec { @@ -12,13 +12,21 @@ stdenv.mkDerivation rec { sha256 = "0x2kvp95ld0yii93z9i0k9sknfx7jkgy4rkw9l369fl7f73ghsiq"; }; - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ python docker buildah ]; + nativeBuildInputs = [ autoreconfHook makeWrapper ]; + buildInputs = [ + docker + (python3.withPackages (ps: [ ps.lark-parser ps.requests ])) + ]; + + configureFlags = let + pythonEnv = python3.withPackages (ps: [ ps.lark-parser ps.requests ]); + in [ + "--with-python=${pythonEnv}/bin/python3" + ]; preConfigure = '' patchShebangs test/ - patchShebangs autogen.sh - ./autogen.sh + substituteInPlace configure.ac --replace "/usr/bin/env" "${coreutils}/bin/env" ''; makeFlags = [ @@ -26,6 +34,16 @@ stdenv.mkDerivation rec { "LIBEXEC_DIR=lib/charliecloud" ]; + # Charliecloud calls some external system tools. + # Here we wrap those deps so they are resolved inside nixpkgs. + postInstall = '' + for file in $out/bin/* ; do \ + wrapProgram $file --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils docker gnused gnutar gzip findutils sudo ]} + done + ''; + + passthru.tests.charliecloud = nixosTests.charliecloud; + meta = { description = "User-defined software stacks (UDSS) for high-performance computing (HPC) centers"; longDescription = '' |