require 'brewkit' # Nethack the way God intended it to be played: from a terminal. # This build script was created referencing: # * http://nethack.wikia.com/wiki/Compiling#On_Mac_OS_X # * http://nethack.wikia.com/wiki/Pkgsrc#patch-ac_.28system.h.29 # and copious hacking until things compiled. # # The patch applied incorporates the patch-ac above, the OS X # instructions from the Wiki, and whatever else needed to be # done. class Nethack ["http://github.com/adamv/nethack-osx/raw/82992eb6e4d8c76b05037579126293d644ef971d/patches/nethack-osx-343.patch"] } end def install # Symlink makefiles system 'sh sys/unix/setup.sh' ## We are not using the default installer # Install to a sane location, geez. nethackdir = "#{prefix}/libexec/nethack" system "mkdir -p #{nethackdir}" inreplace "include/config.h", '# define HACKDIR "/usr/games/lib/nethackdir"', "#define HACKDIR \"#{nethackdir}\"" # Make the data first, before we munge the CFLAGS system "cd dat;make" Dir.chdir 'dat' do nethack_libexec = (libexec+'nethack') %w(perm logfile).each do |f| system "touch #{f}" nethack_libexec.install f end # Stage the data nethack_libexec.install %w(help hh cmdhelp history opthelp wizhelp dungeon license data oracles options rumors quest.dat) nethack_libexec.install Dir['*.lev'] end # Make the game ENV['CFLAGS'] = ENV['CFLAGS'] + " -I../include" system 'cd src;make' bin.install 'src/nethack' system "mkdir #{prefix}/libexec/nethack/save" end def caveats <<-EOS In order to save your game, you need to create the save directory manually: mkdir #{prefix}/libexec/nethack/save If you can get this build script to create this folder, please patch it. (Currently empty folders are nuked by a perl onliner.) EOS end end