Thursday, January 1, 2015

Re: [ANN] Vim for Windows build, contains all 3rd party dependencies

On Thu, Jan 1, 2015 at 12:37 PM, Shiny Bling <kybuliak@gmail.com> wrote:
> On Wednesday, 31 December 2014 19:51:20 UTC+1, Steve Hall wrote:
>> On Wed, Dec 31, 2014 at 12:41 PM, Shiny Bling <kybu...@gmail.com> wrote:
>> >
>> > My main reason doing the build is that Vim Windows builds like the
>> > above don't include 3rd party dependencies(ruby, python, ...). You
>> > have to install them yourself. I needed ruby for some plugin and when
>> > I added it, the whole Vim process was crashing. There was also a case,
>> > when I downloaded some Vim build and it required Ruby version, which
>> > was not yet released at http://rubyinstaller.org/
>>
>>
>> You can use the dynamic flags for several dependencies to avoid this.
>> My builds use them for these major ones:
>>
>>
>> +gettext/dyn
>> +iconv/dyn
>> +lua/dyn
>> +multi_byte_ime/dyn
>> +perl/dyn
>> +python/dyn
>> +python3/dyn
>> +ruby/dyn
>
> In order for that to work reliably, the end user has to install exact dlls which were used during the build. Otherwise, Vim can crash if there are compiler ABI incompatibilities(mingw vs Microsoft compiler) or incompatible function signature changes in the dlls. Let alone the fact, that the end user has to install dlls of languages he might have no idea about only because they are required by plugins. I think that for a smooth experience, it should be all distributed together. That is how it works in Linux distributions.

Well, except that python/ruby/etc are managed by the package manager.
Windows 10 will ship with a package manager:

https://github.com/OneGet/oneget

So hopefully the situation will improve.


However, vim-single-drop is a great effort. I tried it and didn't find
any problems with it, except that it doesn't ship with luajit.
http://files.kaoriya.net/vim/ ships with luajit, and the performance
difference for lua-heavy plugins like unite.vim is significant.

What is your strategy for scenarios where users what to install
python/ruby packages with pip/gem? What happens when they update
vim-single-drop? What happens if they have ruby or python already
installed and on their $PATH, and expect some package to be available,
but it isn't because vim-single-drop uses a different site-packages,
etc.?



Justin M. Keyes

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: