FS#16710 - [gvim] Missing Ruby interpreter
Attached to Project:
Arch Linux
Opened by Phil Kates (PhilK) - Saturday, 17 October 2009, 15:24 GMT
Last edited by Dan Griffiths (Ghost1227) - Monday, 22 February 2010, 04:55 GMT
Opened by Phil Kates (PhilK) - Saturday, 17 October 2009, 15:24 GMT
Last edited by Dan Griffiths (Ghost1227) - Monday, 22 February 2010, 04:55 GMT
|
Details
Description:
GVim's PKGBUILD specifically disables the Ruby interpreter. This is due to an upstream bug with VIM not compiling correctly with Ruby 1.9. There is a patch to fix it that is backwards compatible with Ruby 1.8 available here: http://groups.google.com/group/vim_dev/browse_thread/thread/699c65598bc6348b/e5c0a53a8a26624e?lnk=raot If you apply this patch as part of the PKGBUILD it compiles and (so far) seems to work fine. I realize this isn't really Arch's fault but Arch's default Ruby is 1.9 so out of the box Arch's VIM is essentially broken for Rubyists (who want the more advanced features). It likely also breaks some parts of the functionality of the vim-rails package (though I'm more Ruby than Rails so I haven't tested it). Additional info: * gvim 7.2.266 or vim 7.2.266 |
This task depends upon
Closed by Dan Griffiths (Ghost1227)
Monday, 22 February 2010, 04:55 GMT
Reason for closing: Implemented
Additional comments about closing: He's right! It's finally officially patched!
Monday, 22 February 2010, 04:55 GMT
Reason for closing: Implemented
Additional comments about closing: He's right! It's finally officially patched!
work with Ruby 1.9:
http://osdir.com/ml/general/2010-02/msg21930.html
It would be nice to have --enable-rubyinterp turned back on.
Thanks,
Michael Henry
I think the reason you're having trouble building with Ruby support is because your ``get_patches()`` function in ``fetch_patches.sh`` was changed, and none of the patches are applying correctly. The patching is being done in ``src``, but it should be done in ``src/vim72``.
Attached is a patch for fetch_patches.sh which uses the ``-d`` option of ``patch`` to change to ``${_versiondir}`` such that the patches apply correctly. Included in the patch is a replacement ``rsync`` invocation because for some reason on my box, the flurry of ``wget`` invocations fail for a couple of dozen patches. If ``rsync`` is an acceptable build-time dependency, it would speed up the fetching of patches and make it more reliable (as it would the fetching of the runtime files). But of course, that's a separate concern. In addition, the patch uses ``>>`` instead of ``>`` to redirect the patching error messages; otherwise, only the last patch's output ends up in ``vim.full.patch.log``. Failing patches previously didn't fail the ``get_patches()`` function, so I've added ``|| return 1`` to the ``patch`` invocation as well.
--- fetch_patches.sh (revision 69676)
+++ fetch_patches.sh (working copy)
@@ -7,12 +7,11 @@
let _patchlevel=$_patchlevel+1
_currpatch=$(cat MD5SUMS | wc -l)
sed -i "${_patchlevel},\$d" MD5SUMS
- cat MD5SUMS | awk '{ print $2 }' | sed -e \
- "s|^|ftp://ftp.vim.org/pub/vim/patches/${_srcver}/|" | \
- xargs -P 0 -r -n 1 wget -nv
+ rsync -avzcP "ftp.nluug.nl::Vim/patches/${_srcver}/${_srcver}.*" .
md5sum -c MD5SUMS > /dev/null || return 1
+ > vim.full.patch.log
for file in $(cat MD5SUMS | awk '{ print $2 }')
- do patch -p0 < $file > vim.full.patch.log; done
+ do patch -d ${_versiondir} -p0 < $file >> vim.full.patch.log || return 1; done
########
I'm not sure how mangled this patch will become, but hopefully the verbiage above explains the problem well enough. With the above patch, I can successfully build using -r69676 of the vim package. I've not tried the gvim package yet, but using my own build scripts, I'm able to build a ``huge`` version of Vim which works with the Ruby integration and which includes X support (and basically everything).