Compiling the Bunyon Interpreter on OS X


#1

Hello all.
Has anyone been able to compile the Bunyon interpreter (which plays Scott Adams adventures in the TI-99 format) to compile successfully?
Once installing Rant (a ruby-based build system), and then running the rant command, I get this error:

/usr/local/lib/ruby/gems/2.4.0/gems/rant-0.5.7/lib/rant/rantlib.rb:98: warning: else without rescue is useless /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': /usr/local/lib/ruby/gems/2.4.0/gems/rant-0.5.7/lib/rant/rantlib.rb:92: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n' (SyntaxError) when /y|yes/i: true ^ /usr/local/lib/ruby/gems/2.4.0/gems/rant-0.5.7/lib/rant/rantlib.rb:93: syntax error, unexpected ':', expecting keyword_end when /n|no/i: false ^ /usr/local/lib/ruby/gems/2.4.0/gems/rant-0.5.7/lib/rant/rantlib.rb:142: syntax error, unexpected keyword_end, expecting end-of-input end # module Rant::Console ^ from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/gems/2.4.0/gems/rant-0.5.7/bin/rant:11:in `<top (required)>' from /usr/local/bin/rant:22:in `load' from /usr/local/bin/rant:22:in `<main>'


(Thomas Insel) #2

I am pretty confident that this is because rant doesn’t work with your version of Ruby, and probably not with anything newer than 1.8.x.

It’s probably easiest just to write a Makefile that does what’s necessary. Hang on and I’ll see if I can do that.


(Thomas Insel) #3

The code also uses a couple of nonstandard string functions, strlwr and strupr, so I added definitions for these.

Clone github.com/thomamas/build_bunyon and run make, and it should download GlkTerm and Bunyon source, make the appropriate adjustments, and build a bunyon executable. I’ve confirmed that it builds without errors on my MacBook, but haven’t really tested the executable.


#4

It runs and builds flawlessly. Thanks a million.


(Thomas Insel) #5

Glad to help. I’ll keep the GitHub project there in case anyone else needs it.