Commit Graph

416 Commits

Author SHA1 Message Date
b-r-o-c-k b3d0241416 build/msvc: Add patch for LuaRocks
LuaRocks bundles an outdated wget.exe for downloading packages on Windows. It is too old to support GitHub's TLS, so this patch will replace it with curl.
2018-03-01 22:50:02 -06:00
b-r-o-c-k 305673e923 build/msvc: Add patch for libvterm
The patch removes VLAs because MSVC does not support them.
2018-03-01 22:50:02 -06:00
b-r-o-c-k fa6f892055 build/msvc: Add CMakeLists.txt and header for Unibilium
A header was added for compatibility with MSVC and CMakeLists.txt was
added for building with CMake.
2018-03-01 22:48:15 -06:00
Marco Hinz 3d2f4154b1
third-party: build all deps with debugging symbols (#8042)
When building with CMAKE_BUILD_TYPE=Debug, the dependencies are built like this:

| Dep        | Defaults  | Debug                                       |
|------------|-----------|---------------------------------------------|
| unibilium  | `-O2`     | `make CFLAGS=-O0 DEBUG=1`                   |
| msgpack    | `-g -O3`  | `cmake . -DCMAKE_C_FLAGS_DEBUG="-O0 -ggdb"` |
| libuv      | `-g -O2`  | `./configure CFLAGS="-O0 -ggdb"`            |
| luv        | `-g -O2`  | `cmake . -DCMAKE_C_FLAGS_DEBUG="-O0 -ggdb"` |
| libvterm   | not set   | `make CFLAGS=-O0 DEBUG=1`                   |
| libtermkey | not set   | `make CFLAGS=-O0 DEBUG=1`                   |
| jemalloc   | `-g3 -O3` | `./configure CFLAGS="-O0 -ggdb"`            |
| gperf      | `-g -O2`  | `./configure CXXFLAGS="-O0 -ggdb"`          |
| luajit     | `-g -O2`  | haven't checked yet                         |

This means that only unibilium, libtermkey, and libvterm don't build with
debugging symbols by default.

Build them with debugging symbols and optimisations that don't hinder
debugging: -Og -g
2018-03-01 10:23:21 +01:00
b-r-o-c-k f2b6145d74 build/msvc: Use patched libvterm for MSVC 2018-02-28 19:38:30 -06:00
b-r-o-c-k cb245a71ca build/msvc: Add MSVC compiler flag when building LuaRocks 2018-02-28 19:38:30 -06:00
b-r-o-c-k 3a6ee8819e build/msvc: Remove unnecessary copy command for msgpack DLL 2018-02-28 19:38:30 -06:00
b-r-o-c-k 0169872fd3 build/msvc: Fix linking for luajit and luv 2018-02-28 19:38:30 -06:00
b-r-o-c-k 9aec64c34e build/msvc: Allow building Unibilium on Windows 2018-02-28 19:38:30 -06:00
James McCoy ff8c848128
third-party: Explicitly version pin all luarocks modules 2018-02-26 08:09:00 -05:00
James McCoy 9938196298
third-party: Install all luarocks by name instead of URL 2018-02-25 19:02:39 -05:00
James McCoy c19ff66bfd
third-party: Use luacheck releases (0.21.2 for now) instead of master
Tracking master subjects us to breakages (as happened when
luacheck-scm-1.rockspec got renamed to luacheck-dev-1.rockspec) and
makes older releases unbuildable when that happens.
2018-02-25 13:11:27 -05:00
Marco Hinz 2f018b1833
third-party: upgrade libunibilium from 1.2.1 to 2.0.0 (#8016)
❯ git log --oneline v2.0.0...v1.2.1
e3b16d6 (HEAD -> master, tag: v2.0.0, origin/master, origin/HEAD) version 2.0.0
6f0037b (origin/wide-int) update README with build instructions / prerequisites
f40c97a explicitly mention the new "wide integer" format in the man pages
37aa305 use ncurses*-config to get TERMINFO_DIRS if possible
2461ee1 use perl instead of sed hackery to create unibilium.pc
23e9dea don't cast between pointer types of different alignments
1b5b8fd add basic test for wide format
cfe4216 add xterm-256color; regenerate static tests from ncurses 6.1
6e55e75 escape backslashes properly
42f3cdd add 32 bit number support (wide terminfo format)
73385ba unibi-dump: accept a filename as argument
ec9ef0a don't pass NULL to memcpy
b42315b (origin/typecheck) make unibi_var_t slightly more type-safe
2018-02-17 00:35:39 +01:00
James McCoy e34f2897d5
third-party: Install luabitop if using Lua 2018-02-02 07:28:56 -05:00
James McCoy 71190f1f34
third-party: lua: Set LUA_ROOT to ${DEPS_INSTALL_DIR} 2018-02-02 07:28:55 -05:00
James McCoy 204ec6337e
third-party: luarocks: Use Lua if LuaJIT is disabled 2018-02-02 07:28:55 -05:00
손량 e2afcfb020 build: BuildLuarocks.cmake: fix luacheck rockspec (#7961)
luacheck renamed the filename from luacheck-scm-1.rockspec to luacheck-dev-1.rockspec.
2018-02-02 11:21:58 +01:00
George Zhao a3daa8cb13 build: fix luacheck detection (avoids re-download on win32) (#7905) 2018-01-24 10:29:30 +01:00
Justin M. Keyes a18db72a36 third-party: revert to jemalloc 4.5.0
ref #7746
closes #7808
jemalloc-5.0.1 broke the Ubuntu Unstable PPA builds on arm64:
https://launchpadlibrarian.net/351647411/buildlog_ubuntu-artful-arm64.neovim_0.2.0ubuntu1+git201712291800+3837+26~ubuntu17.10.1_BUILDING.txt.gz).

    make[5]: Entering directory '/<<BUILDDIR>>/neovim-0.2.0ubuntu1+git201712291800+3837+26~ubuntu17.10.1/build'
    Segmentation fault (core dumped)
    runtime/CMakeFiles/vimball-tags.dir/build.make:57: recipe for target 'runtime/CMakeFiles/vimball-tags' failed
    make[5]: *** [runtime/CMakeFiles/vimball-tags] Error 139
    make[5]: Leaving directory '/<<BUILDDIR>>/neovim-0.2.0ubuntu1+git201712291800+3837+26~ubuntu17.10.1/build'
    CMakeFiles/Makefile2:7467: recipe for target 'runtime/CMakeFiles/vimball-tags.dir/all' failed

jemalloc bug:
https://github.com/jemalloc/jemalloc/issues/979
2018-01-06 16:22:38 +01:00
Issam Maghni 49f4358b0a third-party: update deps #7746
- Latest commit from LuaJIT 2.0.5
2017-12-29 17:38:37 +01:00
Issam Maghni c01a84e344 Updating to latest UNIBILIUM (#7745)
Update to unibilium 1.2.1
2017-12-18 18:53:53 -05:00
Justin M. Keyes b6c268b32a
build: de-parallelize luarocks dependencies (#7697)
ref 6647f3c047
closes #7535
2017-12-06 14:14:07 +01:00
Justin M. Keyes 54b79f19d7
win/package: nvim-qt v0.2.8 (#7464) 2017-10-31 12:53:07 +01:00
James McCoy ad34f15ef2 third-party: Bump win32yank to v0.0.4 and install arch-specific binary
Closes #6933
2017-07-14 16:11:52 -04:00
Justin M. Keyes 2555bd3ab0 third-party: Bump libtermkey to 0.20 2017-07-08 16:39:46 +02:00
equal-l2 e8aa58934e Update deps (#6885)
* Update libuv to 1.12.0
* Update msgpack-c to 2.13
* Update LuaJIT to 2.0.5 (82151a45 for a Windows build fix)
* Update jemalloc to 4.5.0
* Update luv to 1.9.1-1
* Update gperf to 3.1
2017-06-17 03:17:34 +00:00
Jan Viljanen c1026ff4b3 build: LuaRocks 2.4.2 #6059
LuaRocks 2.3 and onwards changed the /P option to no longer include the
version number which made newer releases of LuaRocks fail when compiling
on Windows.
2017-05-31 23:13:47 +02:00
ZyX 09f849b600 Merge branch 'master' into luaviml'/lua 2017-05-08 15:43:45 +03:00
Rui Abreu Ferreira 685ca180f7 win: Terminal UI #6315
For CI builds unibilium is provided through msys2 packages, and
libtermkey is built from source in third-party from equalsraf/libtermkey.

In Windows we cannot read terminal input from the stdin file descriptor,
instead use libuv's uv_tty API. It should handle key input and encoding.

The UI suspend is not implemented for Windows, because the
SIGSTP/SIGCONT do not exist in windows. Currently this is a NOOP.

Closes #3902
Closes #6640
2017-05-03 12:48:24 +02:00
Justin M. Keyes 9b1cad7cb6 win/package: nvim-qt v0.2.7 (fixes cursor-shaping) (#6641) 2017-05-02 12:45:42 +02:00
Justin M. Keyes 6944abad2f api/ext_tabline: List of Dicts. 2017-04-26 03:41:24 +02:00
ZyX ab4d13e2fa Merge branch 'master' into luaviml'/lua 2017-04-10 22:21:06 +03:00
ZyX 40dee97442 third-party: Update busted version 2017-04-10 03:51:50 +03:00
ZyX 043d8ff9f2 Merge branch 'master' into luaviml'/lua 2017-04-08 01:54:58 +03:00
Justin M. Keyes 8de53157b6 build: avoid cmake warning (#6417) 2017-04-01 03:22:56 +02:00
James McCoy 193aa4c140
third-party: Avoid building msgpack-c examples 2017-03-30 21:35:37 -04:00
James McCoy d92add8a4b
third-party: Bump msgpack-c to 2.1.1 2017-03-30 21:35:29 -04:00
Justin M. Keyes e20e9645b2 build: Rename NEOVIM_* to NVIM_* 2017-03-27 14:27:20 +02:00
ZyX d5228787ce deps: Always build lua with -fPIC and -O0 2017-03-27 00:12:23 +03:00
ZyX c5a2124e81 ci: When building lua use -fPIC 2017-03-27 00:12:23 +03:00
ZyX 8fec4d53d0 ci: Make ASAN build link with lua, build lua with address sanitizer 2017-03-27 00:12:23 +03:00
Justin M. Keyes cf202b74db build: Do not ref `libuv` CMake target if USE_BUNDLED_LIBUV=OFF. (#6363)
CMake Warning: The dependency target "libuv" of target "luv-static" does
not exist. (CMP0046)

Closes #6355
2017-03-26 00:22:15 +01:00
Justin M. Keyes 36fd879b25 doc: eval.txt fixup, README.md 2017-03-13 15:50:50 +01:00
Justin M. Keyes b2b15e6e13 win/package: nvim-qt v0.2.6 (#6258) 2017-03-11 16:00:26 +01:00
@equalsraf c5edde90cc win: third-party: win32yank v0.0.3 (#6255)
Fixes trailing newline bug when pasting text in Windows.

References:
https://github.com/equalsraf/neovim-qt/issues/218
https://github.com/equalsraf/neovim-qt/issues/253
2017-03-11 14:10:19 +01:00
Justin M. Keyes 32a9808bc5 win/package: Upgrade to neovim-qt v0.2.5 (#6213) 2017-03-04 21:50:43 +01:00
Justin M. Keyes 5c421080f8 win/package: runtime files
runtime/plugin/gui_shim.vim is from Neovim-Qt. This is a temporary
measure, we will add real UI events which obviate gui_shim.vim.

Closes #6145
2017-03-01 14:03:58 +01:00
Justin M. Keyes 500454227f win/package: cat.exe 2017-03-01 12:35:49 +01:00
Justin M. Keyes 3378ffac8a win/package: nvim-qt GUI
Closes #6126
2017-02-16 16:23:18 +01:00
Justin M. Keyes 2fbc42aa8a win/package: provide common tools
References #1507
Closes #1811

curl.exe curl_7_52_1_openssl_nghttp2_x86.7z from https://winampplugins.co.uk/curl/
    curl 7.52.1 (x86_64-pc-win32) libcurl/7.52.1 OpenSSL/1.0.2k zlib/1.2.8 nghttp2/1.19.0
    Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
    Features: AsynchDNS IPv6 Largefile NTLM SSL libz HTTP2 HTTPS-proxy

tidy.exe http://tidybatchfiles.info
    HTML Tidy for Windows
    tidy version 5.3.14 date 2017.01.09 compiled for Windows win32 x86.

7za.exe http://www.7-zip.org
    7-Zip 16.04 (2016-10-04)

cat.exe http://unxutils.sourceforge.net

from gVim:
    diff.exe GNU diffutils version 2.7
    xxd.exe V1.10 27oct98 by Juergen Weigert (Win32)
    ye olde hacked-up tee.exe
2017-02-16 16:23:18 +01:00
Rui Abreu Ferreira 7caaa106e3 win/build: Download winpty
Winpty has x86/x64 binary builds, download them when building
Neovim.
2017-02-16 16:23:18 +01:00
Rui Abreu Ferreira bddea0caff win/build: Fix libuv recipe for Windows/NMake X86_64
The 64bit check for the libuv recipe worked for the VS generator
but not for NMake.
2017-02-16 16:23:18 +01:00
Rui Abreu Ferreira 91205d219a win/build: detect architecture 2017-02-16 16:23:17 +01:00
Justin M. Keyes 5ef619eb33 Revert "build: LuaRocks: require unzip (#6049)"
This reverts commit 54293b73d4.
2017-02-04 03:25:17 +01:00
Matthieu Coudron 54293b73d4 build: LuaRocks: require unzip (#6049) 2017-02-04 01:03:04 +01:00
Rui Abreu Ferreira f59bb4be6c third-party: Add helper to fetch binary dependencies
Add cmake script with recipes to download binary dependencies, currently
the only dependency is win32yank.
2017-01-20 18:29:17 +00:00
Justin M. Keyes af2e629be4 tui: check stty/termios for kbs
Requires libtermkey 0.19+

Closes #2048
Closes #5693

See a9b61424aa%5E...c0eb4e4a05f49ad8fee0195c77f2c29d09cc36af
See https://bugzilla.redhat.com/show_bug.cgi?id=142659
See fe4e9470bb/tty-keys.c (L625-L632)
2016-12-23 18:28:54 +01:00
equal-l2 3143d7cce3 Change Lua's download URL 2016-12-04 09:42:32 +09:00
Michael Ennen 5f0260808c build: Upgrade jemalloc from 4.2.1 to 4.3.1. (#5636)
Closes #5415
2016-11-21 13:36:55 +01:00
Justin M. Keyes 44e6ee930f build: Target luacheck HEAD.
https://github.com/mpeterv/luacheck/pull/81#issuecomment-261099606

> If you really want to use bleeding-edge version you should get the
> rockspec from master branch, not a fixed commit ...
> The correct way to install from a specific commit is cloning that
> commit and running "luarocks make" from project directory. The reason
> is that running "install" or "build" on an scm rockspec fetches
> sources from master but uses build description from the rockspec
> itself, which may be outdated.
2016-11-17 00:55:39 +01:00
Rui Abreu Ferreira 0ebd30fba7 third-party: Bump luv to v1.9.1-0
Fixes #4620
2016-09-10 18:43:05 +01:00
Björn Linse 7e2348f2b1 eval: use gperf to generate the hash of builtin functions
make api functions highlighted as builtins in vim.vim
2016-08-31 21:57:04 +02:00
Rui Abreu Ferreira 703cf3197f third-party: Windows fix for luv build recipe
The argument quotes in the luv build recipe did not work
in Windows.
2016-08-26 08:09:56 +01:00
Rui Abreu Ferreira bed61041a0 third-party: Build busted in Windows
Busted now builds on Windows, remove the check. In Windows the binary
is called busted.bat.
2016-08-26 08:09:56 +01:00
Michael Ennen 9da4d0dfee Update to libuv 1.9.1 2016-08-26 08:09:56 +01:00
John Szakmeister 1d4506ee17 third-party: force the use of penlight 1.3.2-2 until busted is fixed
penlight 1.4.0 changed how files are being globbed and busted hasn't
been updated accordingly yet.  See Olivine-Labs/busted#528 for more
information.
2016-08-15 05:55:12 -04:00
John Szakmeister 6647f3c047 third-party: don't build busted in parallel with anything
luarocks has had trouble in the past with multiple build/install
commands running at the same time.
2016-08-15 05:43:25 -04:00
Justin M. Keyes f1eb303187 Merge #5130 from equalsraf/tb-appveyor
Enable MSYS/MinGW builds in Appveyor
2016-08-07 17:35:10 -04:00
Rui Abreu Ferreira 9da4d1b4cb third-party: Pass along cmake generator in luv recipe 2016-08-07 21:57:29 +01:00
Rui Abreu Ferreira 723366d40b third-party: Build libvterm in MinGW
Add build recipe for libvterm in MinGW, a CMakeLists.txt
file is bundled in third-party/cmake/.
2016-08-07 21:57:29 +01:00
Rui Abreu Ferreira 04012349f6 third-party: Create path in CopyFilesGlob.cmake 2016-08-07 21:57:28 +01:00
Rui Abreu Ferreira faafd9b70c Build third-party deps in MinGW
Added recipes to build bundled dependencies in native MinGW
toolchains - libuv, luajit, luarocks, msgpack
2016-08-07 21:57:28 +01:00
Rui Abreu Ferreira db7fdcd0ba MSVC: Build third-party dependencies as release DLLs
Using /MT was causing issues when building luarocks, revert it, use the
dynammic runtime and generate release DLLs for the dependencies.
Some refactoring was required because for linking cmake looks for the
import libraries (.lib) but on runtime executables we need the .dll files
to be in the same folder.

The DLLs are placed in the bin/ folder in order for nvim.exe to run
during the build and tests. The install target installs the DLLs with
the nvim binary - uses GetPrerequisites to find runtime DLLs.

Some minor issues that required adjustments:
- [MSVC] FindMsgpack.cmake now looks for msgpack_import.lib instead of
  msgpack.lib
- The lua-client fails to find libuv.lib, instead it looks for uv.lib,
  added second copy of the file to the install command.
- [MSVC] CMAKE_BUILD_TYPE affects the output paths, default to Release.

Part of these changes are credited to @jasonwilliams200OK who fixed the
third-party recipes to consistently use the same build type.
2016-08-07 21:57:28 +01:00
Justin M. Keyes fe6ec75725 Merge #4964 from ZyX-I/no-xdg-expand
option: Do not expand options, obtained from XDG vars
2016-08-04 20:59:51 -04:00
David Personette 67062d20ed
CMake: fix USE_BUNDLED_LIBUV
Closes #5114.
2016-07-25 20:56:52 +02:00
ZyX 3878626c05 functests: Add tests for XDG defaults 2016-07-10 02:04:27 +03:00
George Brown b23b561329 Update jemalloc to 4.2.1 (#4993) 2016-07-03 02:26:47 -04:00
Björn Linse 5cc87d4dab cmdline: Redraw the cmdline after processing events
vim-patch:7.4.1603

TODO(bfredl): if we allow events in HITRETURN and ASKMORE states,
we need to add the necessary redraws as well.
2016-05-24 22:11:37 +02:00
Thiago de Arruda c18d5917e3 Update lua client to 0.0.1-24
The new version of the lua client uses libmpack as a backend, and some test
scripts had to be updated to reflect that.
2016-04-13 09:21:32 -03:00
Thiago de Arruda 10a8bb02ac third-party: Add missing *_host dependencies to luarocks packages 2016-04-11 23:07:52 -03:00
Thiago de Arruda 4ae7acd152 Add luv as a third party dependency
Luv is a simple lua binding to libuv, which is now used by neovim lua client.
The bundled luv installation a bit different from other dependencies in that it
is installed two times:

- The "BuildLuv.cmake" script downloads and installs a static version of luv
  using its normal cmake build script. This static version will be used later.
- Luv default rockspec is replaced with the alternate under the "rockspecs"
  directory(the alternate rockspec plays nicer with neovim build system)
- The alternate rockspec is used to build/install the lua module and make it
  available to lua scripts.
2016-04-11 23:07:52 -03:00
Thiago de Arruda 3f698b8106 Allow a lua debugger to be specified on `functionaltest-lua` target 2016-04-11 23:07:52 -03:00
Thiago de Arruda 646ab30858 Add Lua 5.1 as a third party dep
Also add a functionaltest-lua target to run the functional tests using the lua
interpreter and corresponding helper to top-level Makefile
2016-03-07 14:38:39 -03:00
Justin M. Keyes 4e39eee13c deps: upgrade libvterm
New feature: `VTermState->mode.bracketpaste`
  Enabled by default, but note that `vterm_state_reset()` disables it.
  03981def6b
References #3476

New feature: `vterm_state_set_unrecognised_fallbacks`
  acf7f19713

Oh, and terminal reflow works now.
Closes #2514 (but not #3864, that's a bit more tricky)
2016-03-04 20:13:46 -05:00
Justin M. Keyes 62cf44b8ab Update to libuv 1.8.0 2016-02-22 19:28:52 -05:00
Seth Jackson a7ade5c832 misc: UNIX => Unix #4022
Although UNIX is a registered trademark of The Open Group, it doesn't
really matter whether we refer to these systems as UNIX, Unix, or
Unix-like. So, for consistency, refer to them collectively as Unix.

Related:
http://www.greens.org/about/unix.html
http://www.unixica.com/html/unixunix.html
2016-01-16 18:34:31 -05:00
Thomas Fehér 50db0312f9 build: ensure static jemalloc. #3970
Otherwise the dynamic library is built also and find_library will prefer
that over the static one. That results in linking against the dynamic
library which will not be found after install.

This code:
  8b3c399b6d/third-party/CMakeLists.txt (L130)
should prevent the above problem, but it doesn't hurt to be explicit.
2016-01-09 12:23:02 -05:00
Justin M. Keyes 7643245470 BuildLibuv.cmake: make case consistent 2016-01-08 01:09:22 -05:00
Justin M. Keyes 8b3c399b6d build: use our mirror of LuaJIT-2.0.4.tar.gz
Point to new location.
2015-12-30 23:40:04 -05:00
Justin M. Keyes 930ee40ad3 build: use our mirror of LuaJIT-2.0.4.tar.gz
The luajit.org download URL:
  http://luajit.org/download/LuaJIT-2.0.4.tar.gz
is breaking our travis builds because of connection problems.
2015-12-30 00:41:52 -05:00
Marco Hinz 330794fb05 Luacheck: point to latest rockspec
So far luacheck's rockspec specified only the git protocol. Hence people
behind firewalls/proxies, that block port 9814, had trouble fetching this
dependency via luarocks.

The latest commit updated the rockspec to use either git or https. Thus common
workarounds like this are not needed anymore:

    git config --global url."https://".insteadOf git://

References #3769.
2015-12-01 20:15:03 +01:00
Marco Hinz 818f926eb0 Tests: add luacheck for linting tests
Source: https://github.com/mpeterv/luacheck
Docs:   http://luacheck.readthedocs.org/en/0.12.0/index.html

Run via "make testlint".
2015-11-23 13:57:21 +01:00
Marco Hinz 4680b4f3b1 Remove outdated comment from BuildLuarocks.cmake 2015-11-23 13:27:21 +01:00
John Szakmeister 97bb24d4e5 third-party: enable verbose builds of luajit and libuv
Libuv and LuaJIT like to hide the actual compilation and linking
commands behind nice text.  This change makes them spit out the actual
command line to help us with debugging issues that people are seeing.
2015-11-10 06:19:08 -05:00
John Szakmeister e34ae35d10 Remove our cliargs workaround use 2.0.rc11 of Busted.
Busted now correctly excludes the 3.0 line of cliargs.
2015-10-28 03:12:48 -04:00
John Szakmeister 804edb0489 Update busted to pick up the CLI fix.
Unfortunately, it's not enough to avoid the rc file.  For now, let's
install a good version of lua_cliargs until the dependency is fixed
upstream.
2015-10-27 05:52:33 -04:00
Florian Walch 65b47a05d6 deps: Update to libtermkey 0.18.
Same code we were using before, only from official release tarball
instead of our GitHub mirror.
2015-10-07 21:28:09 +02:00
Felipe Morales e29c4bab2a third-party: update jemalloc to 4.0.2
jemalloc 4.0 adds support for OpenBSD, DragonFlyBSD and other platforms.

Release notes: https://github.com/jemalloc/jemalloc/releases/tag/4.0.0

4.0.1 and 4.0.2 are bugfix releases

Release notes: https://github.com/jemalloc/jemalloc/releases/tag/4.0.1
               https://github.com/jemalloc/jemalloc/releases/tag/4.0.2
2015-09-22 07:43:08 +02:00
Justin M. Keyes 7031364c76 test: update lua client to 0.0.1-14 2015-09-10 19:41:44 -04:00
Justin M. Keyes aea3f70237 test: update lua client to 0.0.1-13 #3281 2015-09-10 02:08:48 -04:00
Florian Walch fd23d588fe deps: Update unibilium to 1.2.0.
Changes since 1.1.4 (from [1]):

1.1.5   2015-07-17:
        - doc/unibi_{get,set}_ext_*_name: Fix man's “can't break line” warnings
        - Merge pull request #12 from Debian/manpage-warnings
        - fix variable name parsing in %g/%P (gh #14)

1.1.6   2015-07-23:
        - neatify formatting
        - factor out TAP pseudo-library
        - regenerate static tests
        - add screen-256color sanity test
        - make ok() accept printf varargs
        - regenerate static tests
        - mark test functions as potentially unused
        - more test stuff
        - use note for annotations instead of diag
        - regenerate static tests
        - fix nested conditionals
        - add ansi-pfkey test because why not

1.2.0   2015-08-14:
        - add helper functions for unibi_var_t manipulation
        - document semantics of zero-initializing unibi_var_t

[1] https://github.com/mauke/unibilium/compare/v1.1.4...v1.2.0
2015-09-09 17:23:22 +02:00
Florian Walch b480eb069b CMake: Don't use existing third-party sources by default.
Introduce ALLOW_EXISTING_SRC_DIR option, turned off by default.

The Homebrew formula, which downloads and extracts the third-party
dependency sources before starting the build, would turn this option
ON.
2015-09-09 17:23:22 +02:00
Justin M. Keyes ea33a75d07 Update to libuv 1.7.3 #3274 2015-09-01 19:23:13 -04:00
Florian Walch 544ec08102 CMake: Allow configuring all DEPS_* variables in third-party. #3080
Previously, only DEPS_INSTALL_DIR could be configured.
2015-07-22 18:27:07 +03:00
Michael Reed ff3175c4cd deps: Don't pin dependencies
This effectively reverts 585e5d32a3

The pinning was done at a time when `lua_cliargs` caused test failures,
so an older version which didn't was pinned.  We're now using the latest
version (2.5-1), so the cause of those failures were presumably fixed.
2015-07-18 15:52:15 -04:00
Michael Reed b8bfc0c736 deps: Update busted: 2.0 rc8 -> 2.0 rc10
This removes the dependency on ansicolors, see [1]:

See [2] for a changelog between the two versions.

[1]: https://github.com/Olivine-Labs/busted/pull/373
[2]: https://github.com/Olivine-Labs/busted/compare/v2.0.rc8-0...a6233a277da4e118f663606d54da8df88a27c076
2015-07-18 15:52:15 -04:00
Florian Walch bac2700e2f CMake: Allow overriding third-party install prefix. 2015-07-08 07:42:16 -03:00
Justin M. Keyes 943c7479c7 build: depend on bleeding-edge luarocks #2739
Recent luarocks adds support for these env vars:
  http_proxy
  https_proxy
  no_proxy

Closes #2482

Changes since previous luarocks version (27 Aug 2014):

  git log --oneline 0587afbb5fe8ceb2f2eea16f486bd6183bf02f29..HEAD

  5d8a165 Merge pull request #371 from ignacio/proxies
  4462ca5 Add `luarocks config` command for querying LuaRocks settings.
  b80244b Merge branch 'master' of https://github.com/keplerproject/luarocks
  dd6f0e7 Update lmathx used for testing Lua 5.3
  70c7577 Merge pull request #366 from Tieske/windows_exitcode
  11b8b48 fixes #365
  0d071fa Back to scm
  7bff020 Mark release 2.2.2
  2f9c115 Merge branch 'master' of https://github.com/keplerproject/luarocks
  9736020 Install .md files as docs
  97b98bf Clip string.gsub results to just one when redacting url.
  2a0a9fa Merge pull request #359 from ignacio/redact_verbose
  968e963 Redact api tokens when using --verbose flag
  9aa5d05 Update upload URL as well.
  cda43ce Merge branch 'master' of https://github.com/keplerproject/luarocks
  022c87d MoonRocks → LuaRocks.org transition complete!
  7b6efb9 Trust the user :)
  2c536b4 Deal with 'no_proxy' env var
  f022fe0 Drop use of config.proxy
  b6b6754 Merge pull request #354 from Tieske/pe_parser
  460e42d update to version 0.3
  2ee6bd7 Merge pull request #349 from ignacio/build_only_deps
  15ad97b Address issues spotted in the review
  6b350de Adds --only-deps flag to install command
  6dd402b Adds new file (fetch/git_https.lua) to Makefile.setup.inc
  46f8ad6 Merge pull request #350 from jszakmeister/add-git-https-support
  989347e Add git+https support.
  0f67be5 Adds --only-deps flag to the 'build' command.
  0fe8556 Update function documentation, as suggested by @ignacio in #347.
  0679559 Decided to step back in turn this into a warning. `luarocks list` on an empty ~/.luarocks is a valid use case.
  40f9173 Fail when given an invalid tree.
  6d5dfcd Fix crash on `luarocks --tree=/path list`. Closes #347.
  1fcf354 Add test that checks for error in default sysconfig. See #346.
  3ce554c Restore comment about second return, but put it in the right function. https://github.com/keplerproject/luarocks/pull/346#discussion_r28008668
  0e3a052 Merge pull request #346 from Tieske/bad_config
  c66a88e bail out on bad config files, fixes #228
  79addc7 Continuing slowly. Distracted by code golf. :)
  58fb6b9 Merge branch 'master' of https://github.com/keplerproject/luarocks
  ed1f916 Starting to port test suite from Unix shell to Lua.
  6f87c47 Merge pull request #343 from xpol/master
  cbde573 And also hide the startup logo for RC.
  5cb4aa7 Merge branch 'master' of https://github.com/keplerproject/luarocks
  303cca7 Add AppVeyor badge
  ad8ba47 Merge pull request #335 from ignacio/appveyor
  a52b5ca Merge branch 'master' of https://github.com/keplerproject/luarocks
  6251735 Add Coveralls coverage badge
  2fcc0cc Add options to hide the MSVC tools' startup logo.
  ff68e97 Fallback for platform variable
  e31c46b Improved the CI scripts
  050d656 Fix summary detection in long paragraphs
  4ad1f1a Remove failing test. Try this some other time.
  db81c2e Force package to be in cache.
  303628a Add more simple tests.
  8d6a9e3 Merge branch 'master' of https://github.com/keplerproject/luarocks
  5b45de2 More small tests.
  066cda4 Merge pull request #341 from keplerproject/add-travis
  2639401 Make localhost a known host.
  a549c6d Try not to block checking server identification.
  7c8e527 Let's see if Travis allow sftp'ing to localhost.
  98e0979 Merge branch 'master' of https://github.com/keplerproject/luarocks
  5f293dd Remove debugging print.
  ed02691 Add trivial tests for `luarocks upload`
  b4ea2a1 Merge pull request #340 from xpol/master
  b9789f3 Revert incorrect remove of cmake_generator support. Only windows (msvc) default cmake_generator are removed.
  a19af6d luacov-coveralls overwrites luacov.report.out!
  1b5bbfc luacov-coveralls did not exit with 0?
  df08baf Run luacov-coveralls from $testing_dir
  f3aaee7 Avoid tests that mess with the testing environment.
  836898f Let's try Coveralls
  b5244be Merge branch 'master' of https://github.com/keplerproject/luarocks
  30430cf Don't overwrite --detailed when given by the user.
  19ca56c Actually direct users to the bug tracker
  57c838e Merge branch 'master' of https://github.com/keplerproject/luarocks
  5495f3c A missing CWD returns "" for lfs.current_dir() on Ubuntu
  db90cb4 Really test for missing parameters.
  d3d74bf A missing CWD returns "" for fs.current_dir on Ubuntu...
  a027595 Let's try harder to fail if CWD does not exist.
  876d9c8 Fix inconsistency in --homepage flag in `luarocks doc` and `luarocks write_rockspec`.
  294e08f Fix --lib flag (and my last commit goof...)
  62d4e05 Fix tests: new flag parser detected invalid flags in the testsuite.
  7f7c006 Add support for space in long option assignments.
  68aa7ae Merge branch 'master' of https://github.com/keplerproject/luarocks
  e869c09 Fail nicely if CWD does not exist. Fixes #147.
  ae51a3c Fix confusing error when unpack fails due to network error
  93cdd54 Adds integration with AppVeyor
  28ade76 Fixes #332.
  51ea074 Expose platform and processor to home config files.
  a02a53a Merge branch 'master' of https://github.com/keplerproject/luarocks
  4c96972 Don't use user tree when running as root. Fixes #303.
  f15e49d Merge pull request #330 from mpeterv/hg-support
  9567ac5 Merge pull request #329 from mpeterv/persist-refactor
  20eb947 Improve hg support
  cf19178 Refactor persist.save_from_table
  3c7c472 Refactor persist.load_into_table
  603b0ea Merge branch 'master' of https://github.com/keplerproject/luarocks
  be3c52d Add extra smartness to configure to check that the user-given flag seems correct. Closes #293.
  d820069 Merge pull request #326 from mpeterv/fix-redact-api
  8739847 Merge branch 'master' of https://github.com/keplerproject/luarocks
  5db7c54 Merge branch 'xpol-master'
  7d22ee5 Open file in 'rb
  90586f6 Merge branch 'master' of https://github.com/keplerproject/luarocks
  bdf218b Remove commented code after remove cfg.cmake_generator.
  b5e2539 Better cmake support.
  df332f6 Fix url redacting when Luasocket is used
  88a903a Add logo :)
  6e21673 Try the one we have as `lua` first!
  4e9a0e3 This is for Makefile.luarocks only.
  ccab32f Merge branch 'new-makefile'
  855259b New set of Makefiles for self-upgrade.
  ff6fdfc Ignore more files.
  92d6363 Make sure suffix is produced when installing via rock (see #323) and copy over site_config.lua, in case we're installing to a different prefix (see https://sourceforge.net/p/luarocks/mailman/message/33608257/)
  dc5f200 Make it a bit more robust.
  4347dc7 Redact API URL to hide API key.
  650c8ae Back to our regularly scheduled programming
  8649a4e Release LuaRocks 2.2.1
  c7a704a Add test files that were not committed before.
  463ee89 Don't crash when modules table is missing.
  d110857 Use the system-installed stat.
  0f9d259 Test success of patching in `unpack`. Closes #316. Includes test cases for the test suite! Yay!
  9a9caf8 We're always using the internal patch module. See #316.
  c9cc478 All 5.x versions of Lua share the same license.
  92c7acb Clarify that runtime support is optional.
  5f3d390 Don't crash when asking for help on invalid cmd.
  46f2d25 Code cleanups suggested by luacheck.
  7fe62f1 Remove unused assignment.
  53e0c65 Direct users to the bug tracker
  2013547 Support both --lua-version and --with-lua-version. Error messages were even already using it by accident!
  48847a4 Support more file extensions as source files.
  23afae6 Merge branch 'master' of https://github.com/keplerproject/luarocks
  c54cbfc Fix behavior of `luarocks pack` on Windows. It was failing when a path contained spaces due to lack of quoting. Closes #308.
  7f6320c Merge pull request #309 from mpeterv/unused_variables
  500741f Removed some unused and global variables
  113ada0 Merge branch 'master' of https://github.com/keplerproject/luarocks
  9204178 Discard excess characters when a tool gives out an octal mode string that's too long. Fixes #53.
  aa4e0d3 Merge pull request #298 from seclorum/master
  9702239 Use updated LuaFileSystem for Lua 5.3
  0f1c937 Updates for Lua 5.3 compatibility
  8d6845e Make conversion more robust for Lua 5.3
  d98c3e0 Make it more robust. (I _think_ win32 needs something similar, but there's the complication of drive letters so I won't touch it now without proper testing.)
  8d588f9 Catch error if filename is a directory
  1885a7f Improve error checking
  f74346e Do not pack scm versions
  cd99315 Fix search of lua interpreter. Closes #301.
  4c503eb Update stdlib for 5.3 (thought I had this in the previous commit!)
  c5501d4 Merge branch 'master' of https://github.com/keplerproject/luarocks
  de654b3 Updates for Lua 5.3 support
  4636244 use cprint version compatible with Lua 5.3
  fc6d30d Update stdlib for Lua 5.3 compatibility
  76e5515 Add Lua 5.3 to the test matrix
  9ab9988 Add test that catches #228.
  0ebdcd4 Updates to testing infrastructure (use new luasec, luacov)
  e7f9680 Error out on bad config files. Alternative implementation to the one given by @Tieske, following discussion in #260. Closes #260. Closes #228.
  02e8bbd Safer guards for OSX Deployment target selection..
  c4558a3 OSX 10.10 Yosemite sw_vers update
  db46b22 Apply change suggested by @siffiejoe. Thanks @catwell for catching this! Closes #295.
  1a1c407 Add test for #295.
  8bbf02e Make test suite detect crashes on tests that should fail gracefully.
  7a7c124 Add check for Fedora systems. Closes #289.
  723bf99 Isolate the convenience hack, for readability.
  a35dd43 Silence complaints from `luarocks upload`. Closes #292.
  af679a9 Fix typo. Closes #294.
  453179d Provide a fallback for when the version number is 'scm', to avoid breaking Windows default paths (which assume something like c:\luarocks\2.2\ ) Closes #288.
  88ea74e Make code more resilient.
  0467eba Merge branch 'master' of https://github.com/keplerproject/luarocks
  8278ed2 Add flag to enable/disable SSL cert check. We disabled SSL certificate checks for wget and curl a while ago, when we first added https repositories. We'll keep the check disabled by default for now, but this adds a config option, `check_certificates=true` that can be used in your config.lua.
  af19063 Don't report WIP versions as releases.
  d15e99f Merge pull request #285 from mpeterv/fix-lint
  86ba23c Fix `luarocks lint`.
  e5cd7a9 Add --outdated as a flag to `luarocks list`. A variation of the feature suggested in #282.
  f0d66ae Support per-field version checking. This will allow us to add fields and bump rockspec version numbers in a well-behaved manner.
2015-05-27 10:28:28 -04:00
Rui Abreu Ferreira 8ef5a61dd6 cmake: Use cmake -E touch instead of touch #2730
CMake has a portable touch command using cmake -E touch, use
it instead of calling touch that is only available in Unix.
2015-05-24 02:22:32 -04:00
Michael Reed 73137e0a84 deps: Update unibilium 1.12 -> 1.14 #2665
From here[1]:

1.1.4   2015-04-26
        - move maintainer options from GNUmakefile to maint.mk
        - compile with -O2 by default

1.1.3   2015-04-25
        - fix permission error when installing into existing directory
          (gh PR #7)
        - relicense tools/*.c under MIT (gh #9)
        - add change log in Changes

[1]: https://github.com/mauke/unibilium/compare/v1.1.2...v1.1.4
2015-05-18 20:31:57 -04:00
Florian Walch 945186be2e deps: Update LuaJIT to 2.0.4. #2688
Changes since 2.0.3:

 - Fix stack check in narrowing optimization.
 - Fix Lua/C API typecheck error for special indexes.
 - Fix string to number conversion.
 - Fix lexer error for chunks without tokens.
 - Don't compile IR_RETF after CALLT to ff with-side effects.
 - Fix BC_UCLO/BC_JMP join optimization in Lua parser.
 - Fix corner case in string to number conversion.
 - Gracefully handle lua_error() for a suspended coroutine.
 - Avoid error messages when building with Clang.
 - Fix snapshot #0 handling for traces with a stack check on entry.
 - Fix fused constant loads under high register pressure.
 - Invalidate backpropagation cache after DCE.
 - Fix ABC elimination.
 - Fix debug info for main chunk of stripped bytecode.
 - Fix FOLD rule for string.sub(s, ...) == k.
 - Fix FOLD rule for STRREF of SNEW.
 - Fix frame traversal while searching for error function.
 - Prevent GC estimate miscalculation due to buffer growth.
 - Prevent adding side traces for stack checks.
 - Fix top slot calculation for snapshots with continuations.
 - Fix check for reuse of SCEV results in FORL.
 - Add PS Vita port.
 - Fix compatibility issues with Illumos.
 - Fix DragonFly build (unsupported).
 - OpenBSD/x86: Better executable memory allocation for W^X mode.
 - x86: Fix argument checks for ipairs() iterator.
 - x86: lj_math_random_step() clobbers XMM regs on OSX Clang.
 - x86: Fix code generation for unused result of math.random().
 - x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND.
 - x86/x64: Fix argument check for bit shifts.
 - x86/x64: Fix code generation for fused test/arith ops.
 - ARM: Fix write barrier check in BC_USETS.
 - PPC: Fix red zone overflow in machine code generation.
 - PPC: Don't use mcrxr on PPE.
 - Various archs: Fix excess stack growth in interpreter.
 - FFI: Fix FOLD rule for TOBIT + CONV num.u32.
 - FFI: Prevent DSE across ffi.string().
 - FFI: No meta fallback when indexing pointer to incomplete struct.
 - FFI: Fix initialization of unions of subtypes.
 - FFI: Fix cdata vs. non-cdata arithmetic and comparisons.
 - FFI: Fix __index/__newindex metamethod resolution for ctypes.
 - FFI: Fix compilation of reference field access.
 - FFI: Fix frame traversal for backtraces with FFI callbacks.
 - FFI: Fix recording of indexing a struct pointer ctype object itself.
 - FFI: Allow non-scalar cdata to be compared for equality by address.
 - FFI: Fix pseudo type conversions for type punning.

Taken from http://luajit.org/changes.html
2015-05-18 10:09:09 +03:00
Rui Abreu Ferreira cca32e64cc CMake: Build third-party deps in Windows
- Update recipes to build with MSVC or cross compile in Unix with Mingw
- For recipes that need to be reused, wrap recipe in CMake function
  using cmake_parse_arguments
- New directory .deps/host is the install root for HOST targets, the old
  .deps/usr is used for TARGET
- In windows disable builds for terminal libraries and jemalloc
- Added cmake script CopyFilesGlob.cmake to copy files using glob
    cmake -DFROM_GLOB=*.h -DTO=/usr/include -P CopyFilesGlob.cmake
- New CMake variables HOSTDEPS_* can be used in cross compile recipes.
  Except when the target is UNIX, since that would break 32bit builds
  in 64bit Unix systems using the Travis 32bit toolchain
2015-05-15 17:55:01 +03:00
Rui Abreu Ferreira 73dbd14283 CMake: Dont search for Make in Windows 2015-05-15 17:55:01 +03:00
John Szakmeister 7ff582f86c Merge pull request #2616 from jszakmeister/update-busted-dependencies
build: update dependencies for busted
2015-05-11 07:04:41 -04:00
John Szakmeister f0ab7c2ec1 third-party: use the official jemalloc tarball
This avoids messages to stderr about VERSION being missing, and allows
us to skip the autogen step.
2015-05-11 07:02:47 -04:00
John Szakmeister 765b478b5e third-party: update a couple busted dependencies to newer versions 2015-05-09 09:38:55 -04:00
John Szakmeister be70f0d2e6 third-party: update dependencies for busted
We didn't have ansicolors pegged, and several others were below the
minimum required versions causing busted to go out and grab newer
versions anyways.  Let's peg them all to useful versions.
2015-05-09 09:38:48 -04:00
Rui Abreu Ferreira 1721e115b4 Require pkg-config to build bundled libtermkey #2606
Libtermkey can be linked against unibilium or curses. For the bundled
dependencies Neovim links against static versions of libtermkey and
unibilium, after building both libraries.

However libtermkey requires pkg-config to be installed in order to detect
and link against unibilium, otherwise it falls back to curses by default.
In systems where pkg-config is not installed building Neovim against the
bundled libtermkey caused a linking error (#2484).

So pkg-config needs to be installed for the bundled libtermkey to build
properly.
2015-05-08 16:14:15 -04:00
Michael Reed 0d90b5c36c Update to libuv 1.5.0 #2604
Contains some Windows-specific fixes:
https://github.com/libuv/libuv/pull/329

https://github.com/libuv/libuv/releases/tag/v1.5.0
2015-05-08 03:31:36 -04:00
Florian Walch 8337cd957e deps: Update lua-client. #2590 2015-05-05 23:29:22 +03:00
Rui Abreu Ferreira 8fcff0370c third-party: Update lua-xml to release 1.1.2 #2586 2015-05-05 15:37:51 -04:00
Florian Walch 8130eb1191 jemalloc: Force use of prefixed functions.
* Set JEMALLOC_NO_DEMANGLE to be able to use `je_*` functions,
  regardless of how jemalloc was compiled (--with-jemalloc-prefix)
* Show jemalloc information in Neovim's version output.

Resolve #2449.
2015-04-29 22:26:55 +03:00
Florian Walch 9a08aa80f7 deps: Remove shared libraries. 2015-04-29 22:26:55 +03:00
Rui Abreu Ferreira f67c3e67ab Update busted version to 2.0.rc8-0 2015-04-22 14:07:10 +01:00
Rui Abreu Ferreira 78460bdf04 Refactor luarocks third-party recipe
- Replace repeated use of the luarocks command and build arguments
  with variables ${LUAROCKS_BINARY} and ${LUAROCKS_BUILDARGS}
2015-04-22 13:45:57 +01:00
Rui Abreu Ferreira fe9ec9c299 Add option USE_BUNDLED_BUSTED to third-party
- When not running the unit tests, building the third-party busted,
  nvim-client and other dependencies can be skipped by passing
  -DUSE_BUNDLED_BUSTED=FALSE to the third-party project.
2015-04-22 13:45:57 +01:00
Michael Reed 74fbd10e57 Revert "third-party: temporarily drop back to an old version of the busted spec"
No longer needed after
aab5d19d0c

This reverts commit d22f2f9404.
2015-04-16 20:24:15 -04:00
John Szakmeister d22f2f9404 third-party: temporarily drop back to an old version of the busted spec
The new one contains a clone url that does not work correctly.  Once
that is fixed, we can go back to tracking master.
2015-04-14 05:59:24 -04:00
John Szakmeister 53ba38d806 third-party: remove stray argument
This was missed when dropping our custom output handler.
2015-04-14 05:22:11 -04:00
Thiago de Arruda 8a1a9b9558 deps: Add jemalloc as an optional dependency
Jemalloc will be used if the cmake option `USE_JEMALLOC` is enabled(which is the
default). To avoid trouble with clang's ASAN, it is disabled by default if the
`SANITIZE` option is enabled.

Since jemalloc has thread cache for small objects, it fills the gap created by
removing klib memory pools.

The `xstrdup` funciton(memory.c) had to be reimplemented on top of `xmalloc` to
make it work with a custom allocator.
2015-04-13 08:22:59 -03:00
Thiago de Arruda 484fd734ab build: Remove busted output handler utfTerminalDetailed
Busted now contains "gtest", which can be used for the same purpose as
utfTerminalDetailed.
2015-04-11 08:46:59 -03:00
Thiago de Arruda 5874bc28ea deps: Update busted and dependencies 2015-03-24 12:46:15 -03:00
John Szakmeister afae3e25d5 build: add support for running the tests in junit format
This requires a couple of extra modules that are not installed by
default, and it requires capturing stdout of the tests--otherwise CMake
output is intermixed with the XML output of busted.
2015-03-21 09:47:49 -04:00
Michael Reed 4fc0291c73 Update to libuv 1.4.2 2015-03-21 09:21:51 -03:00
Florian Walch 29b6fc57e8 deps: Use released versions for unibilium, msgpack-c. 2015-03-20 13:18:53 -03:00
Thiago de Arruda 9af193bc5c deps: Replace `cp` by `${CMAKE_COMMAND} -E copy` for portability 2015-03-15 14:31:03 -03:00
Thiago de Arruda dbe719317c deps: Add utfTerminalDetailed busted output handler
This is a variant of the utfTerminal output handler that will:

- Output the file name before each suite is executed
- Output the test name before each test is executed

This will make it simpler to identify crashing/hanging tests.
2015-03-15 09:13:26 -03:00
John Szakmeister dda914fd6a build: fix a missing reference to libunibilium missed in #2125 2015-03-13 16:26:13 -04:00
John Szakmeister f7332273cc third-party: change all references to libunibilium to just unibilium 2015-03-10 18:38:41 -04:00
John Szakmeister e1ad8ae724 third-party: fix some whitespace issues from the recent splitting 2015-03-10 06:04:06 -04:00
Rui Abreu Ferreira 85492e86bd Split third-party recipes into multiple files 2015-03-09 13:24:21 +00:00
Thiago de Arruda d2e13d3b3d deps: Update libvterm 2015-03-08 20:37:02 -03:00
Xu Cheng d11e5b5d0d Switch to SHA256 for third-party bundles downloading
Closes #2107
2015-03-06 15:31:08 +08:00
Florian Walch a4b96f2f11 deps: Fix building 32-bit Lua rocks.
* Force building Lua rocks instead of trying to install a binary.
 * Set the CC and LD environment variables to pass
   CMAKE_C_COMPILER_ARG1 (contains `-m32` for 32-bit builds)
   to `luarocks build`.
2015-03-02 09:54:24 +01:00
Thiago de Arruda 4bebdd1cd9 deps: Small fix for PR #2072
A newer version of luafilesystem than the one reported by busted rockspec is
required for the unit tests.

Also update libvterm sha1/url
2015-02-28 11:12:51 -03:00
Thiago de Arruda 81a346553c deps: Add libvterm to the project dependencies
libvterm is a terminal emulation library with abstract display. It will be used
to implement builtin terminal emulation into Nvim.
2015-02-28 10:41:53 -03:00
Thiago de Arruda 585e5d32a3 deps: Add custom target for pinning busted dependencies
busted depends on a number of libraries that sometimes introduce crashing bugs.
The new custom target makes sure only stable versions of those dependencies are
installed.
2015-02-28 10:30:29 -03:00
Mike Zeller f28941b96d illumos requires the use of limits.h for things like INT_MAX #2049 2015-02-26 11:42:05 -05:00
Thiago de Arruda 0ed3d66bef deps: Update unibilium version to add OSX support 2015-02-21 22:17:47 -03:00
John Szakmeister 0505bb0de8 Update message pack to include the FreeBSD and OpenBSD byteswap fix. 2015-02-19 03:05:48 -05:00
Thiago de Arruda 9e75b2e18b deps: Remove libtickit as a project dependency
Also update libtermkey version and fix the pkg-config search scripts.
2015-02-11 12:40:50 -03:00
Thiago de Arruda daba57c512 deps: Update lua-client
The new version sets a custom panic function that prints the lua traceback
before exiting.
2015-02-10 10:57:15 -03:00
Thiago de Arruda 4c92a0baca deps: Add Luajit compilation flags to improve debugging 2015-02-10 09:57:24 -03:00
John Szakmeister b0044fa5c3 Merge pull request #1922 from jszakmeister/fix-build-under-opensuse-x64
Fix #1920: Unable to build on openSUSE 13.2 x64
2015-02-10 05:46:05 -05:00
Michael Reed ec5e94518e build: upgrade msgpack-c #1900
closes #1899
closes #1967

refs https://github.com/msgpack/msgpack-c/pull/194
2015-02-09 23:51:02 -05:00
John Szakmeister aa45a2c6cf build: allow SKIP or skip to be used as the SHA1
This will skip hash checking, just like the all zeros hash.
2015-02-09 06:30:17 -05:00
John Szakmeister 2019380bfa build: split hash checking from the download step
It turns out that `file(DOWNLOAD ...)` is not very user friendly with
it's error message, and only supports MD5 on v2.8.10 of CMake (the
default for Ubuntu 12.04).  If CMake is built without SSL support,
users are left hanging with a message that the hashes don't match.

It turns out that `file(SHA1 ...)` exists in v2.8.10, and we
can use that to compute the hash ourselves.  So this splits the hash
checking into a separate step, where we can provide some additional
advice if the SHA1 is the hash for an empty file.  Additionally, it also
allows us to drop the MD5 hashes and maintain only SHA1 hashes for our
dependencies.
2015-02-09 06:30:17 -05:00
Thiago de Arruda f90c9b9105 deps: Fix libuv md5sum 2015-02-02 15:36:13 -03:00
John Szakmeister 75d5fcce04 Fix #1920: Unable to build on openSUSE 13.2 x64
The issue is that libuv decides to use ${PREFIX}/lib64 as the lib
directory instead of ${PREFIX}/lib.  Since we're just installing it to
provide access to the static library, let's just force the libdir to be
${PREFIX}/lib.
2015-02-01 07:09:21 -05:00
John Szakmeister ed03d43d8b Fall back to libuv 1.2.0 and fix #1914.
It appears that commit 393c1c59a27591d705648919b2d7fb921cba37bc (unix:
set non-block mode in uv_{pipe,tcp,udp}_open) has broken Neovim's
drawing under OSX.  Let's revert to 1.2.0 until we can figure out what
is happening and get it fixed.
2015-02-01 06:53:28 -05:00
Michael Reed d4354759d3 Update to libuv 1.3.0 2015-01-30 09:30:59 -03:00
Thiago de Arruda c472e3af64 deps: Update lua client
The latest version works around a libuv bug that can leave zombie nvim processes
despite the event loop being properly cleaned up. This can lead to functional
tests being aborted depending on the maximum number of child processes
configured for a platform.
2015-01-23 18:52:55 -03:00
Thiago de Arruda 14ebe608e2 deps: Update libtickit URL 2015-01-15 09:01:44 -03:00
Thiago de Arruda ac193d86fd deps: Use versioned URLs for libtickit and dependencies 2015-01-09 07:56:56 -03:00
Florian Walch 745c462ed3 Update busted to 2.0.rc4. 2014-12-18 18:22:08 +01:00
Rui Abreu Ferreira 64d78c0b7d Dont force ../.deps in third-party/CMakeLists.txt
- third-party is built under .deps by default instead of using its own
  ${CMAKE_BINARY_DIR}, move this default setting out of the cmake
  settings and into the Makefile.
- As a consequence the workflow of building third-party using CMake
  should feel more natural, avoid the additional folder or setting
  DEPS_DIR from the command line.
- This commit does not change the default behaviour when calling the
  Makefile wrapper.
2014-12-16 10:28:43 +00:00
Florian Walch 71984d4126 CMake: Remove msgpack shared library in subdirectories. 2014-12-11 10:51:00 +01:00
Thiago de Arruda 8fc710110f deps: Update lua client 2014-12-08 09:15:24 -03:00
Thiago de Arruda 83d9f9b768 deps: Fix unibilium/libtickit URLs 2014-12-06 09:22:03 -03:00
Thiago de Arruda f1a934808a Revert "deps: Fix 32-bit build of lib{unibilium,termkey,tickit}"
This reverts commit f76df24753.
2014-12-06 09:15:53 -03:00
Thiago de Arruda f76df24753 deps: Fix 32-bit build of lib{unibilium,termkey,tickit} 2014-12-06 07:54:59 -03:00
Thiago de Arruda a31b06c44d deps: Update lua client 2014-12-05 14:23:37 -03:00
Thiago de Arruda cc34c90df7 deps: Update unibilium and lua client 2014-12-03 10:12:41 -03:00
John Szakmeister 788a5cf478 Merge pull request #1542 from jszakmeister/upgrade-libuv
Update to libuv 1.0.1.
2014-12-03 06:19:47 -05:00
Thiago de Arruda ecf1e672e1 deps: Use unibilium URL with Makefile fixed for OS X
Close #1594
2014-12-02 09:52:55 -03:00
Thiago de Arruda 9ac2e8423a deps: Add libtickit/libtermkey as dependency
The new terminal UI will be implemented on top of those libraries
2014-12-01 20:36:37 -03:00
John Szakmeister d277922a4f Update to libuv 1.0.1.
This should fix #1505 and #1276 and libuv removes support for dtrace all
together.
2014-11-28 07:04:07 -05:00
John Szakmeister 98b11f5db3 Merge pull request #1562 from Happy-Dude/fix-1560-libuv-refs
Change refs for joyent/libuv repo to libuv/libuv.
2014-11-27 14:52:15 -05:00
Stanley Chan a4ad5f6bee Change refs for joyent/libuv repo to libuv/libuv
* References to old repository found through grepping
* Replace references from github.com/joyent/libuv to github.com/libuv/libuv
* Fix previous commit by not including whitespace changes

 For issue #1560.
2014-11-27 10:05:14 -05:00
John Szakmeister 02b995478b build: allow skipping of the hash check in the download step
This is useful when trying to bisect an issue in a dependency, and we
want to pull from a specific commit but don't want to have to download
and determine the sha1sum and md5sum of the tarball.
2014-11-25 16:17:51 -05:00
Thiago de Arruda 99809903bb deps: Update bundled lua client version
The new version fixes defunct processes which causes random test failures on
some systems(#1519)
2014-11-25 14:47:54 -03:00
Rui Abreu Ferreira 2b887ec66b Use cmake --build instead of Make
- If possble try to abstract away from Make, and use cmake --build
- third-party still needs to find Make to build some components
- Removed search for Make from CMakeLists.txt
* for CMake < 3.0 --build has no color output
2014-11-14 14:35:16 +00:00
Xu Cheng cca2c089cf build: don't download and extract tarball if source is already present
When building under Homebrew, we want to let Homebrew manage
downloading and extracting the tarballs. See PR #1411.

Also make sure to skip only if directory is not empty. Fix #1433.
2014-11-08 20:14:32 +08:00
John Szakmeister 5d0f8b63e3 Revert "build: don't download and extract tarball if source is already present"
This reverts commit 9065898264.

It failed to work correctly on a fresh clone.  See #1433.
2014-11-08 05:43:17 -05:00
John Szakmeister 07775c07c0 Merge pull request #1411 from xu-cheng/homebrew-formula
Let homebrew handle external resources download
2014-11-07 08:50:13 -05:00
Xu Cheng 9065898264 build: don't download and extract tarball if source is already present
When building under Homebrew, we want to let Homebrew manage downloading and
extracting the tarballs.
2014-11-07 20:19:00 +08:00
Xu Cheng 77fc32b311 Prefer to SHA1 other than MD5 in third-party downloads
If CMake version is less than 2.8.11, fallback to MD5
2014-11-07 16:07:26 +08:00
Thiago de Arruda 3e78fc9faf deps: Upgrade to latest version of lua-client 2014-11-06 22:45:15 -03:00
Thiago de Arruda 201e1512a1 deps: Add lua nvim-client as a dependency 2014-10-16 09:21:32 -03:00
Paul Jolly c24dad3e59 Only use CMAKE_C_COMPILER_ARG1 if it is set 2014-09-24 04:06:20 -04:00
Thiago de Arruda ddecfb763b deps: Switch lua msgpack library to one that supports 2.0 2014-09-16 14:14:00 -03:00
Thiago de Arruda aab5f1a898 deps: Update msgpack
The new version fixes serialization/deserialization of EXT 8/16/32
2014-09-16 14:13:48 -03:00
John Szakmeister 5fa54a2dc0 third-party: avoid using `rm` in the install command
Also, the command was removing only .so versions of the library, and not
the the `.dylib` under Mac OS X, and in a way that it would fail if the
files weren't present.

Instead, let's delegate to a CMake script--to get the portability--and
use a glob to detect and remove the shared versions of the library.
Hopefully, this will become unnecessary as msgpack's build becomes more
full-featured, and we can just tell it to build the static version
instead.
2014-09-14 05:03:35 -04:00
Thiago de Arruda e2143674ae deps: Update to the experimental msgpack v5 branch
Using msgpack v5 will let nvim be more compatible with msgpack libraries for
other platforms.

This also replaces "raw" references by "bin" which is the new name for msgpack
binary data type
2014-09-12 13:19:50 -03:00
Florian Walch 0a01b3052e Update busted to 2.0.rc3.
Default to verbose output to show more information in case of errors.
Fix #1031.
2014-09-11 20:03:35 +02:00
Florian Walch dd27c30687 CMake: Use CMAKE_C_COMPILER_ARG1 when building dependencies.
CMAKE_C_COMPILER_ARG1 is set in CMake toolchain file
cmake/i386-linux-gnu.toolchain.cmake. Use when compiling dependencies to
simplify 32-bit builds.
2014-09-11 06:13:12 -04:00
Thiago de Arruda 80e421fe8d build: Remove moonscript as a third-party build dependency 2014-08-31 14:50:49 +02:00
Florian Walch a063892b2e Update luarocks: Use commit with correct version number. 2014-08-29 21:52:34 +02:00
Justin M. Keyes de025425fb upgrade luarocks
ref #822
2014-08-22 05:10:13 +00:00
Thiago de Arruda 8c37f9b4ff dependencies: Update to libuv 0.11.28 2014-08-07 10:22:42 -03:00
Florian Walch 67cdd65e21 Update luarocks. #1018
Fix #1013.
2014-08-01 09:30:17 -04:00
ZyX 4dadadd001 build: Compile static luajit lib with -fPIC #996
Should fix the following travis error:

    /usr/bin/ld: /opt/neovim-deps/lib/libluajit-5.1.a(lj_err.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
    /opt/neovim-deps/lib/libluajit-5.1.a: could not read symbols: Bad value
2014-07-25 21:13:44 +02:00
Nicolas Hillegeer aad2a69c96 cmake: upgrade libuv 0.11.23 -> 0.11.26 #911
Fixes some bugs and increase the performance of uv_hrtime() on OSX, which
reduces its prominence in performance traces. This allows us to better see
what's really causing slowness.

ref:
- https://github.com/neovim/neovim/issues/868
- https://github.com/joyent/libuv/pull/1325
- https://github.com/joyent/libuv/releases
2014-07-06 23:55:12 +02:00
John Szakmeister 7e797067df Make it easier to turn the bundled dependencies off. 2014-05-31 13:15:56 -04:00
Thiago de Arruda 5b7a9d5780 Add --with-pic flag to msgpack configuration 2014-05-12 17:06:54 -03:00
Thiago de Arruda 4a13143263 Bump LuaJIT to version 2.0.3
This update should fix some build problems as shown in the changelog:
http://luajit.org/changes.html
2014-04-14 17:41:14 -03:00
Thiago de Arruda 78fd9386b6 Fix unit tests
Apparently busted 1.11.0 is broken(https://github.com/Olivine-Labs/busted/issues/236)
in a way that is causing the unit tests to fail. This pins the version to 1.10.0
and also fixes a wrong variable set when msgpack was added as a dependency
2014-04-14 16:46:16 -03:00
Will Tange ed73da9f0e Bring neovim up to date with recent libuv changes
As of v0.11.23 libuv's uv_timer_cb, uv_async_cb, uv_prepare_cb, uv_check_cb and
uv_idle_cb no longer require a status parameter (this went unused in the first
place).

Bump third-party dependency `libuv` up to 0.11.23 and remove the extra
parameters from the callbacks.
2014-04-14 12:59:55 -03:00
Thiago de Arruda 4fb45579b5 Add lpeg as explicit third-party dependency
It was being installed because of moonscript, but now it's listed as a
dependency explicitly.
2014-04-13 07:32:52 -03:00
Thiago de Arruda a68ca46382 Configure cmake option to download/install msgpack 2014-04-11 14:07:44 -03:00
Thiago de Arruda 9a277a612f Update to the newest libuv version 2014-03-22 09:06:38 -03:00
John Szakmeister 66394367f7 Workaround the broken progress feedback in some versions of CMake.
Underneath the hood, CMake uses libcurl and libcurl has had a number of
issues regarding progress feedback.  In one sample run against Travis
CI, we ended up with nearly 3,000 lines of progress output for a single
download.

Unfortunately, CMake doesn't have the download and extract steps
separate, so we have some extra work that we have to do.  Much of the
content was taken from the ExternalProject.cmake and it's template for
generating the content of the download and extract CMake files.
2014-03-21 15:22:00 -04:00
John Szakmeister 0b2f6a0cf4 Revamp the build system.
This achieves several goals:

 * Less reliance on scripts so we have better portability to Windows
   (though we still have a ways to go for proper Windows support).
   Luajit, luarocks, moonscript, and busted are all installed via CMake
   now.
 * Trying to make use of pkg-config to get the correct libraries.  The
   latest libuv is still broken in this regard, but we'll at least be in
   a position to use it.
 * Allow the use of Ninja or make.  The former runs faster in many
   environments, and automatically makes use of parallel builds.

This also allows for system installed dependencies--though not through
the Makefile just yet--and adds support for FreeBSD.

This also make us build libuv and luajit as static libraries only, since
we're only concerned about having static libraries for our bundled
dependencies.
2014-03-21 15:22:00 -04:00
Thiago de Arruda 20b799a6f2 Import luajit 2.0.2 source tree
This will be used for testing and in the future for reimplementing vimscript as
a compile-to-lua language.
2014-02-27 09:37:08 -03:00
Rich Wareham 31cb3e09d4 third-party: add note on role of directory
Add a brief README on the purpose of the third-party directory and some
suggestions for how to manage it. The neovim bigwigs may want to
re-draft the README.
2014-02-24 10:31:37 +00:00
Rich Wareham f78d5aa87b Merge commit 'a302c65dc65896776d6cb9e2c89a6ccc77ada530' as 'third-party/libuv' 2014-02-24 10:01:50 +00:00