Hi all,
I know this is a little bit early to start talking about the new OS X but I’m
an early adopter and try to fix issues that arise prior to the final release so
the time most people upgrade, tools that mean a lot to me (like TextMate
itself) can be used without having to worry a lot.
On Mavericks the default Ruby interpreter became version 2.0, although 1.8 was
still in place. With the end of support I can understand why Apple decided to
ditch Ruby 1.8 from their upcoming system, and therefore 1.8 is gone for good.
As a fair amount of the Bundles are using the system built-in Ruby version as
the shebang line, this is now breaking:
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
On the current system the frameworks look like this:
ll /System/Library/Frameworks/Ruby.framework/Versions/
total 8
drwxr-xr-x 7 root wheel 238B Jun 4 10:51 2.0
lrwxr-xr-x 1 root wheel 3B Jun 3 15:26 Current -> 2.0
As I mentioned above, 1.8 is gone and has been replaced with a ‘Current’
symlink that (as of writing) points to version 2.0 (I guess this could be
Apple’s move to support new default Rubies later on in a consistent manner.)
I appreciate that we can’t just easily change the commands and point them to
the new version as that would break TextMate bundles for most users, but I have
no idea currently how we could support multiple OS versions.
Is there a way to pass down a command dynamically to different interpreters? I
guess using /usr/bin/env as the shebang line won’t help as it can be literally
anything that is inherited from the user’s PATH.
One option might be to wrap the commands with a shell script that finds a
compatible Ruby version (either 2.0 or 1.8 if exists) and then passes down the
arguments.
Any other ideas?
Allan, how can I start working on this?
Cheers,
— Attila
_______________________________________________
textmate-dev mailing list
textmate-dev@lists.macromates.com
http://lists.macromates.com/listinfo/textmate-dev