summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/default.nix42
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
new file mode 100644
index 00000000000..fe02132698a
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, emacs, perl }:
+
+let
+  pname = "ProofGeneral";
+  version = "3.7.1.1";
+  name = "${pname}-${version}";
+  website = "http://proofgeneral.inf.ed.ac.uk";
+in
+
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/contrib/${name}.tar.gz";
+    sha256 = "ae430590d6763618df50a662a37f0627d3c3c8f31372f6f0bb2116b738fc92d8";
+  };
+
+  buildInputs = [ emacs perl ];
+
+  sourceRoot = name;
+
+  postPatch = "EMACS=emacs make clean";
+
+  # Skip building ...
+  buildPhase = "true";
+
+  installPhase = ''
+    DEST=$out/share/emacs/site-lisp/ProofGeneral
+    ensureDir $DEST
+    cp -a * $DEST
+  '';
+
+  meta = {
+    description = "A generic front-end for proof assistants";
+    longDescription = ''
+      Proof General is a generic front-end for proof assistants (also known as
+      interactive theorem provers), based on the customizable text editor Emacs.
+    '';
+    homepage = website;
+    license = "GPL";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2474a7c0cc9..dce82ecda96 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6624,6 +6624,10 @@ let
       inherit fetchurl stdenv;
     };
 
+    proofgeneral = import ../applications/editors/emacs-modes/proofgeneral {
+       inherit stdenv fetchurl emacs perl;
+    };
+
     quack = import ../applications/editors/emacs-modes/quack {
       inherit fetchurl stdenv emacs;
     };