Accepting request 1188414 from devel:tools:building

OBS-URL: https://build.opensuse.org/request/show/1188414
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=78
This commit is contained in:
Ana Guerrero 2024-07-19 13:25:09 +00:00 committed by Git OBS Bridge
commit 3ef57ec4a6
3 changed files with 39 additions and 0 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Jul 18 09:28:12 UTC 2024 - Ana Guerrero <ana.guerrero@suse.com>
- Add patch to fix build with fmt 11: fmt_fix.patch
-------------------------------------------------------------------
Mon Jul 1 07:34:26 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@ -31,6 +31,8 @@ URL: https://ccache.dev/
Source0: https://github.com/ccache/ccache/releases/download/v%{version}/ccache-%{version}.tar.xz
Source1: https://github.com/ccache/ccache/releases/download/v%{version}/ccache-%{version}.tar.xz.asc
Source2: %{name}.keyring
# PATCH-FIX-UPSTREAM
Patch0: fmt_fix.patch
BuildRequires: cmake
BuildRequires: doctest-devel
BuildRequires: fmt-devel

32
fmt_fix.patch Normal file
View File

@ -0,0 +1,32 @@
Includes two commits:
https://github.com/ccache/ccache/commit/71f772e9d3d4f8045cfa7bccd03bd21c1e8fbef1
https://github.com/ccache/ccache/commit/3b09afc5f792f0bd0a15cf6b8408ea40eb069787
diff --git a/cmake/FindFmt.cmake b/cmake/FindFmt.cmake
index 55126a31..7c39291e 100644
--- a/cmake/FindFmt.cmake
+++ b/cmake/FindFmt.cmake
@@ -3,11 +3,20 @@ mark_as_advanced(FMT_INCLUDE_DIR FMT_LIBRARY)
if(DEP_FMT STREQUAL "BUNDLED")
message(STATUS "Using bundled Fmt as requested")
else()
- find_path(FMT_INCLUDE_DIR fmt/core.h)
+ find_path(FMT_INCLUDE_DIR NAMES fmt/base.h fmt/core.h)
find_library(FMT_LIBRARY fmt)
if(FMT_INCLUDE_DIR AND FMT_LIBRARY)
- file(READ "${FMT_INCLUDE_DIR}/fmt/core.h" _fmt_core_h)
- string(REGEX MATCH "#define FMT_VERSION ([0-9]+)" _ "${_fmt_core_h}")
+ if(EXISTS "${FMT_INCLUDE_DIR}/fmt/base.h")
+ set(_fmt_h base.h)
+ else()
+ set(_fmt_h core.h)
+ endif()
+ file(READ "${FMT_INCLUDE_DIR}/fmt/${_fmt_h}" _fmt_h_content)
+ string(REGEX MATCH "#define FMT_VERSION ([0-9]+)" _ "${_fmt_h_content}")
+ if("${CMAKE_MATCH_0}" STREQUAL "")
+ message(FATAL_ERROR "FMT_VERSION not found")
+ return()
+ endif()
math(EXPR _fmt_major "${CMAKE_MATCH_1} / 10000")
math(EXPR _fmt_minor "${CMAKE_MATCH_1} / 100 % 100")
math(EXPR _fmt_patch "${CMAKE_MATCH_1} % 100")