Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
---|---|---|---|---|---|---|
61-support-fortran-language-server-as-builtin-lsp.patch | Adds fortran language server to default set | invalid | ||||
00-use-python3-shebang.patch | Adds missing script headers | not-needed | ||||
01-add-marker-to-allow-skipping-tests-on-Debian.patch | 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. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
10-use-system-clang-and-llvm.patch | Use Debian's llvm | not-needed | ||||
11-use-system-gtest.patch | Find pthreads for gtest | David Kalnischkies <donkult@debian.org> | not-needed | |||
12-use-system-unicode-data.patch | 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 |
David Kalnischkies <donkult@debian.org> | not-needed | |||
13-use-system-whereami.patch | Use system whereami for running tests | David Kalnischkies <donkult@debian.org> | not-needed | |||
14-use-system-or-home-gopls.patch | 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. |
not-needed | ||||
15-use-system-tssserver.patch | 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. |
not-needed | ||||
19-dont-try-to-use-thirdparty-dir.patch | 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. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
20-use-home-tern.patch | Debian doesn't have node-tern. This patch is making ycmd to use locally installed tern with `npm install tern` command. | not-needed | ||||
30-prepare-unittests-for-autopkgtests.patch | 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. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
31-ignore-order-of-goto-locations.patch | 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 with different clang versions, so we go the easy route of ignoring the order in this test. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
32-skip-clangd-alreadyresolved-if-too-slow.patch | 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. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
33-ignore-attribute-error-text-in-test.patch | Do not check text of AttributeErrors raised in tests For our purposes its good enough to know that an attribute error is triggered, upstream might consider a different solution. . The text change seems to be related to Python 3.11 – the new default in Debian. |
David Kalnischkies <donkult@debian.org> | no | |||
40-support-text-document-sync-kind.patch | 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. https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization |
David Kalnischkies <david@kalnischkies.de> | no | |||
45-as-core-version.patch | 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. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
50-provide-generic-ycm-extra-conf-py.patch | 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 |
not-needed | ||||
51-prepare-for-Debian-default-LSP-completers.patch | 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. |
David Kalnischkies <donkult@debian.org> | not-needed | |||
60-support-ccls-as-builtin-lsp.patch | 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 |
David Kalnischkies <donkult@debian.org> | not-needed | 2020-04-06 |