Commit Graph

252 Commits

Author SHA1 Message Date
Christian Clason
f879a65455 build(deps): bump luajit to HEAD - d06beb048 2024-03-11 16:45:20 +08:00
Christian Clason
ee4bbc3af2 build(deps): bump treesitter-vimdoc to v2.2.0
adds support for `{arg}?` optional arguments #27644
2024-03-02 10:24:01 +01:00
zhaozg
72e3d8c3f9 fix(deps): bump luv to 1.48.0-2
close #27678

Return a userdata wrapper around the uv_req_t to allow it to be garbage collected before the program exits.
Previously, the returned userdata held a reference to itself in the Lua registry, meaning it would never be able to be garbage collected until the process ended.

This reverts commit 0e4a895, which attempted a workaround for the same underlying problem, but introduced a use-after-free.

```
Application Specific Information:
abort() called

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x18cde20dc __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x18ce19cc0 pthread_kill + 288
2   libsystem_c.dylib             	       0x18cd25a40 abort + 180
3   libsystem_malloc.dylib        	       0x18cc3cb08 malloc_vreport + 908
4   libsystem_malloc.dylib        	       0x18cc403f4 malloc_report + 64
5   libsystem_malloc.dylib        	       0x18cc54ebc find_zone_and_free + 308
6   nvim                          	       0x100eb13b8 uv__fs_scandir_cleanup + 84
7   nvim                          	       0x100eb7e68 uv_fs_req_cleanup + 120
8   nvim                          	       0x100e03634 luv_fs_gc + 132
9   nvim                          	       0x100e42aec lj_BC_FUNCC + 44
10  nvim                          	       0x100e44cc8 gc_call_finalizer + 148 (lj_gc.c:521)
11  nvim                          	       0x100b7fdb4 nlua_push_Object + 320 (converter.c:781)
12  nvim                          	       0x100b7fc48 nlua_push_Dictionary + 332 (converter.c:722)
13  nvim                          	       0x100992228 nlua_api_nvim_get_mode + 160 (lua_api_c_bindings.generated.c:6379)
14  nvim                          	       0x100e42aec lj_BC_FUNCC + 44
15  nvim                          	       0x100e590b4 lua_pcall + 228 (lj_api.c:1150)
```
2024-03-02 09:38:34 +01:00
Christian Clason
c6c19c3b2d build(deps): bump luv to 1.48.0-1 2024-02-27 10:31:02 +01:00
dundargoc
71384129f7 build: download libiconv and gettext from deps repository
Downloading it from https://ftp.gnu.org/pub/gnu/ has started to become
unreliable and we can therefore no longer rely on it.
2024-02-24 17:45:52 +01:00
Christian Clason
63c9e0c4ae build(deps): bump lua-compat-5.3 to v0.13
* Convert lua_pushlstring from a macro to a function
* strerror_r is not available on mingw
* Support getting io.popen results on file:close() on PUC-Rio Lua 5.1
* Fix missing closing parenthesis in preprocessor macro
* fix detection of LUA_USE_WINDOWS define

Also switch to new org
2024-02-24 15:04:20 +01:00
Christian Clason
42f8ada59d build(deps): bump luv to v1.48.0-0
* fix: Use os_uname() to check for Linux by @cryptomilk in #686
    * docs: typo in a table field name by @Bilal2453 in #689
    * docs: most new_handle methods won't return fail by @Bilal2453 in #683
    * test-tty: Don't depend on stdin/stdout handle type by @squeek502 in #688
    * Bump/libuv by @zhaozg in #690
    * Annotate .gitmodules with branch and tag by @creationix in #693
2024-02-22 10:07:04 +01:00
Christian Clason
d9e6a442f2 build(deps): bump tree-sitter to v0.21.0 2024-02-21 23:10:25 +01:00
Gregory Anders
a75ef40f4c
build: set deps default build type to Release (#27495)
Debugging dependencies is rare so a Debug build type is usually not
needed. In cases where it _is_ needed it is easy to rebuild in Debug
mode. But since Release builds are more common, it makes more sense as a
default.

For Neovim itself we stick with a Debug build as a default, since
rebuilding and debugging is done _much_ more frequently than with
dependencies (which we _mostly_ expect to "just work").

Also remove the CMAKE_BUILD_TYPE variable in the Makefile, since this is
set by default in CMake.
2024-02-16 11:56:52 -06:00
Christian Clason
d60eeacae4 build(deps): bump tree-sitter-c to v0.20.8
* fix: allow function definitions to contain preproc attributes

Also update URLs for parsers transferred to tree-sitter-grammars
2024-02-15 17:21:42 +01:00
Christian Clason
71429c90ee build(deps): bump tree-sitter-bash to v0.20.5 2024-02-10 14:49:09 +01:00
dundargoc
4788abf2da build: stop installing parser.h from treesitter 2024-02-09 12:08:25 +01:00
Christian Clason
02cc84b4d9 build(deps): bump libuv to v1.48.0 2024-02-08 10:19:50 +01:00
Christian Clason
1ed6b9cd2c build(deps): bump luajit to HEAD - 0d313b243 2024-02-04 20:58:14 +01:00
Christian Clason
20f97af417 build(deps): bump luajit to HEAD - 9cc2e42b1 2024-02-01 09:31:36 +01:00
Christian Clason
35a147fa77 build(deps): bump tree-sitter to v0.20.9 2024-01-25 23:39:25 +01:00
Christian Clason
e8aec1ecc5 build(deps): bump tree-sitter-bash to v0.20.4 2024-01-25 17:58:36 +01:00
Christian Clason
a9653a02aa build(deps): bump luajit to HEAD - 343ce0eda 2024-01-25 16:59:02 +01:00
dundargoc
ae3eed53d6 build: various build improvements
- remove "ran-" prefix from touch files as it's redundant since the
  they're already in the directory named `touches`.
- Include `contrib` when formatting with `make formatlua`.
- Use TARGET_FILE generator expression instead of assuming the
  executable location.
- reuse logic that determines whether to use lua or luajit.
- add translations to the `nvim` target.

Makefile improvements:
- rename variable `CMAKE_PRG` to `CMAKE` to make it more consistent with
  the builtin `MAKE` variable.
- stop propagating flags to generator. Users should use cmake for
  non-standard use cases.
- remove `+` prefix from targets. If the user for whatever reason wants
  to dry-run a target then they should be able to.
2024-01-24 12:41:09 +01:00
Christian Clason
932c7eb019 build(deps): bump luajit to HEAD - f2336c48f 2024-01-23 22:38:18 +01:00
Christian Clason
a7eb1e6004 build(deps): bump luajit to HEAD - 3ca0a8071 2024-01-22 23:47:46 +01:00
Christian Clason
012cfced9b build(deps): bump tree-sitter-c to v0.2.7 2024-01-22 17:58:33 +01:00
Justin M. Keyes
95cbedaa17
docs: various #25289
Co-authored-by: Jongwook Choi <wookayin@gmail.com>
Co-authored-by: Oliver Marriott <hello@omarriott.com>
Co-authored-by: Benoit de Chezelles <bew@users.noreply.github.com>
Co-authored-by: Jongwook Choi <wookayin@gmail.com>
2024-01-18 00:14:48 -08:00
Christian Clason
4615d46f93 build(deps): bump tree-sitter-vimdoc to v2.1.0
Add support for `(note)`.
2024-01-17 13:07:55 +01:00
Christian Clason
91ba9d0bf4 build(deps): bump tree-sitter to HEAD - 660481dbf 2024-01-16 09:58:02 +01:00
Christian Clason
2eb74bff0e build(deps): bump luv to 1.47.0-0 2024-01-06 12:02:27 +01:00
Christian Clason
84f6216130 build(deps): bump luajit to HEAD - c525bcb90 2023-12-24 09:51:10 +01:00
dundargoc
404fdb0f36 build: cmake fixes
- add EXTERNALPROJECT_OPTIONS variable to main build
- use `REQUIRED` keyword for IWYU.
- remove check_c_compiler_flag checks when `ENABLE_COMPILER_SUGGESTIONS`
  is `ON`. If we explicitly enable it then we probably want it to give
  an error if it doesn't exist, rather than silently skip it.
- Move dependency interface libraries to their find module and use them
  as a pseudo-imported target.
- Remove BUSTED_OUTPUT_TYPE. It's not used and we can reintroduce it
  again if something similar is needed.
- Use LINK_OPTIONS intead of LINK_FLAGS when generating the `--version`
  output.
2023-12-16 21:06:28 +01:00
dundargoc
7840760776 build: bump minimum cmake version to 3.13
The benefits are primarily being able to use FetchContent, which allows
for a more flexible dependency handling. Other various quality-of-life
features such as `-B` and `-S` flags are also included.

This also removes broken `--version` generation as it does not work for
version 3.10 and 3.11 due to the `JOIN` generator expression.

Reference: https://github.com/neovim/neovim/issues/24004
2023-12-16 17:17:24 +01:00
dundargoc
896b400bff build: fix universal mac builds
Cmake 3.28+ will fail if two projects download the same file to prevent
scheduling problems. This can be circumvented by downloading luajit to a
unique location for each target. This is theoretically non-optimal since
we need to download the same file three times for universal builds, but
universal builds are rare and the convenience of this method outweighs
setting up the dependencies optimally. This fixes the currently broken
release workflow for mac.

Closes https://github.com/neovim/neovim/issues/26526.
2023-12-16 16:47:22 +01:00
Christian Clason
c95b9a32f8 build(deps): bump luajit to HEAD - ff204d035 2023-12-11 10:29:46 +01:00
dundargoc
404043e74c build: vendor libtermkey
This is a proof of concept/WIP to evaluate the viability of vendoring
libtermkey as it's been deprecated.
2023-11-30 12:02:10 -06:00
dundargoc
99b8a343e1 fixup: quick update, squash later 2023-11-20 15:21:55 +01:00
dundargoc
7a80e169c5 build: disable all compiler warnings from dependencies 2023-11-20 15:21:55 +01:00
dundargoc
bec2ebebda build: various cmake fixes
- Correct MSVC warning suppression. The C4003 warning is issued during
  file generation and not for the actual source files.
- Remove non-existent "scripts/pvscheck.sh" file from `lintsh` target.
- Remove spaces inside for loops with uncrustify.
- Point dependencies to use a git tag rather than releases, as releases
  might have changes that deviate from the actual source code.
- Automatically update uncrustify config before formatting or linting.
2023-11-18 18:38:45 +01:00
dundargoc
a388c852c4 build: update libtermkey commit
The new commit includes the following patches:

bf544610f5
dcb198a85c

Fixes https://github.com/neovim/neovim/issues/26038.
2023-11-16 22:02:45 +01:00
Christian Clason
d92dd2a0c0 build(deps): bump luajit to HEAD - 43d0a1915 2023-11-15 09:39:43 +01:00
Christian Clason
cbad7f8c21 build(deps): bump luajit to HEAD - 113a168b7 2023-11-13 10:11:29 +01:00
Christian Clason
430b8da01d build(deps): bump tree-sitter-markdown to v0.1.7 2023-11-10 16:56:10 +01:00
Christian Clason
0a82fa9989 build(deps): bump luajit to HEAD - 69bbbf773 2023-11-10 15:33:18 +01:00
Christian Clason
4c8fdc018b build(deps): bump luajit to HEAD - b94fbfbee 2023-11-08 08:30:14 +01:00
Christian Clason
3ca967387c build(deps): bump libuv to v1.47.0 2023-11-07 09:43:48 +01:00
ObserverOfTime
f9416470b1 fix(build): include FindPackageHandleStandardArgs 2023-11-06 17:46:02 +01:00
Christian Clason
f1e9aa8f7e build(deps): bump luajit to HEAD - 07b3cd3cf 2023-11-06 08:12:00 +01:00
dundargoc
8ae39eb584 build: remove git requirement
We do not have any patches that we use at the moment, so git is not
needed right now. Futhermore, we've become more strict with not adding
patches, which makes it pretty safe to remove this for the time being.
2023-11-05 21:39:24 +01:00
Christian Clason
c513cbf361 build(deps): bump luajit to HEAD - 0afa1676b 2023-11-05 15:25:44 +01:00
Christian Clason
a8aebcff50 build(deps): bump libiconv to 1.17
new license (LGPL 2.1), adds EBCDIC encodings
2023-11-05 13:30:47 +01:00
dundargoc
5cefec7349 build: various cmake fixes
- silence false warnings on MSVC
- merge `clang-tidy` cmake target into `lintc` and remove the
  corresponding make target
- use cmake's built-in endianness detection
2023-11-04 18:32:47 +01:00
dundargoc
8405649f92 build: use neovim/libvterm instead of neovim/deps for libvterm
Using a mirror makes it easier to test patches as well as reducing
maintenance when a new version is released.
2023-10-29 12:14:19 +01:00
dundargoc
4f526b9fd8 build: use neovim/libtermkey instead of neovim/deps for libtermkey
Using a mirror makes it easier to test patches as well as reducing
maintenance when a new version is released.
2023-10-28 22:32:52 +02:00