summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/virtualization/charliecloud
diff options
context:
space:
mode:
authorBruno Bzeznik <Bruno.Bzeznik@imag.fr>2020-08-25 09:44:27 +0200
committerDaniƫl de Kok <me@danieldk.eu>2020-08-28 14:39:21 +0200
commit1601ff7dd4941e8cd5b4b5429820daa4d32f36f2 (patch)
tree27722753f19b0ebfa5370dd26d825d414e8fdde7 /pkgs/applications/virtualization/charliecloud
parent46f277b3f2b2410368f9f9000932d9af8ddf37ce (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.nix28
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 = ''