Hi Christian,

Great work!
But unfortunately some features are disabled:
* DirectWrite
* OLE
* Lua
* Perl
* Ruby
* Tcl
* Build *.mo files
* vim.exe

2015/12/27 Sun 7:42:23 UTC+9 Christian Brabandt wrote:
> On Mi, 23 Dez 2015, Christian Brabandt wrote:
> 
> > On Do, 24 Dez 2015, Nikolay Aleksandrovich Pavlov wrote:
> > > The main reason why your scripts have such value is that they yield an
> > > installer. Hosting is much less of a problem: e.g. GH provides hosting and
> > > appveyor has http://www.appveyor.com/docs/deployment/github, there are 
> > > other
> > > deployment options including pushing to ftp.
> > 
> > So we need an adjustment to appveyor.yml to have Windows builts 
> > automatically pushed back to Github as binaries?
> > 
> > Any suggestions how the appveyor.yml should look like?
> 
> I had some time to play with appveyor and I think, I found a working 
> solution.
> 
> Take the following appveyor file:
> 
> version: "{build}"
> 
> #skip_tags: true
> 
> environment:
>   matrix:
>     - ARCH: x64
>     - ARCH: x86
> 
> matrix:
>   fast_finish: true
> 
> os:
>   - Visual Studio 2015
> 
> build:
>   verbosity: minimal
> 
> before_build:
>   - '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /%ARCH% 
> /release'

This batch file is for Windows SDK 7.1(=VC2010).
If you want to build with VC2015, you need to use another batch file.


> 
> build_script:
>   - cd src
>   - sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" 
> Make_mvc.mak > Make_mvc2.mak
>   - if "%ARCH%" == "x64" (nmake -f Make_mvc2.mak CPU=AMD64 GUI=yes 
> FEATURES=HUGE IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 
> DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes 
> PYTHON3=C:\Python34-x64) else (nmake -f Make_mvc2.mak CPU=i386 GUI=yes 
> FEATURES=HUGE IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 
> DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes 
> PYTHON3=C:\Python34)
>   - .\gvim -u NONE -c "redir @a | ver | 0put a | wq!" ver.txt
>   - type ver.txt
> 
> after_build:
>   - copy *.exe ..\runtime\
>   - copy /Y xxd\*.exe ..\runtime
>   - mkdir ..\runtime\GvimExt
>   - copy /Y GvimExt\gvimext.dll ..\runtime\GvimExt\
>   - copy /Y GvimExt\README.txt  ..\runtime\GvimExt\
>   - copy /Y GvimExt\*.inf       ..\runtime\GvimExt\
>   - copy /Y GvimExt\*.reg       ..\runtime\GvimExt\
>   - 7z a ..\gvim_%ARCH%.zip ..\runtime\*
> 
> test_script:
>   - cd testdir
>   - nmake -f Make_dos.mak VIMPROG=..\gvim
> 
> artifacts:
>   - path: gvim_x86.zip
>     name: gVim_x86
>   - path: gvim_x64.zip
>     name: gVim_x64
> 
> deploy:
>   - provider: GitHub
>     release: vim-$(APPVEYOR_REPO_TAG_NAME)
>     description: 'Nightly Vim Windows build snapshots'
>     auth_token:
>       secure: kH0D/3t+1Mc8OChKhe+voKlMO0aMwnlUr64QoZOJC6BaVwy+Us3ZHq9Oo+aBzjYc
>     artifact: /gVim/
>     draft: false
>     prerelease: false
>     appveyor-repo-tag: true

This line should be:
    on:
      appveyor-repo-tag: true

Without 'on:', appveyor fails on compiling non-tagged version.


> 
> This creates x86 and x64 binaries and tests them using Visual Studio 
> 2015. After all tests finish successfully, a zip file is created 
> containing the gvim.exe, xxd.exe, GvimExt and the runtime directory and
> uploads it back to github.
> 
> I think, the Vim release from vim.org did bundle a diff.exe, but I don't 
> know how this was build, so this is not included.

nsis/README.txt says that it can be found at:
  http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
But the link is 404.


> 
> The only interesting thing is, that one needs to generate a personal 
> access token at github for the repository, so that the binaries from 
> appveyor can be pushed back to github. A public_repo token is all that 
> is needed, after one is generated, copy and paste it to ci.appveyor.com 
> (login with your github account) and go to Encrypt data menu and encrypt 
> the token. The cipher then should be pasted back into the appveyor file 
> as secure auth_token (see above).
> 
> Binaries can bee seen here:
> https://github.com/chrisbra/vim/releases/tag/vim-v7.4.979_test40
> Appveyor Log is available here:
> https://ci.appveyor.com/project/chrisbra/vim-fjfe9/build/62
> 
> (I had to test with several tags, which I removed later on, therefore, there 
> are still some old zip files floating around).
> 
> (Note: I got failures on test86.out, so I removed those for testing)

This is caused by Python 2.7.11's bug. 
See: https://github.com/vim/vim/issues/532

Executing the following commands solves this:
reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 
HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:32
reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 
HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64


I have also enabled the following features:
* DirectWrite
* Lua  (LuaBinaries 5.3.2)
* Perl (ActivePerl 5.22)
* Ruby (RubyInstaller 2.2.3)
* Tcl  (ActiveTcl 8.6.4)
* Build *.mo files
* vim.exe

I haven't enabled the OLE feature, because when I enabled it, the built binary
didn't work on AppVeyor.

You can see the patches at here:
https://github.com/vim/vim/compare/master...k-takata:appveyor-release

The patches also include the following patches:
* https://github.com/vim/vim/issues/328#issuecomment-166502534
* https://groups.google.com/d/topic/vim_dev/vk-5rhFe_xw/discussion

You can see the result at here:
https://ci.appveyor.com/project/k-takata/vim/build/33
And you can see the binaries at here:
https://ci.appveyor.com/project/k-takata/vim/build/33/job/y6y8rr56ufnv834y/artifacts
https://ci.appveyor.com/project/k-takata/vim/build/33/job/xob8gv86jpkheqyl/artifacts


One more problem, gettext is not included. The official installer (gvim74.exe)
includes very old version of Taro Muraoka's Win32 porting from here:
http://sourceforge.net/projects/gettext/files/gettext-win32/0.10.35/
It doesn't have 64-bit version.

I'm considering to use Taro's latest MSVC porting:
https://github.com/koron/gettext
https://github.com/koron/libiconv

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" 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_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui