Commit Graph
320 Commits
Author SHA1 Message Date
Justin M. Keyes 726c8c7d74 win/dist: nvim-qt v0.2.15 #11295 2019-10-26 13:18:14 -07:00
Daniel Hahler 2e14dffbb4 deps: pass LDFLAGS+=-static (#11138)
This is required when `build_old_libs=no` is used in `libtool`.

Fixes https://github.com/neovim/neovim/issues/11198
2019-10-14 15:16:58 +02:00
Daniel Hahler f2ad93168b third-party: upgrade libvterm to 0.1.2 (#11177) 2019-10-09 19:44:44 +02:00
Daniel Hahler dc52458522 third-party: upgrade libluv: 1.30.0-0 => 1.30.1-1 (#11092)
Changes: https://github.com/luvit/luv/compare/1.30.0-0...1.30.1-1
2019-09-30 12:55:47 +02:00
Daniel Hahler b0f5441c5e bundle: upgrade LuaJIT to latest v2.1 (#10321) 2019-09-30 12:50:22 +02:00
Björn Linse b871100be7 Create BuildUtf8proc.cmake and FindUtf8proc.cmake
Using advanced search and replace technology
2019-09-28 14:31:03 +02:00
Björn Linse cd10096386 tree-sitter: initial tree-sitter support 2019-09-28 14:31:03 +02:00
Daniel Hahler 227ef71621 third-party: update libuv to v1.31.0 2019-09-25 05:45:54 +02:00
Justin M. Keyes 4b7d8e6b87 win/dist: nvim-qt v0.2.14 #11008 2019-09-13 15:56:02 -07:00
Björn Linse 2a590e2293 bump libvterm to 0.1 + memleak patch 2019-09-10 20:09:37 +02:00
Daniel Hahler 71a9653194 third-party: remove msvc-compat/unistd.h (#10465)
This was upstreamed into unibilium.
2019-08-29 01:05:47 +02:00
Daniel Hahler a851090dec build: third-party: enable CXX language earlier (#10862)
This is required for `CMAKE_CXX_COMPILER` to be set already, not only
after including third-party/cmake/BuildGperf.cmake.

Closes https://github.com/neovim/neovim/pull/10860.
Ref: 31f879983f
2019-08-27 20:55:11 +02:00
Daniel Hahler f790799474 third-party: use neovim/unibilium (#10677)
Ref: https://github.com/neovim/neovim/issues/10302
Fixes https://github.com/neovim/neovim/issues/9071.
2019-08-26 10:21:08 +02:00
Daniel HahlerandJustin M. Keyes 8404e8df20 third-party: download: retry (#10599)
This is meant to handle the common case of failing to download
libtermkey:

    FAILED: cd /home/travis/build/neovim/neovim/deps-downloads/libtermkey && /usr/local/cmake-3.12.4/bin/cmake -DPREFIX=/home/travis/nvim-deps/build -DDOWNLOAD_DIR=/home/travis/build/neovim/neovim/deps-downloads/libtermkey -DURL=http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.21.1.tar.gz -DEXPECTED_SHA256=cecbf737f35d18f433c8d7864f63c0f878af41f8bd0255a3ebb16010dc044d5f -DTARGET=libtermkey -DUSE_EXISTING_SRC_DIR=OFF -P /home/travis/build/neovim/neovim/third-party/cmake/DownloadAndExtractFile.cmake && /usr/local/cmake-3.12.4/bin/cmake -E touch /home/travis/nvim-deps/build/src/libtermkey-stamp/libtermkey-download
    -- file: /home/travis/build/neovim/neovim/deps-downloads/libtermkey/libtermkey-0.21.1.tar.gz
    -- downloading...
         src='http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.21.1.tar.gz'
         dst='/home/travis/build/neovim/neovim/deps-downloads/libtermkey/libtermkey-0.21.1.tar.gz'
         timeout='none'
    CMake Error at /home/travis/build/neovim/neovim/third-party/cmake/DownloadAndExtractFile.cmake:77 (message):
      error: downloading
      'http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.21.1.tar.gz' failed
        status_code: 6
        status_string: "Couldn't resolve host name"
        log: Curl_ipv4_resolve_r failed for www.leonerd.org.uk
      Couldn't resolve host 'www.leonerd.org.uk'
      Closing connection 0

Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
2019-07-24 19:11:27 +02:00
Daniel Hahler 4aabe4a0d5 build: GetBinaryDeps: move include, fix doc (#10579) 2019-07-22 20:50:30 +02:00
Daniel Hahler 6aab5715c5 third-party: busted 2.0.0-0 (#10517) 2019-07-16 09:15:50 +02:00
Daniel Hahler 31f879983f third-party: use CXX only for BuildGperf (#10512)
This allows to build deps without g++ when not using the bundled gperf.

> make deps DEPS_CMAKE_FLAGS='-DUSE_BUNDLED_GPERF=0'
2019-07-15 22:27:29 +02:00
Damian Malarczyk be949d6c9d build: propagate sysroot to C++ deps (gperf) #10491 2019-07-15 11:34:45 +02:00
Daniel Hahler 4731027447 tests: use vim.inspect (#10485)
The inspect modules is vendored as `vim.inspect`, and therefore it makes
sense to use this in tests also.

Ref: https://github.com/neovim/neovim/issues/6580
Ref: https://github.com/neovim/neovim/commit/bb3aa824b
2019-07-13 00:50:52 +02:00
Daniel Hahler 564d415d20 build: BuildLuv: set/pass WITH_LUA_ENGINE (#10449)
Ref: https://github.com/neovim/neovim/pull/10438
2019-07-09 21:55:01 +02:00
Daniel Hahler 48a5897ec4 bundle: update libuv: v1.29.1 => v1.30.0 (#10365)
- fs: fix uv_fs_copyfile if same src and dst
- build, core, unix: add support for Haiku
- unix: make uv_cwd() report UV_ENOBUFS
- unix: make uv_fs_read() fill all buffers
2019-07-09 15:45:43 +02:00
Daniel Hahler c67315c7b5 BuildLuarocks: improve comments
I found it often irritation to see the same comment about "DEPENDS"
there all the time.  This uses the LuaRocks rock name as a comment
instead (which is hard to parse from the recipe), moves the note about
DEPENDS to the top (extended), and fixes/aligns some whitespace.
2019-07-05 04:10:30 +02:00
Daniel Hahler 8eac3f63a2 BuildLuarocks.cmake: use ROCKS_DIR
With LuaRocks 3 it will include the version, and this will make the
upgrade easier then.
It also makes sense to factor this out in general for clarity already.

Pulled out of https://github.com/neovim/neovim/pull/10292.
2019-07-05 03:55:08 +02:00
Daniel Hahler fd8d26a713 third-party: fix warning with (un)bundled libtermkey/unibilium (#10416)
Fixes warning with:

> cmake -S third-party -B .deps -DUSE_BUNDLED=OFF -DUSE_BUNDLED_UNIBILIUM=0 -DUSE_BUNDLED_LIBTERMKEY=1
> The dependency target "unibilium" of target "libtermkey" does not exist.
2019-07-04 15:17:59 +02:00
Daniel Hahler 99b870d61c build: bundle: clean binary dir with new downloads (#10411)
This is required to (re)build e.g. libluv when the version changes
(which triggers a new download).

With `make deps`, changing the `LUV_URL`/`LUV_SHA256`, and `make deps` again:

Before:

> Up-to-date: /home/daniel/Vcs/neovim/.deps/usr/lib/libluv.a

After:

> Installing: /home/daniel/Vcs/neovim/.deps/usr/lib/libluv.a

See with https://github.com/neovim/neovim/pull/10358 - where .deps
contained libluv 1.29, the merge updates it to 1.30, but then it failed
to link because `libluv.a` is considered to be up-to-date (after
downloading the new version).

Note that header files get installed, since they have the original time
stamp, but `libluv.a` is being generated (does not use the timestamp
from the archive here, but needs to get rebuild).

It could be argued that the build system of the included project should
catch/handle this, but it seems to be good practice to clean the binary
/ build dir with a new download to start from scratch.

Ref: https://gitlab.kitware.com/cmake/cmake/issues/19452

Also fixes cmake/BuildLuv / luv-static: use name with -DTARGET for
download command, and pass (shared) `SRC_DIR` explicitly instead.
2019-07-04 02:37:29 +02:00
Björn Linse d33aaa0f5f libluv: use luv_set_callback to control callback execution
Disable the use of deferred API functions in a fast lua callback
Correctly display error messages from a fast lua callback
2019-06-30 13:13:08 +02:00
Daniel Hahler 52fced6090 build: update some test dependencies (#10339)
* build: update some test dependencies

* luacheck ignores

* BuildLua: add ${BUSTED} to depends for ${BUSTED_LUA}

This is required to rebuild it when busted gets updated.
2019-06-29 22:25:00 +02:00
Daniel Hahler c207095445 build: CMake: do not set CMP0059 to old (#10363)
Keeps using add_definitions for compatibility with older CMake.

Newer CMake (3.12) would have `add_compile_definitions`, but it is not
required, since `add_defitions` was meant to be used for
compile/preprocessor definitions initially anyway.

Ref: https://github.com/neovim/neovim/pull/4389
2019-06-29 20:37:48 +02:00
Daniel Hahler c696fcdcaa build: remove patch: luv-Add-missing-definitions-for-MinGW [skip travis] #10360
Added in 4ae7acd15 initially, but seems to not be necessary anymore,
and/or should be send upstream otherwise.
2019-06-28 13:19:47 +02:00
Daniel Hahler 31dbc6f63e build: BuildLua: fix check for mingw [skip ci] (#10352) 2019-06-27 20:11:45 +02:00
Daniel Hahler 3e6f06f5d2 build: use main cmake modules with third-party (#10330)
This is meant to make it possible to use `find_package(LuaJit)` etc with
the third-party CMake project in general.

Followup to https://github.com/neovim/neovim/pull/10297/files#r296439576.
2019-06-25 17:34:28 +02:00
Daniel Hahler 8d4a655ace build: CMake: remove LUAROCKS_VERSION (#10317)
This is not necessary and avoids confusion.
2019-06-24 18:04:57 +02:00
Daniel Hahler 433c136a8a build: luarocks: fall back to luajit (#10297)
This regressed in 204ec6337.

Currently it would detect/use lua5.3 from the system, but in general
luajit is / should be preferred.

Noticed this due to nvim-client failing to build with Lua 5.3
(https://github.com/neovim/lua-client/pull/43).
2019-06-24 08:48:54 +02:00
Daniel Hahler c4739345fe build: luajit: do not disable jit (#10318)
This was added in 4c92a0bac to help with debugging, but could also have been
just moved there instead of disabling it manually (which was done due to
issues on Travis with OSX).

Since the JIT is the main feature of luajit, we should not disable it,
especially not during compile time.
2019-06-24 04:11:33 +02:00
Daniel Hahler f96a2dabac bundle: upgrade LuaJIT to latest v2.0 commit (#10320)
Changes: https://github.com/LuaJIT/LuaJIT/compare/7dbf0b05f1228c..61464b0a5b6
2019-06-24 04:11:04 +02:00
Daniel Hahler de2e51439e build: tests: build luv rock also with USE_BUNDLED_LUV=0 (#10307)
Followup to https://github.com/neovim/neovim/pull/10291
Ref: https://github.com/neovim/neovim/issues/10289
2019-06-23 04:17:13 +02:00
Daniel Hahler 058a8ed6ec build: USE_BUNDLED_LUV=0 with USE_BUNDLED_LUAROCKS=1 #10291
Fixes https://github.com/neovim/neovim/issues/10289
2019-06-22 03:43:31 +02:00
George Zhao c83926cd0a lua: introduce vim.loop (expose libuv event-loop) #10123
Co-authored-by: Andrey Popp <8mayday@gmail.com>

closes #9546
closes #10084
2019-06-10 14:13:18 +02:00
Justin M. Keyes 370ad05229 deps: update to libuv v1.29.1
Fixes #10101
See also https://github.com/neovim/libuv/commit/0ac136359903c70ab1db1838c3ad06da6fa5b912

Notable changes since v1.26.0:

- v1.27.0
  - linux: use statx() to obtain file birth time
- v1.28.0
  - unix,win: add uv_gettimeofday()
  - unix,win: add uv_fs_{open,read,close}dir()
  - unix: fix uv_interface_addresses()
  - fs: remove macOS-specific copyfile(3) fixes neovim/neovim#10101
  - unix: suppress EINTR/EINPROGRESS in uv_fs_close()
- v1.29.0
  - unix: fix race condition in uv_async_send()
  - linux: use O_CLOEXEC instead of EPOLL_CLOEXEC
  - linux: read free/total memory from /proc/meminfo
  - unix: don't assert on UV_PROCESS_WINDOWS_* flags
  - unix,win: add uv_get_constrained_memory()
- v1.29.1
  - linux: fix sscanf() overflows reading from /proc
2019-06-02 15:53:57 +02:00
Björn Linse 8ed54bbec3 messages: use proper multiline error message for rpcrequest and API wrappers 2019-05-26 15:42:16 +02:00
bryant 5613310538 Build gperf with configured host compiler.
This was initially added but unused in
7e2348f2b1, which led to its accidental
removal in feee814b30.
2019-04-14 03:01:14 -07:00
bryant 6222c74235 Set host C++ compiler CMake var. 2019-04-14 03:01:14 -07:00
Justin M. Keyes 980dd7c011 Merge #9638 from mhinz/update-libtermkey 2019-03-07 00:57:21 +01:00
Marco Hinz 27c3143466 third-party: libtermkey v0.20 -> v0.21.1
$ bzr log --line --forward -r v0.20..

372: Paul "LeoNerd" Evans 2017-03-30 {v0.20} Bumped VERSION to 0.20
373: Paul "LeoNerd" Evans 2017-04-10 [merge] Apply typo fixes from jamessan
374: Paul "LeoNerd" Evans 2017-11-29 Build termkey.pc by invoking a small shell script instead of sed'ing a template
375: Paul "LeoNerd" Evans 2018-03-29 Implement mouse key parsing (thanks Marc André Tanner <mat@brain-dump.org>)
376: Paul "LeoNerd" Evans 2019-01-02 Bugfix for infinite CPU spin on TERM=dumb, which has no terminfo key strings
377: Paul "LeoNerd" Evans 2019-02-14 Fix a couple of valgrind-cleanness errors in DEBUG mode
378: Paul "LeoNerd" Evans 2019-02-14 Fix valgrind uninitialised value warning
379: Paul "LeoNerd" Evans 2019-02-14 Remember to unibi_destroy() even if we never (lazily) loaded terminfo
380: Paul "LeoNerd" Evans 2019-02-14 Bugfix memory leak in TI driver on xterm
381: Paul "LeoNerd" Evans 2019-02-17 driver-ti.c does not need a separate TYPE_MOUSE node type since TERMKEY_TYPE_MOUSE already exists
382: Paul "LeoNerd" Evans 2019-02-17 Perform TI string lookup by iterating all the strings we care about, rather than iterating everything in the DB; that way a hook function can invent new strings
383: Paul "LeoNerd" Evans 2019-02-17 Avoid nonstandard \e sequence in unit tests (via neovim https://github.com/neovim/neovim/blob/master/third-party/patches/libtermkey-Fix-escape-sequences-for-MSVC.p...
384: Paul "LeoNerd" Evans 2019-02-17 win32: Win32 lacks <unistd.h> and S_ISFIFO()
385: Paul "LeoNerd" Evans 2019-02-17 win32: Win32 needs help to get ssize_t
386: Paul "LeoNerd" Evans 2019-02-17 win32: Win32 has no <termios.h>
387: Paul "LeoNerd" Evans 2019-02-17 win32: Win32 has no poll() so cannot provide termkey_waitkey()
388: Paul "LeoNerd" Evans 2019-02-17 win32: Win32 has no <strings.h> and needs help getting strcasecmp()
389: Paul "LeoNerd" Evans 2019-02-17 Write the version into the .pc file at 'make install' time so we don't get@VERSION@ from source
390: Paul "LeoNerd" Evans 2019-02-19 {v0.21} Bumped VERSION to 0.21
391: Paul "LeoNerd" Evans 2019-02-19 Bugfix to missing TERMIOS support
392: Paul "LeoNerd" Evans 2019-02-19 Fix offbyone buffer overflow in sprintf calculation of key names (neovim #9630)
393: Paul "LeoNerd" Evans 2019-02-19 {v0.21.1} Remove a pointless (and warny) cast

Our local patches are now part of the libtermkey repo and get removed.
2019-02-21 22:23:54 +01:00
Justin M. Keyes 6784ed206a win/deps: update to (forked) libuv v1.26.0
ref c59aa771a6
2019-02-21 19:43:10 +01:00
Justin M. Keyes c59aa771a6 deps: update to libuv v1.26.0
Notable changes since v1.23.2:

- v1.26.0
  - uv_os_uname()
  - unix: don't attempt to invalidate invalid fd
    https://github.com/libuv/libuv/commit/1ce6393a5780538ad8601cae00c5bd079b9415a9
- v1.25.0
  - unix: better handling of unsupported F_FULLFSYNC (fixes #6725)
    https://github.com/libuv/libuv/commit/6fc797c3fe18d8df71b36ecf2184f085c0283251
  - tty,win: fix Alt+key under WSL
    https://github.com/libuv/libuv/commit/d2e59bb6003d707bdebd7a381f5a7e1d0cc3fd3b
  - fsevents: really watch files with fsevents on macos 10.7+
    https://github.com/libuv/libuv/commit/2d2af382ce84b91d6ee7a185af32fca7f0acd84b
  - win: fix duplicate tty vt100 fn key
- v1.24.0
  - win,fs: retry if uv_fs_rename fails
    https://github.com/libuv/libuv/commit/e94c184c7c4a18f3de569c97caeb83f4ff98a4b2
    - later [reverted](https://github.com/libuv/libuv/issues/2098) but may be useful reference
  - win: support more fine-grained windows hiding
    https://github.com/libuv/libuv/commit/4c2dcca27b80945d6b7063f0ea031b8a75a46a52
2019-02-21 02:00:51 +01:00
erw7 3b56f59532 :terminal : Fix F1-F4 key codes (#9535)
fixes #9529
2019-01-23 19:51:23 +01:00
James McCoy c2343180d7 Remove support for using jemalloc instead of the system allocator
There was never any investigation done to determine whether using
jemalloc was actually a net benefit for nvim.  It has been a portability
limitation and adds another factor to consider when triaging issues.
2019-01-19 18:09:52 -05:00
Justin M. Keyes 424388c207 win/dist: nvim-qt v0.2.12 2019-01-12 23:47:05 +01:00
Justin M. Keyes c1015121ec Merge 'upstream/master' into pr-win-erw7 2018-12-27 22:49:44 +01:00