@aliu this patch is depended on DirectiveTree class from pseudo-parser, what removed after drop the pseudo-parser. If deleted DirectiveTree can work without the pseudo-parser - give me please commit hash, where this class is present in clangd, and I try to rebase it
Search Criteria
Package Details: clangd-opt-git 20.r19078.g1f26ac10ca1b-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/clangd-opt-git.git (read-only, click to copy) |
---|---|
Package Base: | clangd-opt-git |
Description: | Trunk version of standalone clangd binary, with custom patches (look AUR page or PKGBUILD comments) |
Upstream URL: | https://llvm.org/ |
Licenses: | Apache-2.0 WITH LLVM-exception |
Conflicts: | clangd-opt |
Provides: | clangd-opt |
Replaces: | clangd-opt |
Submitter: | sr.team |
Maintainer: | sr.team |
Last Packager: | sr.team |
Votes: | 2 |
Popularity: | 0.001352 |
First Submitted: | 2024-03-15 10:25 (UTC) |
Last Updated: | 2025-02-08 04:34 (UTC) |
Dependencies (18)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc11-libsAUR, gcc-libs-snapshotAUR)
- glibc (glibc-gitAUR, glibc-linux4AUR, glibc-eacAUR)
- ncurses (ncurses-gitAUR)
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compat)
- zstd (zstd-gitAUR, zstd-staticAUR)
- cmake (cmake-gitAUR, cmake3AUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- libedit (make)
- libffi (libffi-gitAUR) (make)
- libxml2 (libxml2-gitAUR, libxml2-2.9AUR) (make)
- ncurses (ncurses-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR, ninja-jobserverAUR) (make)
- patch (patch-gitAUR) (make)
- python-psutil (make)
- python-setuptools (make)
- python-sphinx (python-sphinx-gitAUR) (make)
- zlib (zlib-ng-compat-gitAUR, zlib-gitAUR, zlib-ng-compat) (make)
- zstd (zstd-gitAUR, zstd-staticAUR) (make)
Required by (0)
Sources (22)
- doxygen-extra-render-trunk.patch
- doxygen-more-fields.patch
- git+https://github.com/llvm/llvm-project.git#branch=main
- hover-bit-fields-mask.patch
- hover-doxygen-trunk.patch
- hover-field-idx.patch
- hover-hex-formats.patch
- hover-layout-everyhere.patch
- hover-no-defs.patch
- hover-record-paddings.patch
- hover-resolve-forward-params.patch
- hover-virt-offset.patch
- implement-abstract-class.patch
- inlay-hints-blockend-linelimit10.patch
- inlay-hints-hide-deduced-types-ignore-evident.patch
- inlay-hints-paddings.patch
- lsp-codelens.patch
- lsp-preprocessor-folding.patch
- lsp-remove-files-from-cdb.patch
- postfix-completion-trunk.patch
- refactor-extract-function.patch
- resolve-incomplete-header-includes.patch
sr.team commented on 2025-01-01 19:30 (UTC)
aliu commented on 2025-01-01 19:18 (UTC)
Not really, though. It built in October when I rebased the DirectiveTree patches against the current DirectiveTree files and removed occurences of "pseudo::".
sr.team commented on 2025-01-01 16:59 (UTC)
@aliu, yes, I see. But this patch looks like need more changes to remove the pseudo-parser dependency
aliu commented on 2025-01-01 16:55 (UTC) (edited on 2025-01-01 16:57 (UTC) by aliu)
Hey there, happy new year! Did you see my comment about the preprocessor folding patch?
Edit: Nevermind, I saw that you added it back in November. Thanks for maintaining this! Hopefully these patches can be in the official clangd in 2025.
aliu commented on 2024-10-05 03:07 (UTC)
I'm new to this, but isn't the preprocessor folding patch retainable if we simply removed the pseudo:: namespace from the new function? The relevant header file was copied to support while clang-pseudo was removed.
sr.team commented on 2024-08-08 00:40 (UTC)
@aliu It appears that this issue occurred while resolving a merge conflict. Thank you for bringing it to my attention!
aliu commented on 2024-08-07 13:42 (UTC)
You're the (wonderful!) programmer here, but I do wonder about the point of the recent hotfix. Wouldn't redefining the variable ThisLocSkipped lead to a violation of the ODR (One-Definition Rule) when compiling?
aliu commented on 2024-04-20 14:59 (UTC)
Oops, well thanks for the links. I don't think we should have every package depend on glibc and gcc-libs though; the link you provided also says
In some cases this is not necessary and may or may not be listed, for example glibc cannot be uninstalled as every system needs some C library
I don't think requiring every package to add gcc-libs and glibc in depends is a good idea (and I think we all agree on not needing duplication between makedepends and depends). Anyways, I agree that zlib can be added back.
MarsSeed commented on 2024-04-20 14:53 (UTC)
@aliu, your recommendation is based on outdated guidelines.
Current guidelines say:
The depends array should list all direct first level dependencies even when some are already declared transitively.
Also, namcap, Arch's own package analysis tool complains if a package has ELF files that link to any other ELF file but don't declare those in the depends array - even if the libraries in question are gcc-libs or glibc.
Also as per above guidelines, zlib is needed in depends, even if zstd also links to it. namcap verifies this, as it also lists zlib as a needed direct dependency after its analysis.
@sr.team, please kindly add back gcc-libs, glibc and zlib to depends array, and bump pkgrel to 2 to ensure every user gets the updated PKGBUILD. Thank you in advance!
aliu commented on 2024-04-20 14:42 (UTC) (edited on 2024-04-20 14:43 (UTC) by aliu)
gcc-libs and glibc are in base and zlib is required by zstd, so the only dependencies this needs are ncurses and zstd. Also, dependencies in depends can be removed from makedepends.
Pinned Comments
sr.team commented on 2024-03-15 10:25 (UTC) (edited on 2025-02-08 04:57 (UTC) by sr.team)
This PKGBUILD build trunk version of clangd, and may apply some non-standard patches
Applying patches controls via enviroment variables (e.g.
CLANGD_DEFAULT_PATCH_STATE=y makepkg -si
)List of patches and environment variables to enable them
Toggle all below patches
CLANGD_DEFAULT_PATCH_STATE
:Apply user patches from
~/.config/clangd
. Patches must have extension*.patch
NOTE: This variable ignores the
CLANGD_DEFAULT_PATCH_STATE
variableCLANGD_USER_PATCHES
:For each of the following patches, set the corresponding environment variable to:
Show Doxygen comments in hover (D134130)
CLANGD_DOXYGEN
Resolve forwarded parameters in hover (D130265)
CLANGD_RESOLVEFWDPARAMS
Implement textDocument/codeLens (D91930)
It's also required patched
vscode-clangd
extension - vscode-clangd/46266b4adb106b5080f5c771099c777806a16adcCLANGD_CODELENS
Contextual postfix completions (D125224)
Demo: asciinema.org/a/rxyoicX44ya2jLDpdbNj3rVcC
CLANGD_POSTFIXCOMPLETION
Extract Function: add hoisting support (D138499)
CLANGD_EXTRACTFUNC
Add inlay hints for structure paddings
CLANGD_INLAYHINTSPADS
Add hex formats in
size
andoffset
fields on hover, when values more than 10CLANGD_HOVERINHEX
Show mask for bit fields on hover
Demo: Screen 1, Screen 2
CLANGD_HOVERBITFIELDSMASK
Show offset of virtual methods
Limitations: supports only Itanium and MS abi
CLANGD_HOVERVIRTOFF
Show layout hover info everyhere
CLANGD_HOVERLAYOUTEVERYHERE
Hide definition from hover info for functions and variables
CLANGD_HOVERNODEFS
Resolve the dependent type from its single instantiation (PR: 71279)
CLANGD_RESOLVEDEPTYPE
Increase minimal limit for BlockEnd inlay-hints to 10 lines (default is 2)
This disabled show BlockEnd inlay-hints for small functions (less than 10 lines)
CLANGD_INLAYHINTSBLOCKEND
Resolve includes in non-self-contained headers
Limitations: AST for source must be loaded before open incomplete header
CLANGD_RESOLVEINCHEADERS
Add way to remove files from CDB via LSP
No need in many cases. Useful only in multi project workspaces with patched client
CLANGD_LSPREMOVEFROMCDB
Show total record paddings in hover
CLANGD_HOVERRECORDPAD
Add tweak for implementing abstract class (D94942)
CLANGD_IMPL_ABSTRACT_CLASS
Hover information: Show fields indexes in layout:
Offset: 8 bytes (index 1)
CLANGD_HOVERFIELDIDX
Inlay hints: Ignore evident types in deduced types
CLANGD_INLAYHINTSIGNOREEVIDENT
Implement simple folding of preprocessor branches (PR: 80592)
CLANGD_PREPROCESSOR_FOLDING