Proof General 4.1

Closes Homebrew/homebrew#14827.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
Ming-Hsien Tsai 2012-09-10 11:42:11 +08:00 committed by Adam Vandenberg
parent 6afe5758d9
commit 7d3e8677fa

64
Formula/proof-general.rb Normal file
View file

@ -0,0 +1,64 @@
require 'formula'
class ProofGeneral < Formula
homepage 'http://proofgeneral.inf.ed.ac.uk'
url 'http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.1.tgz'
sha1 '0dd18bd0bdad8faab76f61bffc8e432c3ed7aeaf'
option 'with-doc', 'Install documentations'
option 'with-emacs=</path/to/emacs>', 'Re-compile the lisp files with a specified emacs'
def which_emacs
ARGV.each do |a|
if a.index('--with-emacs')
emacs = a.sub('--with-emacs=', '')
raise "#{emacs} not found" if not File.exists? "#{emacs}"
ohai "Use Emacs: #{emacs}"
version = `#{emacs} --version | grep -Eo "GNU Emacs \\d+(\\.\\d+)+"`.gsub /\n/, ""
ohai "Emacs version: #{version}"
major = `echo "#{version}" | awk {'print $3'} | cut -d "." -f 1`.gsub /\n/, ""
raise "Only Emacs of major version 23 is supported." if major != "23"
return emacs
end
end
return ""
end
def install
emacs = which_emacs
args = ["PREFIX=#{prefix}",
"DEST_PREFIX=#{prefix}",
"ELISPP=share/emacs/site-lisp/ProofGeneral",
"ELISP_START=#{share}/emacs/site-lisp/site-start.d",
"EMACS=#{emacs}"];
Dir.chdir "ProofGeneral" do
if emacs != ""
system "make clean"
system "make", "compile", *args
end
system "make", "install", *args
man1.install "doc/proofgeneral.1"
info.install "doc/ProofGeneral.info", "doc/PG-adapting.info"
doc.install "doc/ProofGeneral", "doc/PG-adapting" if build.include? 'with-doc'
end
end
def caveats
doc = ""
if build.include? 'with-doc'
doc += <<-EOS.undent
The HTML documentations are available in:
#{HOMEBREW_PREFIX}/share/doc/proof-general
EOS
end
<<-EOS.undent
To use ProofGeneral with Emacs, add the following line to your ~/.emacs file:
(load-file "#{HOMEBREW_PREFIX}/share/emacs/site-lisp/ProofGeneral/generic/proof-site.el")
#{doc}
EOS
end
end