Package: ycmd / 0+20230103+gitf53e7ac+ds-1
Metadata
| Package | Version | Patches format |
|---|---|---|
| ycmd | 0+20230103+gitf53e7ac+ds-1 | 3.0 (quilt) |
Patch series
view the series file| Patch | File delta | Description |
|---|---|---|
| 00 use python3 shebang.patch | (download) |
ycmd/__main__.py |
1 1 + 0 - 0 ! |
adds missing script headers |
| 01 add marker to allow skipping tests on Debian.patch | (download) |
ycmd/tests/test_utils.py |
1 1 + 0 - 0 ! |
add marker to skip tests on debian The testsuite contains rather a lot and some tests do not work anymore due to us patching out third-party usage and such, so to keep the changes to the testsuite minimal rather than removing entire tests we will mark them for skipping. . This patch does not mark any test, this is to be done in later patches. |
| 10 use system clang and llvm.patch | (download) |
cpp/ycm/CMakeLists.txt |
34 1 + 33 - 0 ! |
use debian's llvm |
| 11 use system gtest.patch | (download) |
cpp/ycm/tests/CMakeLists.txt |
3 2 + 1 - 0 ! |
find pthreads for gtest |
| 12 use system unicode data.patch | (download) |
cpp/ycm/CMakeLists.txt |
4 4 + 0 - 0 ! |
use unicode-data instead of embedded copies or downloads Upstream embeds the generated files in their release tarballs. As they are giant blobs which are impossible to review we will just use the script provided by upstream to regenerate them just with data we have already in the unicode-data package instead of trying to download |
| 13 use system whereami.patch | (download) |
cpp/ycm/tests/CMakeLists.txt |
7 1 + 6 - 0 ! |
use system whereami for running tests |
| 14 use system or home gopls.patch | (download) |
ycmd/completers/go/go_completer.py |
9 1 + 8 - 0 ! |
use system gopls or from current users go home gopls is packaged in Debian now, so we can use that, but as we supported picking it up from the users home we keep it. |
| 15 use system tssserver.patch | (download) |
ycmd/completers/typescript/typescript_completer.py |
33 12 + 21 - 0 ! |
use tsserver from node-typescript package We also increase the response timeout value here mostly for slow architectures like armel which flip-flop in terms of timeouts in the tests otherwise and from a user perspective a slow answer might still be better than a timeout. Although, natural selection will properly lead them to look elsewhere for more speed. . A timeout value of 30 is used in language_server_completer.py by upstream as well, so this doesn't seem completely off either. |
| 19 dont try to use thirdparty dir.patch | (download) |
.ycm_extra_conf.py |
36 1 + 35 - 0 ! |
don't try to use non-existent thirdparty directory We strip the thirdparty directory from the tarball to avoid shipping and using the various embedded copies upstream has. On the plus side: As we don't include them, we don't need to load them. |
| 20 use home tern.patch | (download) |
ycmd/completers/javascript/tern_completer.py |
17 6 + 11 - 0 ! |
debian doesn't have node-tern. this patch is making ycmd to use locally installed tern with `npm install tern` command. |
| 30 prepare unittests for autopkgtests.patch | (download) |
ycmd/tests/clang/debug_info_test.py |
4 2 + 2 - 0 ! |
use upstream unittest as autopkgtest Ideally we would run the tests (also) at build time, but quiet a few need to be disabled as Debian misses the language servers involved and it adds a gigantic set of build dependencies. . The changes itself are mostly teaching the tests who expect no global config as upstream has none (while Debian sets one) to ignore this specific setting. . Note that some tests are modified by earlier patches already if the change seemed related and fitting, so this is the final catch-all. |
| 31 ignore order of goto locations.patch | (download) |
ycmd/tests/clangd/subcommands_test.py |
3 2 + 1 - 0 ! |
ignore order of goto locations return by clangd Upstream has a fixed order of locations and this seems to work on all Debian architectures autopkgtest is run on except s390x for some reason. . For upstream the order is important in so far as order is an important user interface, but for us it is less of an issue and likely to trigger |
| 32 skip clangd alreadyresolved if too slow.patch | (download) |
ycmd/tests/clangd/subcommands_test.py |
9 8 + 1 - 0 ! |
skip clangd alreadyresolved test if too slow Most architectures run this test just fine, but Upstream considers this test already flaky applying a WithRetry to it, which re-runs the rest 20 times. That tends to be enough even for the slower architectures like armel, but not always, and so this test is too flaky to be used. . I keep it enabled for machines identifying as x86_64 through so it is run at least somewhere completely and of course every architecture can be (more or less) lucky and succeed the first time. . Ideally upstream would resolve the underlying problem through. |
| 33 ignore attribute error text in test.patch | (download) |
ycmd/tests/bindings/cpp_bindings_raises_exception_test.py |
54 26 + 28 - 0 ! |
do not check text of attributeerrors raised in tests For our purposes its good enough to know that an attribute error |
| 40 support text document sync kind.patch | (download) |
ycmd/completers/language_server/language_server_completer.py |
27 17 + 10 - 0 ! |
support textdocumentsync: kind as well as options ycmd supports the Options dict value, but while actually referring to being also potentially an int in a comment, its not supported. . This commit changes the default value to None instead of Full as the specification defines and sends the notification for both possible values also actually using the _sync_type value previously set. . I don't see a reference being made to 'Full' vs 'Incremental' in the code, so I pretend I didn't notice and let ycmd do its thing as before. . Tested with fortran-language-server as defined in lsp-examples which does not update the diagnostics on save as advertised otherwise. Upstream has a pull request actually to use the Options value supported by ycmd currently, but it might not be the only server following the spec which still allows it. . For upstreaming this should come with a test, but sadly the existing code had no tests for it either. References: https://github.com/hansec/fortran-language-server/pull/183 https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization |
| 45 as core version.patch | (download) |
CORE_VERSION |
2 1 + 1 - 0 ! |
keep core_version at 45 Upstream increased the core version for the Java completer and yet again for the Clang updates, but the first we don't even support and the later we do not embed. So the CORE_VERSION is here used to "force" users to recompile their core, but in Debian we don't need this, we can just ship a new version of the package and the users will have the updated core, no need for manual intervention. . So, the increase would just introduce a strong coupling between ycmd and vim-youcompleteme updates and so we stick to 45 for now. |
| 50 provide generic ycm extra conf py.patch | (download) |
.ycm_extra_conf.py |
51 9 + 42 - 0 ! |
this patch converts projets ycm_extra_conf.py to a generic configuration for semantic completion. This patch also sets global ycm_extra_conf in default_settings.json |
| 51 prepare for Debian default LSP completers.patch | (download) |
ycmd/server_state.py |
17 15 + 2 - 0 ! |
prepare for default lsp completers set by debian Debian ships some LSP completers we can enable out of the box for easier access even if upstream doesn't official support them and only provides some unofficial instructions via https://github.com/ycm-core/lsp-examples . This patch add just the infrastructure, the LSP completers are added individually in later patches. |
| 60 support ccls as builtin lsp.patch | (download) |
ycmd/completers/c/hook.py |
14 1 + 13 - 0 ! |
allow ccls to be used as c/c++ completer ycmd supports language servers via a common protocol, but as Debian's packaging is built with libclang-based completer enabled which can't be disabled upstream as in that case you would just built it without support we add a user option to disable it and hence allow the use of ccls as the third option for C/C++ completer |
| 61 support fortran language server as builtin lsp.patch | (download) |
ycmd/server_state.py |
5 5 + 0 - 0 ! |
adds fortran language server to default set |
