From 45efd2745d573e9ff2661430c2c6c58f08933aa1 Mon Sep 17 00:00:00 2001 From: Oscar Lesta Date: Sun, 2 Mar 2025 04:46:55 -0300 Subject: [PATCH] youcompleteme: update to latest git revision (2024-12-16). Tested on beta5 64 bits. Unlike previous versions, that used to crash (#3665) either vim or gVim, this one seems to work fine with Python 3.10 and Vim 9.1. --- .../patches/ycmd-20230423.patchset | 23 --------- .../patches/ycmd_x86-20230423.patchset | 23 --------- .../youcompleteme-20241216-source2.patchset | 40 ++++++++++++++++ ...3.recipe => youcompleteme-20241216.recipe} | 47 +++++++++---------- 4 files changed, 62 insertions(+), 71 deletions(-) delete mode 100644 app-vim/youcompleteme/patches/ycmd-20230423.patchset delete mode 100644 app-vim/youcompleteme/patches/ycmd_x86-20230423.patchset create mode 100644 app-vim/youcompleteme/patches/youcompleteme-20241216-source2.patchset rename app-vim/youcompleteme/{youcompleteme-20230423.recipe => youcompleteme-20241216.recipe} (75%) diff --git a/app-vim/youcompleteme/patches/ycmd-20230423.patchset b/app-vim/youcompleteme/patches/ycmd-20230423.patchset deleted file mode 100644 index 5b60b24e0..000000000 --- a/app-vim/youcompleteme/patches/ycmd-20230423.patchset +++ /dev/null @@ -1,23 +0,0 @@ -From d3b425e747b9a8d13dd0a55f89fd6f0707b52e97 Mon Sep 17 00:00:00 2001 -From: PulkoMandy -Date: Sat, 14 Jan 2023 19:24:00 +0100 -Subject: Use system libclang - - -diff --git a/ycmd/utils.py b/ycmd/utils.py -index 74c352b..3b7b956 100644 ---- a/ycmd/utils.py -+++ b/ycmd/utils.py -@@ -28,8 +28,7 @@ import threading - - LOGGER = logging.getLogger( 'ycmd' ) - ROOT_DIR = os.path.normpath( os.path.join( os.path.dirname( __file__ ), '..' ) ) --DIR_OF_THIRD_PARTY = os.path.join( ROOT_DIR, 'third_party' ) --LIBCLANG_DIR = os.path.join( DIR_OF_THIRD_PARTY, 'clang', 'lib' ) -+LIBCLANG_DIR = "/system/lib" - if hasattr( os, 'add_dll_directory' ): - os.add_dll_directory( LIBCLANG_DIR ) - --- -2.37.3 - diff --git a/app-vim/youcompleteme/patches/ycmd_x86-20230423.patchset b/app-vim/youcompleteme/patches/ycmd_x86-20230423.patchset deleted file mode 100644 index a58ae1785..000000000 --- a/app-vim/youcompleteme/patches/ycmd_x86-20230423.patchset +++ /dev/null @@ -1,23 +0,0 @@ -From d3b425e747b9a8d13dd0a55f89fd6f0707b52e97 Mon Sep 17 00:00:00 2001 -From: PulkoMandy -Date: Sat, 14 Jan 2023 19:24:00 +0100 -Subject: Use system libclang - - -diff --git a/ycmd/utils.py b/ycmd/utils.py -index 74c352b..3b7b956 100644 ---- a/ycmd/utils.py -+++ b/ycmd/utils.py -@@ -28,8 +28,7 @@ import threading - - LOGGER = logging.getLogger( 'ycmd' ) - ROOT_DIR = os.path.normpath( os.path.join( os.path.dirname( __file__ ), '..' ) ) --DIR_OF_THIRD_PARTY = os.path.join( ROOT_DIR, 'third_party' ) --LIBCLANG_DIR = os.path.join( DIR_OF_THIRD_PARTY, 'clang', 'lib' ) -+LIBCLANG_DIR = "/system/lib/x86" - if hasattr( os, 'add_dll_directory' ): - os.add_dll_directory( LIBCLANG_DIR ) - --- -2.37.3 - diff --git a/app-vim/youcompleteme/patches/youcompleteme-20241216-source2.patchset b/app-vim/youcompleteme/patches/youcompleteme-20241216-source2.patchset new file mode 100644 index 000000000..80bde1157 --- /dev/null +++ b/app-vim/youcompleteme/patches/youcompleteme-20241216-source2.patchset @@ -0,0 +1,40 @@ +From b2590b212b6518dbd160afcc46087ec91d3c0900 Mon Sep 17 00:00:00 2001 +From: Oscar Lesta +Date: Sun, 2 Mar 2025 04:41:29 -0300 +Subject: Use system libclang. + +Small rework over PulkoMandy's original patches. + +diff --git a/ycmd/utils.py b/ycmd/utils.py +index ce27754..cee0a46 100644 +--- a/ycmd/utils.py ++++ b/ycmd/utils.py +@@ -19,6 +19,7 @@ import copy + import json + import logging + import os ++import platform + import socket + import subprocess + import sys +@@ -28,8 +29,15 @@ import threading + + LOGGER = logging.getLogger( 'ycmd' ) + ROOT_DIR = os.path.normpath( os.path.join( os.path.dirname( __file__ ), '..' ) ) +-DIR_OF_THIRD_PARTY = os.path.join( ROOT_DIR, 'third_party' ) +-LIBCLANG_DIR = os.path.join( DIR_OF_THIRD_PARTY, 'clang', 'lib' ) ++ ++if sys.platform.startswith("haiku"): ++ LIBCLANG_DIR = "/system/lib" ++ if platform.machine() == 'BePC': ++ LIBCLANG_DIR = "/system/lib/x86" ++else: ++ DIR_OF_THIRD_PARTY = os.path.join( ROOT_DIR, 'third_party' ) ++ LIBCLANG_DIR = os.path.join( DIR_OF_THIRD_PARTY, 'clang', 'lib' ) ++ + if hasattr( os, 'add_dll_directory' ): + os.add_dll_directory( LIBCLANG_DIR ) + +-- +2.48.1 + diff --git a/app-vim/youcompleteme/youcompleteme-20230423.recipe b/app-vim/youcompleteme/youcompleteme-20241216.recipe similarity index 75% rename from app-vim/youcompleteme/youcompleteme-20230423.recipe rename to app-vim/youcompleteme/youcompleteme-20241216.recipe index 740324a8e..39a1f1b7e 100644 --- a/app-vim/youcompleteme/youcompleteme-20230423.recipe +++ b/app-vim/youcompleteme/youcompleteme-20241216.recipe @@ -16,31 +16,28 @@ languages\"), system to provide semantic completions for many other languages (Ruby, PHP \ etc.)." HOMEPAGE="https://ycm-core.github.io/YouCompleteMe/" -COPYRIGHT="2015-2023 YouCompleteMe contributors" +COPYRIGHT="2015-2024 YouCompleteMe contributors" LICENSE="GNU GPL v3" REVISION="1" -gitRevURI="78ba06ef21bfab9835ced9f4ba8ffdac1b975c40" +gitRevURI="131b1827354871a4e984c1660b6af0fefca755c3" SOURCE_URI="https://github.com/ycm-core/YouCompleteMe/archive/$gitRevURI.zip" SOURCE_DIR="YouCompleteMe-$gitRevURI" -CHECKSUM_SHA256="50484566e2489f78adce211860cc7621e0a3901f0d8d280c15f7f9b6bdd1880d" -gitRevURI_2="45bc1c51ff28d66c510ad90388307e1f596a20a2" +CHECKSUM_SHA256="0f65ef821939f6222d29b5658ea42cdef6b40e5c5befce05abef8826711e1865" +gitRevURI_2="a51329a55f02ee3f16218c25ed5ee57b44cfc954" SOURCE_URI_2="https://github.com/ycm-core/ycmd/archive/$gitRevURI_2.zip" SOURCE_DIR_2="ycmd-$gitRevURI_2" -CHECKSUM_SHA256_2="505124a58f88a497a3fc22f57a2a009abe8f9e8e56a94b402f2134466c88f0f1" +CHECKSUM_SHA256_2="997f8a434b359d2980aa1b647feac59766da6de6cfc366b4fced1022ff5de9b9" -PATCHES_2="ycmd-20230423.patchset" -if [ "$secondaryArchSuffix" = _x86 ] ; then - PATCHES_2=""ycmd_x86-20230423.patchset"" -fi +PATCHES_2="youcompleteme-$portVersion-source2.patchset" -ARCHITECTURES="?all !x86_gcc2" -SECONDARY_ARCHITECTURES="?x86" +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" # Use these when updating the recipe for newer versions: -CLANG_VERSION=12 -PYTHON_VERSION=3.9 -pyVer=${PYTHON_VERSION//.} -VIM_VERSION=9.0 +CLANG_VERSION=16 +PYTHON_VERSION=3.10 +pythonPackage=python${PYTHON_VERSION//.} +VIM_VERSION=9.1 PROVIDES=" youcompleteme$secondaryArchSuffix = $portVersion @@ -50,14 +47,14 @@ PROVIDES=" REQUIRES=" haiku$secondaryArchSuffix cmd:vim >= $VIM_VERSION # set this to == once vim uses compat on its provides. - bottle_python$pyVer - certifi_python$pyVer - frozendict_python$pyVer - future_python$pyVer - requests_futures_python$pyVer - requests_python$pyVer - waitress_python$pyVer - watchdog_python$pyVer + bottle_$pythonPackage + certifi_$pythonPackage + frozendict_$pythonPackage + future_$pythonPackage + requests_futures_$pythonPackage + requests_$pythonPackage + waitress_$pythonPackage + watchdog_$pythonPackage lib:libabsl_base$secondaryArchSuffix lib:libclang$secondaryArchSuffix >= $CLANG_VERSION " @@ -95,13 +92,13 @@ BUILD() INSTALL() { - vimDir=vim${VIM_VERSION//.} # eg: vim90 + vimDir=vim${VIM_VERSION//.} # eg: vim91 mkdir -p $dataDir/vim/$vimDir cp -r autoload doc python plugin $dataDir/vim/$vimDir mkdir -p $dataDir/vim/$vimDir/third_party/ycmd - cp -r third_party/ycmd/ycm_core.cpython-$pyVer.so $dataDir/vim/$vimDir/third_party/ycmd + cp -r third_party/ycmd/ycm_core.cpython-${PYTHON_VERSION//.}.so $dataDir/vim/$vimDir/third_party/ycmd cp -r third_party/ycmd/ycmd $dataDir/vim/$vimDir/third_party/ycmd/ycmd cp third_party/ycmd/CORE_VERSION $dataDir/vim/$vimDir/third_party/ycmd/ }