From b1560ddaa1881ea24386ad1c4f88ad424a805219 Mon Sep 17 00:00:00 2001 From: S0AndS0 Date: Sun, 3 Aug 2025 14:29:19 -0700 Subject: [PATCH 1/3] maintainers: add S0AndS0 --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 78ebc75dae15..c80db2b2b494 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -22286,6 +22286,13 @@ githubId = 766350; name = "Richard Zetterberg"; }; + S0AndS0 = { + name = "S0AndS0"; + email = "S0AndS0@digital-mercenaries.com"; + github = "S0AndS0"; + githubId = 4116150; + matrix = "@s0ands0:matrix.org"; + }; s0me1newithhand7s = { name = "hand7s"; email = "s0me1newithhand7s@gmail.com"; From 23c6c0b189f205a43ee557491a60932c263e79dc Mon Sep 17 00:00:00 2001 From: S0AndS0 Date: Mon, 4 Aug 2025 06:45:04 -0700 Subject: [PATCH 2/3] ycmd: add maintainer S0AndS0 --- pkgs/by-name/yc/ycmd/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/yc/ycmd/package.nix b/pkgs/by-name/yc/ycmd/package.nix index 5fa89a4f4848..ebdf9b4874c1 100644 --- a/pkgs/by-name/yc/ycmd/package.nix +++ b/pkgs/by-name/yc/ycmd/package.nix @@ -127,6 +127,7 @@ stdenv.mkDerivation { rasendubi lnl7 mel + S0AndS0 ]; platforms = platforms.all; }; From 4d48a4e93b9ffbd291b2d9ca3315848e27eed800 Mon Sep 17 00:00:00 2001 From: S0AndS0 Date: Mon, 4 Aug 2025 14:19:04 -0700 Subject: [PATCH 3/3] ycmd: unstable-2023-11-06 -> unstable-2025-06-16 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update `version`, `rev`, and `sha256` because why not update if also fixing dependency renaming stuff. Add `legacy-cgi` due to breaking changes in Python updates; - https://pypi.org/project/legacy-cgi/ - https://peps.python.org/pep-0594/#deprecated-modules - https://peps.python.org/pep-0594/#cgi TLDR: `cgi` was deprecated in version `3.11` and aimed to be removed in `3.12` of Python due to; > “[...] designed poorly and are now near-impossible to fix (`cgi`) > [...]” Remove `disable` attribute at request of @SuperSandro2000 because Python2 is EOL Add symbolic link to address Issue #429485 with YouCompleteMe Vim plugin, however, beware there are _opportunities_ for future bug reports to be opened because of `ycmd` and YouCompleteMe version de-sync. Add `longDescription` with notes about YouCompleteMe errors when run-time and compile-time Python interpreters do not match. --- pkgs/by-name/yc/ycmd/package.nix | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/yc/ycmd/package.nix b/pkgs/by-name/yc/ycmd/package.nix index ebdf9b4874c1..520dd5f23461 100644 --- a/pkgs/by-name/yc/ycmd/package.nix +++ b/pkgs/by-name/yc/ycmd/package.nix @@ -21,15 +21,14 @@ stdenv.mkDerivation { pname = "ycmd"; - version = "0-unstable-2023-11-06"; - disabled = !python3.isPy3k; + version = "0-unstable-2025-06-16"; # required for third_party directory creation src = fetchFromGitHub { owner = "ycm-core"; repo = "ycmd"; - rev = "0607eed2bc211f88f82657b7781f4fe66579855b"; - hash = "sha256-SzEcMQ4lX7NL2/g9tuhA6CaZ8pX/DGs7Fla/gr+RcOU="; + rev = "9160b4eee67ea61c8501bad36d061bcec5340021"; + hash = "sha256-MSzYX1vXuhd4TNxUfHWaRu7O0r89az1XjZBIZ6B3gBk="; fetchSubmodules = true; }; @@ -46,6 +45,7 @@ stdenv.mkDerivation { boost libllvm.all libclang.all + legacy-cgi ] ++ [ jedi @@ -84,6 +84,9 @@ stdenv.mkDerivation { mkdir -p $out/bin ln -s $out/lib/ycmd/ycmd/__main__.py $out/bin/ycmd + ## Work-around CMake/Nix naming of `.so` output + ln -s $out/lib/ycmd/ycm_core.cpython-[[:digit:]-][^[:space:]]*-gnu${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/ycmd/ycm_core.so + # Copy everything: the structure of third_party has been known to change. # When linking our own libraries below, do so with '-f' # to clobber anything we may have copied here. @@ -120,6 +123,15 @@ stdenv.mkDerivation { meta = with lib; { description = "Code-completion and comprehension server"; + longDescription = '' + Note if YouCompleteMe Vim plugin complains with; + + > ImportError: Python version mismatch: module was compiled for Python 3.13, but the interpreter version is incompatible: 3.10.18 + + ... then set something similar to following in `programs.vim.extraConfig`; + + let g:ycm_server_python_interpreter = "${python3.interpreter}" + ''; mainProgram = "ycmd"; homepage = "https://github.com/ycm-core/ycmd"; license = licenses.gpl3;