nixpkgs/pkgs/os-specific/linux/blcr/default.nix

56 lines
1.5 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, kernel, perl, makeWrapper, autoconf, automake, libtool }:
assert stdenv.isLinux;
let
version = "0.8.2";
website = https://ftg.lbl.gov/CheckpointRestart;
in
stdenv.mkDerivation {
name = "blcr-${version}-${kernel.version}";
src = fetchurl {
url = "${website}/downloads/blcr-${version}.tar.gz";
sha256 = "1ldvzrajljkm318z5ix1p27n0gmv7gqxij6ck7p5fz4ncdbb01x8";
};
patchFlags = "-p0";
patches = map fetchurl [
{ url = http://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.2+kernel-2.6.31.patch01;
sha256 = "0jnz18kbrm64hahvhk35zakcpylad1khsp5kjxkj19j0lkjv3m4h";
}
{ url = http://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.2+kernel-2.6.32.patch02;
sha256 = "1f5s9c7iiaxd67ki3bmz09mf66shzbl97hvwaq4nmk6miq94k1fw";
}
{ url = http://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.2+kernel-2.6.34.patch03;
sha256 = "09924h83xdwpxjlx3yg5b51fgm6gjywn2rb4nnygz16n87wqvb41";
}
];
buildInputs = [ perl makeWrapper autoconf automake libtool ];
preConfigure = ''
./autogen.sh
configureFlagsArray=(
--with-linux=$(ls -d ${kernel}/lib/modules/*/build)
--with-kmod-dir=$out/lib/modules/$(cd ${kernel}/lib/modules; ls -d 2.6.*)
--with-system-map=${kernel}/System.map
)
'';
postInstall = ''
for prog in "$out/bin/"*
do
wrapProgram "$prog" --prefix LD_LIBRARY_PATH ":" "$out/lib"
done
'';
meta = {
description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)";
homepage = website;
license = "GPL2";
};
}