Proof General 4.1
Closes Homebrew/homebrew#14827. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
parent
6afe5758d9
commit
7d3e8677fa
1 changed files with 64 additions and 0 deletions
64
Formula/proof-general.rb
Normal file
64
Formula/proof-general.rb
Normal 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
|
Loading…
Reference in a new issue