public
Last active

  • Download Gist
MacRubyCustomRubyCommand.diff
Diff
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
--- a/src/configure.in
+++ b/src/configure.in
@@ -993,11 +993,17 @@ AC_ARG_ENABLE(rubyinterp,
AC_MSG_RESULT($enable_rubyinterp)
if test "$enable_rubyinterp" = "yes"; then
AC_MSG_CHECKING(--with-ruby-command argument)
+ dnl If a ruby command was provided, set RUBY_CMD to the name of the binary and RUBY_PATH to its directory
AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
- RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
- RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
+ RUBY_PATH=`echo "$withval" | sed 's/\(.*\)\/\([[[^/]]]*\)$/\1/'`; RUBY_CMD=`echo "$withval" | sed 's/.*\/\([[[^/]]]*\)$/\1/'`; AC_MSG_RESULT($RUBY_CMD),
+ RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD)
+ )
+ if test $RUBY_PATH != $RUBY_CMD; then
+ AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD, "", $RUBY_PATH)
+ else
+ AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
+ fi
AC_SUBST(vi_cv_path_ruby)
- AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
if test "X$vi_cv_path_ruby" != "X"; then
AC_MSG_CHECKING(Ruby version)
if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
@@ -1022,20 +1028,24 @@ if test "$enable_rubyinterp" = "yes"; then
librubyarg="$rubyhdrdir/$librubyarg"
else
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
- if test -d "/System/Library/Frameworks/Ruby.framework"; then
- dnl On Mac OS X it is safer to just use the -framework flag
- RUBY_LIBS="-framework Ruby"
- dnl Don't include the -I flag when -framework is set
- RUBY_CFLAGS=
- librubyarg=
- elif test -f "$rubylibdir/$librubyarg"; then
- librubyarg="$rubylibdir/$librubyarg"
- elif test "$librubyarg" = "libruby.a"; then
- dnl required on Mac OS 10.3 where libruby.a doesn't exist
- librubyarg="-lruby"
- else
- librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
- fi
+ if test $RUBY_PATH != $RUBY_CMD; then
+ librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, '') << %' -L#{Config.expand(Config::CONFIG[\"libdir\"])}'"`
+ else
+ if test -d "/System/Library/Frameworks/Ruby.framework"; then
+ dnl On Mac OS X it is safer to just use the -framework flag
+ RUBY_LIBS="-framework Ruby"
+ dnl Don't include the -I flag when -framework is set
+ RUBY_CFLAGS=
+ librubyarg=
+ elif test -f "$rubylibdir/$librubyarg"; then
+ librubyarg="$rubylibdir/$librubyarg"
+ elif test "$librubyarg" = "libruby.a"; then
+ dnl required on Mac OS 10.3 where libruby.a doesn't exist
+ librubyarg="-lruby"
+ else
+ librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, '') << %' -L#{Config.expand(Config::CONFIG[\"lib
+ fi
+ fi
fi
if test "X$librubyarg" != "X"; then

This gist seems to have some of the lines cut off (11, 43, 57)

Fixed! I was hoping the patch would have been rolled into macvim's trunk by now, guess not…

I tried using this patch and my attempt failed. The error message makes it look like the one or more of the lines cut off before they should. Here is the error message, if you are interested:

patching file src/configure.in
Hunk #1 FAILED at 993.
patch unexpectedly ends in middle of line
Hunk #2 FAILED at 1028.
2 out of 2 hunks FAILED -- saving rejects to file src/configure.in.rej

(I'm trying to install it via Homebrew using the patch.)

Try grabbing my MacVim fork instead. http://github.com/koudelka/macvim

The patch should be applied to the primary repo soonish.

Excellent. Thanks so much.

Also, here're my configure args, in case you don't want to dig them all up:

./configure --with-features=huge --enable-rubyinterp --with-macsdk=10.6 --with-macarchs=x86_64 --with-ruby-command=/Users/mikes/.rvm/bin/ruby-1.9.1-p378

Great. Thanks again. When you said the patch would be applied to the primary repo, did you mean that rvm ought to work with MacVim by default in the near future?

Ah, so does this patch only make MacVim work when specifying an RVM Ruby from the --with-ruby-command configure args?

I was hoping that when I start MacVim using the 'mvim' command, that Vim would pick up the current RVM Ruby from the environment. Is that not so?

Have the same question as mattshoutherden

mattsoutherden is right, this is only a patch to make the configure args work correctly.

As far as I know, It doesn't provide for switching ruby executables at runtime. If you need that functionality, it might be worth experimenting with passing a symlink to the configure script, then changing where it points at runtime.

Does this applies just fine for Vim 7.3.161? Or does it needs to be updated?

A similar patch was rolled into the main MacVim repo a while back, try there.

Someone pointed me to this gist, but I have no idea what problem this Gist is supposed to solve. Can someone fill me in?

This is an old patch for macvim to get ruby working properly, an equivalent patch has been rolled into the project, afaik.

You mean the Ruby wrapper around VimScript?

On Tue, Jul 05, 2011 at 10:37 AM, koudelka reply@reply.github.com wrote:


from: koudelka reply@reply.github.com
date: Tue, Jul 05 07:37 AM -07:00 2011
to: dhchoi@gmail.com
subject: Re: gist gist: 398996

This is an old patch for macvim to get ruby working properly, an equivalent patch has been rolled into the project, afaik.

Reply to this email directly or view it on GitHub:
https://gist.github.com/398996

Sent from vmail. http://danielchoi.com/software/vmail.html

I'm not sure, the Command-T plugin used it.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.