diff --git a/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix b/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix index 7fca547f67c8..565537cf439c 100644 --- a/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix +++ b/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix @@ -2,16 +2,28 @@ stdenv.mkDerivation rec { pname = "isabelle-linter"; - version = "Isabelle2021-1-v1.0.0"; + version = "unstable-2022-09-05"; src = fetchFromGitHub { owner = "isabelle-prover"; repo = "isabelle-linter"; - rev = version; - sha256 = "0v6scc2rhj6bjv530gzz6i57czzcgpkw7a9iqnfdnm5gvs5qjk7a"; + rev = "0424fc05426d5f7a23adf19ad08c690c17184e86"; + sha256 = "02afbgmi195ibichjkpni2wjgjkszv7i6qkmmprwrmb4jd2wdvd5"; }; - installPhase = import ./mkBuild.nix { inherit isabelle; path = "${pname}-${version}"; }; + nativeBuildInputs = [ isabelle ]; + + buildPhase = '' + export HOME=$TMP + isabelle components -u $(pwd) + isabelle scala_build + ''; + + installPhase = '' + dir=$out/Isabelle${isabelle.version}/contrib/${pname}-${version} + mkdir -p $dir + cp -r * $dir/ + ''; meta = with lib; { description = "Linter component for Isabelle."; diff --git a/pkgs/applications/science/logic/isabelle/components/mkBuild.nix b/pkgs/applications/science/logic/isabelle/components/mkBuild.nix deleted file mode 100644 index a05b5196b007..000000000000 --- a/pkgs/applications/science/logic/isabelle/components/mkBuild.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ isabelle, path }: - -let - dir = "$out/isabelle/${isabelle.dirname}"; - iDir = "${isabelle}/${isabelle.dirname}"; -in '' - shopt -s extglob - mkdir -p ${dir}/lib/classes - - cDir=$out/${isabelle.dirname}/contrib/${path} - mkdir -p $cDir - cp -r !(isabelle) $cDir - - cd ${dir} - ln -s ${iDir}/!(lib|bin) ./ - ln -s ${iDir}/lib/!(classes) lib/ - ln -s ${iDir}/lib/classes/* lib/classes/ - - mkdir bin/ - cp ${iDir}/bin/* bin/ - - export HOME=$TMP - bin/isabelle components -u $cDir - bin/isabelle scala_build - - cd lib/classes - for f in ${iDir}/lib/classes/*; do - rm $(basename $f) - done - - lDir=$out/${isabelle.dirname}/lib/classes/ - mkdir -p $lDir - cp -r * $lDir - cd $out - rm -rf isabelle -'' diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix index 009af3463a25..1bb7ede6da7b 100644 --- a/pkgs/applications/science/logic/isabelle/default.nix +++ b/pkgs/applications/science/logic/isabelle/default.nix @@ -1,5 +1,24 @@ -{ lib, stdenv, fetchurl, coreutils, nettools, java, scala, polyml, z3, veriT, vampire, eprover-ho, naproche, rlwrap, perl, makeDesktopItem, isabelle-components, isabelle, symlinkJoin, fetchhg }: -# nettools needed for hostname +{ lib +, stdenv +, fetchurl +, coreutils +, nettools +, java +, scala_3 +, polyml +, z3 +, veriT +, vampire +, eprover-ho +, naproche +, rlwrap +, perl +, makeDesktopItem +, isabelle-components +, isabelle +, symlinkJoin +, fetchhg +}: let sha1 = stdenv.mkDerivation { @@ -29,7 +48,7 @@ let }; in stdenv.mkDerivation rec { pname = "isabelle"; - version = "2021-1"; + version = "2022"; dirname = "Isabelle${version}"; @@ -39,26 +58,27 @@ in stdenv.mkDerivation rec { fetchurl { url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz"; - sha256 = "0n1ls9vwf0ps1x8zpb7c1xz1wkasgvc34h5bz280hy2z6iqwmwbc"; + sha256 = "0b84rx9b7b5y8m1sg7xdp17j6yngd2dkx6v5bkd8h7ly102lai18"; } else fetchurl { url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz"; - sha256 = "0jfaqckhg388jh9b4msrpkv6wrd6xzlw18m0bngbby8k8ywalp9i"; + sha256 = "1ih4gykkp1an43qdgc5xzyvf30fhs0dah3y0a5ksbmvmjsfnxyp7"; }; + nativeBuildInputs = [ java ]; + buildInputs = [ polyml z3 veriT vampire eprover-ho nettools ] ++ lib.optionals (!stdenv.isDarwin) [ java ]; - sourceRoot = "${dirname}${lib.optionalString stdenv.isDarwin ".app"}"; + sourceRoot = dirname; - postUnpack = if stdenv.isDarwin then '' - mv $sourceRoot ${dirname} - sourceRoot=${dirname} - '' else null; + postUnpack = lib.optionalString stdenv.isDarwin '' + mv $sourceRoot.app $sourceRoot + ''; postPatch = '' - patchShebangs . + patchShebangs lib/Tools/ bin/ cat >contrib/z3*/etc/settings <