summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorGabriel Ebner <gebner@gebner.org>2022-03-20 18:26:33 +0100
committerGitHub <noreply@github.com>2022-03-20 18:26:33 +0100
commit3aa72cc4711262ca414bdf66d02d6194680b6e53 (patch)
treeb64565bd741715b47dcc15327b2bf8cb60a0b374 /pkgs/applications
parent59260216d68b9756e62e5ecb3231477a8a8942ee (diff)
parentc1ef185bdb88b148428fba00260afd23f8fc11ef (diff)
downloadnixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.tar
nixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.tar.gz
nixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.tar.bz2
nixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.tar.lz
nixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.tar.xz
nixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.tar.zst
nixpkgs-3aa72cc4711262ca414bdf66d02d6194680b6e53.zip
Merge pull request #157515 from jvanbruegge/isabelle-naproche
isabelle: Enable and use naproche from nixpkgs
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix5
-rw-r--r--pkgs/applications/science/logic/naproche/default.nix38
2 files changed, 41 insertions, 2 deletions
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index aaac288b615..1c613419cc8 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, coreutils, nettools, java, scala, polyml, z3, veriT, vampire, eprover-ho, rlwrap, perl, makeDesktopItem }:
+{ lib, stdenv, fetchurl, coreutils, nettools, java, scala, polyml, z3, veriT, vampire, eprover-ho, naproche, rlwrap, perl, makeDesktopItem }:
 # nettools needed for hostname
 
 stdenv.mkDerivation rec {
@@ -66,7 +66,8 @@ stdenv.mkDerivation rec {
       ISABELLE_JDK_HOME=${java}
     EOF
 
-    sed -i -e 's/naproche_server : bool = true/naproche_server : bool = false/' contrib/naproche-*/etc/options
+    rm contrib/naproche-*/x86*/Naproche-SAD
+    ln -s ${naproche}/bin/Naproche-SAD contrib/naproche-*/x86*/
 
     echo ISABELLE_LINE_EDITOR=${rlwrap}/bin/rlwrap >>etc/settings
 
diff --git a/pkgs/applications/science/logic/naproche/default.nix b/pkgs/applications/science/logic/naproche/default.nix
new file mode 100644
index 00000000000..5e286a9b57e
--- /dev/null
+++ b/pkgs/applications/science/logic/naproche/default.nix
@@ -0,0 +1,38 @@
+{ lib, fetchFromGitHub, haskellPackages, makeWrapper, eprover }:
+
+with haskellPackages; mkDerivation {
+  pname = "Naproche-SAD";
+  version = "0.1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "naproche";
+    repo = "naproche";
+    rev = "d39cea85ace04d5b3775fde9972a33886799bfe6";
+    sha256 = "1zqrldmxkzbyg9bssrbwb00zic29904igcipaz1m9al0456yjnkf";
+  };
+
+  isExecutable = true;
+
+  buildTools = [ hpack makeWrapper ];
+  executableHaskellDepends = [
+    base array bytestring containers ghc-prim megaparsec mtl network process
+    split temporary text threads time transformers uuid
+  ];
+
+  prePatch = "hpack";
+
+  checkPhase = ''
+    export NAPROCHE_EPROVER=${eprover}/bin/eprover
+    dist/build/Naproche-SAD/Naproche-SAD examples/cantor.ftl.tex -t 60 --tex=on
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/Naproche-SAD \
+      --set-default NAPROCHE_EPROVER ${eprover}/bin/eprover
+  '';
+
+  homepage = "https://github.com/naproche/naproche#readme";
+  description = "Write formal proofs in natural language and LaTeX";
+  maintainers = with lib.maintainers; [ jvanbruegge ];
+  license = lib.licenses.gpl3Only;
+}