376 Commits

Author SHA1 Message Date
b83f949fd9 build(deps): bump tree-sitter to v0.20.8 (#22882) 2023-04-04 12:16:26 +02:00
eb1da498d6 build(windows): work around luarocks not finding its own md5sum
Luarocks is unable to find its own md5sum due to these reasons listed in
the comment https://github.com/luarocks/luarocks/issues/1443.

The pull request https://github.com/luarocks/luarocks/pull/1498 resolves
this issue, but in the meantime we can work around it by resetting the
value of MD5sum to "md5sum".
2023-04-03 21:12:42 +02:00
bc96bda5a2 build(deps): bump tree-sitter-vimdoc to v2.0.0 (#22870) 2023-04-03 14:08:00 +02:00
9084948893 Merge pull request #22832 from clason/bump-Luv
build(deps): bump luv to HEAD
docs(luvref): update to version bump
2023-04-01 18:07:11 +02:00
2d840b6b77 build(deps): bump Luv to HEAD - 093a977b8 2023-04-01 17:26:04 +02:00
d7f7450017 refactor(treesitter)!: rename help parser to vimdoc 2023-04-01 15:07:16 +02:00
dee559d744 build(deps): bump tree-sitter-viml to HEAD 2023-03-31 15:58:19 +02:00
92005db760 build(deps): switch to Launchpad for libvterm and libtermkey (#22811)
Problem: www.leonerd.org.uk is sometimes unreachable

Solution: switch to Launchpad URLs for libvterm (official page) and
libtermkey (source mirror for Ubuntu package)
2023-03-29 14:39:11 +02:00
81abd5c5c7 build: download wintools executables separately
The wintools executables are stored in a zip file, making it
inconvenient to bump these during releases. Instead, unpack the
executables in the deps repository and download each executable
separately.
2023-03-28 16:18:13 +02:00
b155608bff build: set CMAKE_C_STANDARD to 99 for all dependencies
Older gcc versions (4.x) require passing --std=c99 compiler flag to
prevent warnings from being emitted. Instead of setting it for each
dependency, it's easier to just pass the CMAKE_C_STANDARD flag to all
dependencies. This also prevents the scenario of us forgetting to set it
if we add new dependencies.
2023-03-24 10:22:15 +01:00
5726f33e8c Merge #22691 build!: sanitizers for gcc 2023-03-19 13:42:25 -04:00
ba8b564986 build(deps): bump win32yank to v0.1.1 (#22700) 2023-03-17 13:04:37 +01:00
17ce634b8f build!: rename sanitizer options from CLANG_* to ENABLE_* 2023-03-17 03:40:57 +01:00
a5cf62e81c build(deps): bump mpack to 1.0.10 2023-03-17 01:03:56 +01:00
8408405cb3 build(deps): bump luacheck to 1.1.0-1
also ignore two new warnings showing false positives
2023-03-15 19:23:27 +01:00
17ff65f59a build(deps): bump coxpcall to 1.17.0-1 2023-03-15 18:37:08 +01:00
46079c3396 build(deps): bump luarocks to v3.9.2
Changes from 3.8.0:
https://github.com/luarocks/luarocks/blob/master/CHANGELOG.md#whats-new-in-luarocks-392
2023-03-15 18:10:54 +01:00
5a38e951ec build(deps): bump tree-sitter to HEAD - a318b42c8 2023-03-15 14:25:04 +01:00
27b467bad2 build(deps): bump tree-sitter to v0.20.8 (#22663) 2023-03-14 09:29:56 +01:00
29a43ef8af build: explicitly add dependency include dir for header generation
Neovim and the generated headers needs to use the same include
directories to build correctly. However, we need to generate headers
before all target dependencies has been resolved, meaning that we cannot
rely on any target to determine the final list of include directories.
This may lead to a problems when bundling some, but not all or none,
dependencies as the dependency include directory won't be included.

Also remove the dependency path options as this assumes a specific
structure on the dependency build directory.
2023-03-10 22:40:41 +01:00
8a3220ba49 build(deps): set query parser to release (#22603) 2023-03-10 10:05:47 +01:00
red
64d3f68c07 build: fix build warning when using gcc 4.9.2
Problem:
When building with gcc 4.9.2, tree-sitter throws warning: "for loop initial
declarations are only allowed in C99 or C11 mode"

Solution:
set CMAKE_C_STANDARD option to 99
2023-03-09 16:46:34 +01:00
5dcf544f8a build: fix USE_EXISTING_SRC_DIR option
Since 0007aa50bd the build unsets all URL
variable immediately when USE_EXISTING_SRC_DIR is TRUE, which is
correct. However, this causes the function BuildTSParser to break down
as cmake functions aren't traditionally equipped to deal with empty
variables. Using cmake_parse_arguments fixes this issue.
2023-03-05 18:45:34 +01:00
f4d83ac1e2 build: consistently use the provided option paths
We provide options such as "DEPS_BIN_DIR" for the user to set, but only
sometimes use them. This makes binaries and other files to be spread out
if the user defines a custom DEPS_BIN_DIR location.
2023-03-05 15:21:46 +01:00
46c4cbced5 build(deps): bump msgpack-c to v6.0.0 (#22522)
* Remove C++ requirement if test is disabled
* Change CMake package name of C library to msgpack-c
* Unified all C package, library, cmake, tarball name become msgpack-c.
2023-03-04 17:26:24 +01:00
b48ad28a3e build(deps): bump Luv to HEAD - e5da6417d (#22502) 2023-03-04 00:32:00 +01:00
0007aa50bd build: unset variables ending with "URL" if USE_EXISTING_SRC_DIR is ON
This will reduce required boilerplate, but more importantly it will
automatically unset variables ending on URL. This will help people
needing to avoid to unset the URL variable each time a new dependency is
added.

It is possible that this may remove a non-download variable ending on
"URL" in the future, however, the risk of this is likely much lower than
the risk of someone forgetting to unset the variable.
2023-03-04 00:30:07 +01:00
98e051783c feat(treesitter): bundle query parser and queries (#22483)
skip injections for now
2023-03-03 14:27:30 +01:00
4cf4ae93df build: cmake cleanup (#22251)
- Remove unused code
- Use consistent casing. Variable names such as LibLuV_LIBRARIES is
  needlessly jarring, even if the name might be technically correct.
- Use title casing for packages. find_package(unibilium) requires the
  find_module to be named "Findunibilium.cmake", which makes it harder
  to spot when scanning the files. Instead, use "Unibilium".
2023-03-02 22:50:43 +01:00
1e37703a74 build: remove pkgconfig-related code (#22422)
Cmake should already be able to find everything on its own.
2023-02-26 22:32:08 +01:00
aaea48aac6 build: set libtermkey project language to C (#22410)
This will prevent cmake from failing the build if a C++ compiler isn't
found.
2023-02-26 13:32:37 +01:00
a601d03112 build: build luajit in parallel (#22327)
Add -j flag to the make command for luajit. Cuts down dependency build time by 40% when using the Ninja generator.
2023-02-24 21:17:23 +01:00
799edca18a feat(lua): make sure require'bit' always works, even with PUC lua 5.1 2023-02-22 22:15:19 +01:00
2281669470 build(deps): bump LuaJIT to HEAD - 505e2c03d (#22362) 2023-02-22 14:44:11 +01:00
b62c0c8d9c docs: fix typos (#21961)
Co-authored-by: Ben Morgan <cassava@iexu.de>
2023-02-20 15:12:59 +08:00
020d3e355e build: remove unused dependency penlight (#22334) 2023-02-19 22:27:12 +01:00
5ffd3d035d build: build all dependencies in parallel (#22329)
Previously, all targets were connected in one main target called
third-party in order to remove any potentially conflicting shared
library. We can make each dependency target independent of each other by
only removing shared libraries from luajit and msgpack in their own
targets, as only these has unwanted shared libraries.
2023-02-19 21:11:27 +01:00
f905ab0450 build(deps): bump tree-sitter to HEAD - c51896d32 (#22296) 2023-02-17 12:53:09 +01:00
d6279f9392 refactor(tests): move lua-client into core and use it for functionaltests
Eliminates lua-client and non-static libluv as test time dependencies

Note: the API for a public lua-client is not yet finished.
The interface needs to be adjusted to work in the embedded loop
of a nvim instance (to use it to talk between instances)
2023-02-10 20:19:04 +01:00
464b7b1e77 Merge pull request #22165 from clason/bump-Luv
build(deps): bump Luv to HEAD - e8e7b7e13
docs(luvref): update to latest version
2023-02-08 14:37:50 +01:00
07a6bc2be3 build(deps): bump libuv to HEAD - 62c2374a8 (#22166) 2023-02-08 14:37:04 +01:00
4d2c1004e9 build: prefer -D <variable>=<value> over -D<variable>=<value> (#22164)
This makes it easier to see that -D is referring to the entire
"<variable>=<value>", rather than only <variable>. It also help syntax
highlighters highlight built-in variables.
2023-02-08 11:00:16 +01:00
893c7b9bb1 build(deps): bump Luv to HEAD - e8e7b7e13 2023-02-08 10:58:39 +01:00
645daaf5e9 build(Windows): make bundling nvim-qt optional (#21866)
Closes https://github.com/neovim/neovim/issues/14552.
2023-02-08 10:08:18 +01:00
37da48cabd build(deps): bump tree-sitter-vimdoc to v1.3.0 2023-02-01 11:34:51 +01:00
21257d8580 build(luarocks): update busted version to v2.1.1 (#22029) 2023-01-30 17:01:06 +08:00
2cde6a18b5 build(deps): bump unibilium to d72c3598e7ac5d1ebf86ee268b8b4ed95c0fa628 (#22019)
actually use build system improvements
2023-01-27 14:53:53 +01:00
b05100a9ea build: use cmake to build libvterm on all platform (#21986)
Also remove Libvterm-tbl2inc_c.cmake as it's not required. It's used to
generate files that are already provided by the Libvterm project by
default. It's also not really something we need to concern ourselves
with as it's more of an authoring tool for the Libvterm creator as
mentioned in
https://github.com/neovim/neovim/pull/21986#issuecomment-1403733054.
2023-01-26 00:06:52 +01:00
b8288df99b build: introduce default build variables (#21991)
There are a number of cmake variables and cache variables that need to
be passed to all dependencies. This is not only cumbersome, but also
fragile as it's easy to miss adding or removing a flag from a dependency
by accident. Introducing a global variable that controls all builds
makes it much easier to handle our dependencies.

Also fixes the currently broken release workflow as we need to pass the
CMAKE_OSX_ARCHITECTURES variable to all dependencies built with cmake.
2023-01-25 14:36:17 +01:00
cd613712b1 build: use cmake to build treesitter on all platforms (#21984)
This reduces platform-specific differences and the amount of code.
2023-01-24 16:43:29 +01:00