1{ stdenv, lib, fetchurl, kernel, perl, makeWrapper }:
2
3# BLCR version 0.8.6 should works with linux kernel up to version 3.17.x
4
5assert stdenv.isLinux;
6assert builtins.compareVersions "3.18" kernel.version == 1;
7
8stdenv.mkDerivation {
9 name = "blcr_${kernel.version}-0.8.6pre4";
10
11 src = fetchurl {
12 url = https://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.6_b4.tar.gz;
13 sha256 = "1a3gdhdnmk592jc652szxgfz8rjd8dax5jwxfsypiqx5lgkj3m21";
14 };
15
16 buildInputs = [ perl makeWrapper ];
17
18 hardeningDisable = [ "pic" ];
19
20 preConfigure = ''
21 configureFlagsArray=(
22 --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build
23 --with-kmod-dir=$out/lib/modules/${kernel.modDirVersion}
24 --with-system-map=${kernel}/System.map
25 )
26 '';
27
28 postInstall = ''
29 for prog in "$out/bin/"*
30 do
31 wrapProgram "$prog" --prefix LD_LIBRARY_PATH ":" "$out/lib"
32 done
33 '';
34
35 meta = {
36 description = "Berkeley Lab Checkpoint/Restart for Linux (BLCR)";
37 homepage = https://ftg.lbl.gov/projects/CheckpointRestart/;
38 license = stdenv.lib.licenses.gpl2;
39 platforms = stdenv.lib.platforms.linux;
40 maintainers = with stdenv.lib.maintainers; [
41 z77z
42 ];
43 };
44}