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