From 6fff929c5ed6cf418d4fa13a0f45c052a8c86394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20van=20Br=C3=BCgge?= Date: Mon, 10 Jan 2022 12:15:14 +0100 Subject: [PATCH] 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. --- pkgs/applications/science/logic/isabelle/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix index 5427f42a7588..480affb46934 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