simh: add test, simplify install

Closes Homebrew/homebrew#37721.

Signed-off-by: Brett Koonce <koonce@gmail.com>
This commit is contained in:
Baptiste Fontaine 2015-03-14 21:31:42 +01:00 committed by Brett Koonce
parent c8718482e3
commit 5c202df529

View file

@ -1,13 +1,10 @@
require 'formula'
require 'set'
class Simh < Formula
homepage 'http://simh.trailing-edge.com/'
url 'http://simh.trailing-edge.com/sources/simhv39-0.zip'
sha1 '1de3938f0dcb51d55b0e53aea8ae9769ccc57bdb'
version '3.9-0'
homepage "http://simh.trailing-edge.com/"
url "http://simh.trailing-edge.com/sources/simhv39-0.zip"
sha256 "e49b259b66ad6311ca9066dee3d3693cd915106a6938a52ed685cdbada8eda3b"
version "3.9-0"
head 'https://github.com/simh/simh.git'
head "https://github.com/simh/simh.git"
# After 3.9-0 the project moves to https://github.com/simh/simh
# It doesn't actually fail, but the makefile queries llvm-gcc -v --help a lot
@ -15,22 +12,22 @@ class Simh < Formula
# Remove at the next revision that will support clang (see github site).
fails_with :clang do
build 421
cause 'The program is closely tied to gcc & llvm-gcc in this revision.'
cause "The program is closely tied to gcc & llvm-gcc in this revision."
end
def install
ENV.deparallelize unless build.head?
inreplace 'makefile', 'GCC = gcc', "GCC = #{ENV.cc}"
inreplace 'makefile', 'CFLAGS_O = -O2', "CFLAGS_O = #{ENV.cflags}"
system "make USE_NETWORK=1 all"
bin.install Dir['BIN/*']
docs = Dir['**/*.txt']
Set.new(docs.map {|f| File.dirname(f) }).each do |d|
mkpath doc+d
inreplace "makefile", "GCC = gcc", "GCC = #{ENV.cc}"
inreplace "makefile", "CFLAGS_O = -O2", "CFLAGS_O = #{ENV.cflags}"
system "make", "USE_NETWORK=1", "all"
bin.install Dir["BIN/*"]
Dir["**/*.txt"].each do |f|
(doc/File.dirname(f)).install f
end
docs.each do |f|
cp f, doc+f
end
(share+'simh/vax').install Dir['VAX/*.{bin,exe}']
(share/"simh/vax").install Dir["VAX/*.{bin,exe}"]
end
test do
assert_match(/Goodbye/, pipe_output("#{bin}/altair", "exit\n", 0))
end
end