class Nuvie < Formula desc "Ultima 6 engine" homepage "https://nuvie.sourceforge.io/" url "https://downloads.sourceforge.net/project/nuvie/Nuvie/0.5/nuvie-0.5.tgz" sha256 "ff026f6d569d006d9fe954f44fdf0c2276dbf129b0fc5c0d4ef8dce01f0fc257" license "GPL-2.0" revision 1 bottle do sha256 cellar: :any, arm64_monterey: "987e483a02d53595c23a2174ba7603e2cbd03f0351ef8d1ba2cf210c73aa5540" sha256 cellar: :any, arm64_big_sur: "ae3f93506890f1ab1f1ddcb1395eeb42988ec5afb7896bc08a6b9786f48f6b6f" sha256 cellar: :any, monterey: "d88f929686eb725ccb1702103cf814e40047ce6bfaa0cee764a601c2d84724ad" sha256 cellar: :any, big_sur: "8c0568e88b4192a2d6ff1511d560214efb1e1c914116c78ce1350fa9b872c09d" sha256 cellar: :any, catalina: "252ecb752212720f38209762e1ae067cc25e77e9c5c4939ce01040c4e86fae5c" end head do url "https://github.com/nuvie/nuvie.git" depends_on "autoconf" => :build depends_on "automake" => :build end depends_on "sdl12-compat" def install inreplace "./nuvie.cpp" do |s| s.gsub! 'datadir", "./data"', "datadir\", \"#{lib}/data\"" s.gsub! 'home + "/Library', '"/Library' s.gsub! 'config_path.append("/Library/Preferences/Nuvie Preferences");', "config_path = \"#{var}/nuvie/nuvie.cfg\";" s.gsub! "/Library/Application Support/Nuvie Support/", "#{var}/nuvie/game/" s.gsub! "/Library/Application Support/Nuvie/", "#{var}/nuvie/" end system "./autogen.sh" if build.head? system "./configure", "--disable-debug", "--disable-dependency-tracking", "--disable-sdltest", "--prefix=#{prefix}" system "make" bin.install "nuvie" pkgshare.install "data" end def post_install (var/"nuvie/game").mkpath end def caveats <<~EOS Copy your Ultima 6 game files into the following directory: #{var}/nuvie/game/ultima6/ Save games will be stored in the following directory: #{var}/nuvie/savegames/ Config file will be located at: #{var}/nuvie/nuvie.cfg EOS end test do pid = fork do exec bin/"nuvie" end sleep 3 assert_predicate bin/"nuvie", :exist? assert_predicate bin/"nuvie", :executable? ensure Process.kill("TERM", pid) Process.wait(pid) end end