summary refs log tree commit diff
path: root/pkgs/applications/science/logic/isabelle/default.nix
diff options
context:
space:
mode:
authorJan van Brügge <supermanitu@gmail.com>2022-01-10 12:15:14 +0100
committerJan van Brügge <supermanitu@gmail.com>2022-01-19 18:25:26 +0100
commit6fff929c5ed6cf418d4fa13a0f45c052a8c86394 (patch)
tree31ab2951209af39b902acc874d43921cd0fd42a4 /pkgs/applications/science/logic/isabelle/default.nix
parentfcc0946bab1b6e5a1505851c7b4aeab0c98fa04f (diff)
downloadnixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.tar
nixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.tar.gz
nixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.tar.bz2
nixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.tar.lz
nixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.tar.xz
nixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.tar.zst
nixpkgs-6fff929c5ed6cf418d4fa13a0f45c052a8c86394.zip
isabelle: Prebuild HOL session
Upstream isabelle ships with this session, but the changes done for
nixpkgs invalidate it, requiring every user to build it again.
Diffstat (limited to 'pkgs/applications/science/logic/isabelle/default.nix')
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index 5427f42a758..480affb4693 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, nettools, java, polyml, z3, veriT, vampire, eprover-ho, rlwrap, makeDesktopItem }:
+{ lib, stdenv, fetchurl, coreutils, nettools, java, polyml, z3, veriT, vampire, eprover-ho, rlwrap, makeDesktopItem }:
 # nettools needed for hostname
 
 stdenv.mkDerivation rec {
@@ -73,6 +73,11 @@ stdenv.mkDerivation rec {
     for comp in contrib/jdk* contrib/polyml-* contrib/z3-* contrib/verit-* contrib/vampire-* contrib/e-*; do
       rm -rf $comp/x86*
     done
+
+    substituteInPlace lib/Tools/env \
+      --replace /usr/bin/env ${coreutils}/bin/env
+
+    rm -r heaps
   '' + (if ! stdenv.isLinux then "" else ''
     arch=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux" else "x86-linux"}
     for f in contrib/*/$arch/{bash_process,epclextract,nunchaku,SPASS,zipperposition}; do
@@ -83,6 +88,11 @@ stdenv.mkDerivation rec {
     done
   '');
 
+  buildPhase = ''
+    export HOME=$TMP # The build fails if home is not set
+    bin/isabelle build -v -o system_heaps -b HOL
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     mv $TMP/$dirname $out