ProofGeneral 4.0
svn path=/nixpkgs/trunk/; revision=27252
This commit is contained in:
parent
bfa7c9791a
commit
503f04ca54
@ -1,25 +1,20 @@
|
|||||||
{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
|
{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation (rec {
|
||||||
pname = "ProofGeneral";
|
name = "ProofGeneral-4.0";
|
||||||
version = "3.7.1.1";
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
website = "http://proofgeneral.inf.ed.ac.uk";
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
inherit name;
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/contrib/${name}.tar.gz";
|
url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.0.tgz;
|
||||||
sha256 = "ae430590d6763618df50a662a37f0627d3c3c8f31372f6f0bb2116b738fc92d8";
|
sha256 = "1ang2lsc97vl70fkgypfsr1ivdzsdliq3bkvympj30wnc7ayzbmq";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = name;
|
sourceRoot = name;
|
||||||
|
|
||||||
buildInputs = [ emacs texinfo texLive perl which ];
|
buildInputs = [ emacs texinfo texLive perl which ];
|
||||||
|
|
||||||
patchPhase =
|
patches = [ ./emacs-23.3.patch ];
|
||||||
|
|
||||||
|
postPatch =
|
||||||
'' sed -i "Makefile" \
|
'' sed -i "Makefile" \
|
||||||
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
|
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
|
||||||
s|/sbin/install-info|install-info|g"
|
s|/sbin/install-info|install-info|g"
|
||||||
@ -27,6 +22,8 @@ stdenv.mkDerivation {
|
|||||||
sed -i "bin/proofgeneral" -e's/which/type -p/g'
|
sed -i "bin/proofgeneral" -e's/which/type -p/g'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preBuild = "make clean";
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
# Copy `texinfo.tex' in the right place so that `texi2pdf' works.
|
# Copy `texinfo.tex' in the right place so that `texi2pdf' works.
|
||||||
'' cp -v "${automake}/share/"automake-*/texinfo.tex doc
|
'' cp -v "${automake}/share/"automake-*/texinfo.tex doc
|
||||||
@ -39,8 +36,8 @@ stdenv.mkDerivation {
|
|||||||
Proof General is a generic front-end for proof assistants (also known as
|
Proof General is a generic front-end for proof assistants (also known as
|
||||||
interactive theorem provers), based on the customizable text editor Emacs.
|
interactive theorem provers), based on the customizable text editor Emacs.
|
||||||
'';
|
'';
|
||||||
homepage = website;
|
homepage = http://proofgeneral.inf.ed.ac.uk;
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
diff -Nuar ProofGeneral-4.0/contrib/mmm/mmm-mode.el ProofGeneral-4.0-nix/contrib/mmm/mmm-mode.el
|
||||||
|
--- ProofGeneral-4.0/contrib/mmm/mmm-mode.el 2010-10-11 00:56:57.000000000 +0200
|
||||||
|
+++ ProofGeneral-4.0-nix/contrib/mmm/mmm-mode.el 2011-05-14 21:55:12.000000000 +0200
|
||||||
|
@@ -160,9 +160,9 @@
|
||||||
|
(mmm-add-hooks)
|
||||||
|
(mmm-fixup-skeleton)
|
||||||
|
(make-local-variable 'font-lock-fontify-region-function)
|
||||||
|
- (make-local-variable 'font-lock-beginning-of-syntax-function)
|
||||||
|
+ (make-local-variable 'syntax-begin-function)
|
||||||
|
(setq font-lock-fontify-region-function 'mmm-fontify-region
|
||||||
|
- font-lock-beginning-of-syntax-function 'mmm-beginning-of-syntax)
|
||||||
|
+ syntax-begin-function 'mmm-beginning-of-syntax)
|
||||||
|
(setq mmm-mode t)
|
||||||
|
(condition-case err
|
||||||
|
(mmm-apply-all)
|
||||||
|
@@ -190,7 +190,7 @@
|
||||||
|
(mmm-update-submode-region)
|
||||||
|
(setq font-lock-fontify-region-function
|
||||||
|
(get mmm-primary-mode 'mmm-fontify-region-function)
|
||||||
|
- font-lock-beginning-of-syntax-function
|
||||||
|
+ syntax-begin-function
|
||||||
|
(get mmm-primary-mode 'mmm-beginning-of-syntax-function))
|
||||||
|
(mmm-update-font-lock-buffer)
|
||||||
|
(mmm-refontify-maybe)
|
||||||
|
diff -Nuar ProofGeneral-4.0/contrib/mmm/mmm-region.el ProofGeneral-4.0-nix/contrib/mmm/mmm-region.el
|
||||||
|
--- ProofGeneral-4.0/contrib/mmm/mmm-region.el 2010-10-11 00:56:57.000000000 +0200
|
||||||
|
+++ ProofGeneral-4.0-nix/contrib/mmm/mmm-region.el 2011-05-14 21:58:01.000000000 +0200
|
||||||
|
@@ -548,7 +548,7 @@
|
||||||
|
(put mode 'mmm-fontify-region-function
|
||||||
|
font-lock-fontify-region-function))
|
||||||
|
(put mode 'mmm-beginning-of-syntax-function
|
||||||
|
- font-lock-beginning-of-syntax-function))
|
||||||
|
+ syntax-begin-function))
|
||||||
|
;; Get variables
|
||||||
|
(setq global-vars (mmm-get-locals 'global)
|
||||||
|
buffer-vars (mmm-get-locals 'buffer)
|
||||||
|
@@ -768,7 +768,7 @@
|
||||||
|
;; For some reason `font-lock-fontify-block' binds this to nil, thus
|
||||||
|
;; preventing `mmm-beginning-of-syntax' from doing The Right Thing.
|
||||||
|
;; I don't know why it does this, but let's undo it here.
|
||||||
|
- (let ((font-lock-beginning-of-syntax-function 'mmm-beginning-of-syntax))
|
||||||
|
+ (let ((syntax-begin-function 'mmm-beginning-of-syntax))
|
||||||
|
(mapc #'(lambda (elt)
|
||||||
|
(when (get (car elt) 'mmm-font-lock-mode)
|
||||||
|
(mmm-fontify-region-list (car elt) (cdr elt))))
|
Loading…
x
Reference in New Issue
Block a user