No sooner than when I said Shoes was moving to 3.3, I got a complaint that recent OSX builds of 3.2 don’t work on OSX 9. As is often the case, the bug report was correct. 3.2.25, 3.2.24. and probably 3.2.23 don’t work on 10.9 – they do work on 10.10 but not everybody chooses to update and I promised 10.9. I failed and that must be repaired.
If you don’t care about how or why: There is a Shoes-3.2.26 for OSX. It was built on 10.9 and works for 10.9 and above. If you package a script or app for OSX that’s what it’s going to use on the end-users system. You’ll might notice it is 14MB in size instead of the usual 16MB.
I’ve also built the same Shoes on 10.10 (Yosemite) only its called Shoes 3.3.0 and available at the beta download site
The root problem was I’ve been updating my OSX system (now Yosemite) and xcode and more importantly, I did a ‘brew update’ and ‘brew upgrade’ which is when things really broke. By design brew updates to the latest packages and some of the latest don’t work on 10.9 and there is no way to remove an upgraded package by version number in brew. So I did what I do for building Shoes on Windows (and the we don’t talk about snow leopard build): Build my own dependencies. Don’t use brew. Don’t use rvm.
That was not an easy road nor is it the fast road. But I did it. It’s frozen in stone. 10.9 won’t change and those deps won’t change (unless there are bugs in them that matter). While I was at it, I built ruby 2.1.7 from source and stuffed rubygems 2.4.7 in it. It does not use rvm to install or build that Ruby, just like it didn’t use brew. While that was a very long process (2 days times 3 because that’s how many times I had to start and build every thing from scratch). There are benefits.
Shoes 3.3 is about new infrastructure and really pushing forward. For OSX, I cleaned up the rake files although there is always more to do for that task. The download size is 14MB so it’s about the same size as some Linux builds. No unused X11 libraries inside. No brew or rvm hangovers. I learned some things (X 3)