2010-09-08 15:07:45 +02:00
|
|
|
{stdenv, hol_light, dmtcp}:
|
2010-02-15 12:00:02 +01:00
|
|
|
|
|
|
|
let
|
2010-09-08 15:07:45 +02:00
|
|
|
cmd_core = ''
|
|
|
|
#use "${./start_hol.ml}";;
|
|
|
|
dmtcp_selfdestruct "";;
|
|
|
|
'';
|
|
|
|
cmd_multivariate = ''
|
|
|
|
loadt "Multivariate/make.ml";;
|
|
|
|
dmtcp_checkpoint "Preloaded with multivariate analysis";;
|
|
|
|
'';
|
|
|
|
cmd_complex = ''
|
|
|
|
loadt "Multivariate/complexes.ml";;
|
|
|
|
loadt "Multivariate/canal.ml";;
|
|
|
|
loadt "Multivariate/transcendentals.ml";;
|
|
|
|
loadt "Multivariate/realanalysis.ml";;
|
|
|
|
loadt "Multivariate/cauchy.ml";;
|
|
|
|
loadt "Multivariate/complex_database.ml";;
|
|
|
|
loadt "update_database.ml";;
|
|
|
|
dmtcp_checkpoint "Preloaded with multivariate-based complex analysis";;
|
|
|
|
'';
|
2010-02-15 12:00:02 +01:00
|
|
|
in
|
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
name = "hol_light_binaries-${hol_light.version}";
|
|
|
|
|
2010-09-08 15:07:45 +02:00
|
|
|
buildInputs = [ dmtcp hol_light hol_light.ocaml ];
|
2010-02-15 12:00:02 +01:00
|
|
|
|
|
|
|
buildCommand = ''
|
2010-09-08 15:07:45 +02:00
|
|
|
HOL_DIR="${hol_light}/src/hol_light"
|
|
|
|
BIN_DIR="$out/bin"
|
|
|
|
ensureDir "$BIN_DIR"
|
2010-02-15 12:00:02 +01:00
|
|
|
|
|
|
|
# HOL Light Core
|
2010-09-08 15:07:45 +02:00
|
|
|
(echo '${cmd_core}' | dmtcp_checkpoint --quiet ${hol_light}/bin/start_hol_light) || exit 0
|
|
|
|
mv ckpt* "$BIN_DIR/hol_light.ckpt"
|
|
|
|
substitute "${./restart_hol_light}" "$BIN_DIR/hol_light" \
|
|
|
|
--subst-var-by DMTCP_RESTART `type -p dmtcp_restart` \
|
|
|
|
--subst-var-by CKPT_FILE "$BIN_DIR/hol_light.ckpt"
|
|
|
|
chmod +x "$BIN_DIR/hol_light"
|
2010-02-15 12:00:02 +01:00
|
|
|
|
|
|
|
# HOL Light Multivariate
|
2010-09-08 15:07:45 +02:00
|
|
|
cp "$BIN_DIR/hol_light.ckpt" .
|
|
|
|
(echo '${cmd_multivariate}' | dmtcp_restart --quiet hol_light.ckpt) || exit 0
|
|
|
|
mv hol_light.ckpt "$BIN_DIR/hol_light_multivariate.ckpt"
|
|
|
|
substitute "${./restart_hol_light}" "$BIN_DIR/hol_light_multivariate" \
|
|
|
|
--subst-var-by DMTCP_RESTART `type -p dmtcp_restart` \
|
|
|
|
--subst-var-by CKPT_FILE "$BIN_DIR/hol_light_multivariate.ckpt"
|
|
|
|
chmod +x "$BIN_DIR/hol_light_multivariate"
|
2010-02-15 12:00:02 +01:00
|
|
|
|
|
|
|
# HOL Light Complex
|
2010-09-08 15:07:45 +02:00
|
|
|
cp "$BIN_DIR/hol_light_multivariate.ckpt" .
|
|
|
|
(echo '${cmd_complex}' | dmtcp_restart --quiet hol_light_multivariate.ckpt) || exit 0
|
|
|
|
mv hol_light_multivariate.ckpt "$BIN_DIR/hol_light_complex.ckpt"
|
|
|
|
substitute "${./restart_hol_light}" "$BIN_DIR/hol_light_complex" \
|
|
|
|
--subst-var-by DMTCP_RESTART `type -p dmtcp_restart` \
|
|
|
|
--subst-var-by CKPT_FILE "$BIN_DIR/hol_light_complex.ckpt"
|
|
|
|
chmod +x "$BIN_DIR/hol_light_complex"
|
2010-02-15 12:00:02 +01:00
|
|
|
'';
|
|
|
|
}
|