Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ccls for openSUSE:Factory checked in 
at 2023-03-31 21:15:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ccls (Old)
 and      /work/SRC/openSUSE:Factory/.ccls.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ccls"

Fri Mar 31 21:15:36 2023 rev:17 rq:1075714 version:0.20220729

Changes:
--------
--- /work/SRC/openSUSE:Factory/ccls/ccls.changes        2022-08-01 
21:33:16.578151761 +0200
+++ /work/SRC/openSUSE:Factory/.ccls.new.31432/ccls.changes     2023-03-31 
21:15:37.854414655 +0200
@@ -1,0 +2,9 @@
+Thu Mar 30 21:52:42 UTC 2023 - Aaron Puchert <aaronpuch...@alice-dsl.net>
+
+- Backport upstream patch llvm16-optional-deprecation.patch to fix
+  build with LLVM 16.
+- Relax runtime requirements with Clang 16 and newer: the resource
+  directory doesn't depend on the patch-level version anymore.
+- Relax build requirements.
+
+-------------------------------------------------------------------

New:
----
  llvm16-optional-deprecation.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ccls.spec ++++++
--- /var/tmp/diff_new_pack.XvbjsW/_old  2023-03-31 21:15:38.502417667 +0200
+++ /var/tmp/diff_new_pack.XvbjsW/_new  2023-03-31 21:15:38.510417704 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ccls
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -26,6 +26,7 @@
 Group:          Development/Tools/IDE
 URL:            https://github.com/MaskRay/ccls
 Source0:        %{URL}/archive/%{version}/%{name}-%{version}.tar.gz
+Patch0:         
%{URL}/commit/6dc564f2a8608fff778a7d7e8ed0d5acd8d61e6b.patch#/llvm16-optional-deprecation.patch
 BuildRequires:  clang-devel >= 7.0
 BuildRequires:  cmake >= 3.8
 BuildRequires:  llvm-devel >= 7.0
@@ -37,7 +38,14 @@
 Provides:       bundled(siphash)
 # ccls hardcodes the paths to clang's resource dir and we thus must ensure that
 # it is always shipped with the same clang version that was used to build it
-%{requires_eq clang}
+%if %{pkg_vcmp clang-devel >= 16.0.0}
+# With Clang 16, the resource directory depends on the major version only and
+# doesn't change with patch-level updates.
+Requires:       libclang-cpp%{_llvm_sonum}
+%else
+# Previously the full version was used, so we need to require that same 
version.
+%{requires_eq libclang-cpp%{_llvm_sonum}}
+%endif
 # gcc > 7.0 is called gcc7- in Leap 15.2 and 15.3
 %if 0%{?sle_version} >= 150200
 BuildRequires:  gcc7-c++ >= 7.2
@@ -73,7 +81,6 @@
 %else
     -DCLANG_LINK_CLANG_DYLIB=OFF
 %endif
-# ccls currently consumes ~1GB of memory during compilation per thread
 %cmake_build
 
 %install

++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.XvbjsW/_old  2023-03-31 21:15:38.538417834 +0200
+++ /var/tmp/diff_new_pack.XvbjsW/_new  2023-03-31 21:15:38.546417871 +0200
@@ -2,7 +2,7 @@
 <constraints>
   <hardware>
     <memoryperjob>
-      <size unit="M">1000</size>
+      <size unit="M">700</size>
     </memoryperjob>
   </hardware>
 </constraints>

++++++ llvm16-optional-deprecation.patch ++++++
>From 6dc564f2a8608fff778a7d7e8ed0d5acd8d61e6b Mon Sep 17 00:00:00 2001
From: Fangrui Song <i...@maskray.me>
Date: Sat, 17 Dec 2022 20:04:54 -0800
Subject: [PATCH] Adapt llvm::Optional deprecation

---
 src/indexer.cc      |  4 +++-
 src/project.cc      | 11 +++++++----
 src/sema_manager.cc |  4 +++-
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/indexer.cc b/src/indexer.cc
index d5fe7da2c..83b77a201 100644
--- a/src/indexer.cc
+++ b/src/indexer.cc
@@ -1097,7 +1097,9 @@ class IndexPPCallbacks : public PPCallbacks {
   void InclusionDirective(SourceLocation hashLoc, const Token &tok,
                           StringRef included, bool isAngled,
                           CharSourceRange filenameRange,
-#if LLVM_VERSION_MAJOR >= 15 // llvmorg-15-init-7692-gd79ad2f1dbc2
+#if LLVM_VERSION_MAJOR >= 16 // llvmorg-16-init-15080-g854c10f8d185
+                          OptionalFileEntryRef fileRef,
+#elif LLVM_VERSION_MAJOR >= 15 // llvmorg-15-init-7692-gd79ad2f1dbc2
                           llvm::Optional<FileEntryRef> fileRef,
 #else
                           const FileEntry *file,
diff --git a/src/project.cc b/src/project.cc
index c02bd6b67..b1b7f557c 100644
--- a/src/project.cc
+++ b/src/project.cc
@@ -391,11 +391,14 @@ void Project::loadDirectory(const std::string &root, 
Project::Folder &folder) {
       fwrite(input.c_str(), input.size(), 1, fout);
       fclose(fout);
     }
-    std::array<Optional<StringRef>, 3> redir{StringRef(stdinPath),
-                                             StringRef(path), StringRef()};
+#if LLVM_VERSION_MAJOR >= 16 // llvmorg-16-init-12589-ge748db0f7f09
+    std::array<std::optional<StringRef>, 3>
+#else
+    std::array<Optional<StringRef>, 3>
+#endif
+        redir{StringRef(stdinPath), StringRef(path), StringRef()};
     std::vector<StringRef> args{g_config->compilationDatabaseCommand, root};
-    if (sys::ExecuteAndWait(args[0], args, llvm::None, redir, 0, 0, &err_msg) <
-        0) {
+    if (sys::ExecuteAndWait(args[0], args, {}, redir, 0, 0, &err_msg) < 0) {
       LOG_S(ERROR) << "failed to execute " << args[0].str() << " "
                    << args[1].str() << ": " << err_msg;
       return;
diff --git a/src/sema_manager.cc b/src/sema_manager.cc
index a7b6f8cab..14f303b5f 100644
--- a/src/sema_manager.cc
+++ b/src/sema_manager.cc
@@ -179,7 +179,9 @@ class StoreInclude : public PPCallbacks {
   void InclusionDirective(SourceLocation hashLoc, const Token &includeTok,
                           StringRef fileName, bool isAngled,
                           CharSourceRange filenameRange,
-#if LLVM_VERSION_MAJOR >= 15 // llvmorg-15-init-7692-gd79ad2f1dbc2
+#if LLVM_VERSION_MAJOR >= 16 // llvmorg-16-init-15080-g854c10f8d185
+                          OptionalFileEntryRef fileRef,
+#elif LLVM_VERSION_MAJOR >= 15 // llvmorg-15-init-7692-gd79ad2f1dbc2
                           llvm::Optional<FileEntryRef> fileRef,
 #else
                           const FileEntry *file,

Reply via email to