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.
This commit is contained in:
Jan van Brügge 2022-01-10 12:15:14 +01:00
parent fcc0946bab
commit 6fff929c5e
No known key found for this signature in database
GPG key ID: 88E0BF7B7A546481

View file

@ -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