summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2016-03-07 07:16:04 -0800
committerJohn Wiegley <johnw@newartisans.com>2016-03-07 07:16:04 -0800
commit0ee75214f336474e127c2e3546c0406a0c4d5fa7 (patch)
treeb7c7d50a4528b9fc5f64750b84eb56ec793be9fb
parent046e5011b42c8abad6005762185448ba53f23845 (diff)
downloadnixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.tar
nixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.tar.gz
nixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.tar.bz2
nixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.tar.lz
nixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.tar.xz
nixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.tar.zst
nixpkgs-0ee75214f336474e127c2e3546c0406a0c4d5fa7.zip
proofgeneral_HEAD: New expr: Proof General from GitHub
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix52
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix
new file mode 100644
index 00000000000..a8760afc58b
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchgit, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }:
+
+stdenv.mkDerivation (rec {
+  name = "ProofGeneral-HEAD";
+
+  src = fetchgit {
+    url = "https://github.com/ProofGeneral/PG.git";
+    rev = "16991280fb09743ae7320aef77f6a166afb907d7";
+    sha256 = "08zhfl6xbl4q7lrl7wdp72xr155k06778by0d60g28mfx59b7sqc";
+  };
+
+  buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
+
+  prePatch =
+    '' sed -i "Makefile" \
+           -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
+               s|/sbin/install-info|install-info|g"
+
+
+       sed -i "bin/proofgeneral" -e's/which/type -p/g'
+
+       # @image{ProofGeneral} fails, so remove it.
+       sed -i '94d' doc/PG-adapting.texi
+       sed -i '96d' doc/ProofGeneral.texi
+    '';
+
+  patches = [ ./pg.patch ];
+
+  preBuild = ''
+    make clean;
+  '';
+
+  installPhase =
+    if enableDoc
+    then
+    # Copy `texinfo.tex' in the right place so that `texi2pdf' works.
+    '' cp -v "${automake}/share/"automake-*/texinfo.tex doc
+       make install install-doc
+    ''
+    else "make install";
+
+  meta = {
+    description = "Proof General, an Emacs 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 = http://proofgeneral.inf.ed.ac.uk;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;  # arbitrary choice
+  };
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7c81b48f31f..b6c83a3cbbf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12000,6 +12000,10 @@ let
       texinfo = texinfo4 ;
       texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; };
     };
+    proofgeneral_HEAD = callPackage ../applications/editors/emacs-modes/proofgeneral/HEAD.nix {
+      texinfo = texinfo4 ;
+      texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; };
+    };
     proofgeneral = self.proofgeneral_4_2;
 
     quack = callPackage ../applications/editors/emacs-modes/quack { };