Debian Patches

Status for ycmd/0+20240401+gitda9c643+ds-1

Patch Description Author Forwarded Bugs Origin Last update
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 and clang While this patch is mostly about dropping the usage of the embedded clang
sources (which we strip from the upstream tarball as well) it also adapts
(so in effect mostly reverts) changes to the tests to have them support
multiple clang versions
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 Remove CORE_VERSION handling as Debian has dependencies Upstream bumps the CORE_VERSION whenever it wants to ensure that the
user rebuilds the C++ library parts as a user can pull updates for the
python parts, but not apply them for the C++ parts with a rebuild.
.
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, as that situation can not arise.
.
We do keep the CORE_VERSION for its other job through: Keeping in touch
with the editor parts (vim-youcompleteme), but with virtual provides
we are a lot more relaxed about versions working together than upstream
is to avoid forcing needless lockstep upgrades.
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
61-support-fortran-language-server-as-builtin-lsp.patch Adds fortran language server to default set yes 2022-05-13
62-support-gdscript-godot-as-builtin-lsp.patch Adds godot (gdscript) language server to default set yes 2020-09-20
63-support-debputy-as-builtin-lsp.patch Adds debian/ (debputy) language server to default set no 2024-03-24

All known versions for source package 'ycmd'

Links