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.
