37 lines
1.1 KiB
Ruby
37 lines
1.1 KiB
Ruby
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'
|
|
|
|
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
|
|
# to determine what flags to throw. It is simply not designed for clang.
|
|
# 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.'
|
|
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
|
|
end
|
|
docs.each do |f|
|
|
cp f, doc+f
|
|
end
|
|
(share+'simh/vax').install Dir['VAX/*.{bin,exe}']
|
|
end
|
|
end
|