diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix similarity index 96% rename from pkgs/applications/editors/emacs-modes/proofgeneral/default.nix rename to pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix index 3f974423fd70..0dea1a13977e 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix @@ -49,6 +49,6 @@ stdenv.mkDerivation (rec { ''; homepage = http://proofgeneral.inf.ed.ac.uk; license = "GPLv2+"; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + platforms = stdenv.lib.platforms.unix; # arbitrary choice }; }) diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix new file mode 100644 index 000000000000..3a492dc0c7f4 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }: + +stdenv.mkDerivation (rec { + name = "ProofGeneral-4.3pre131011"; + + src = fetchurl { + url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.3pre131011.tgz; + sha256 = "0104iy2xik5npkdg9p2ir6zqyrmdc93azrgm3ayvg0z76vmnb816"; + }; + + sourceRoot = name; + + buildInputs = [ emacs texinfo texLive perl which ]; + + 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 + ''; + + preBuild = '' + make clean; + ''; + + installPhase = + # Copy `texinfo.tex' in the right place so that `texi2pdf' works. + '' cp -v "${automake}/share/"automake-*/texinfo.tex doc + make install install-doc + ''; + + 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 = "GPLv2+"; + platforms = stdenv.lib.platforms.unix; # arbitrary choice + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ede0521df28..e7ade25cbf4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8383,12 +8383,19 @@ let prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; - proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral { + proofgeneral_4_2 = callPackage ../applications/editors/emacs-modes/proofgeneral/4.2.nix { texinfo = texinfo4 ; texLive = pkgs.texLiveAggregationFun { paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; }; }; + proofgeneral_4_3_pre = callPackage ../applications/editors/emacs-modes/proofgeneral/4.3pre.nix { + texinfo = texinfo4 ; + texLive = pkgs.texLiveAggregationFun { + paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; + }; + }; + proofgeneral = self.proofgeneral_4_2; quack = callPackage ../applications/editors/emacs-modes/quack { };