From a7f7c921419079981bf38787e3ad4c5a9dd2b387 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Sun, 2 Jul 2023 21:41:19 +0000
Subject: [PATCH] main/cmake: add a patch to handle protobuf23 version renaming

---
 main/cmake/APKBUILD              |  7 ++++--
 main/cmake/proto-23-rename.patch | 37 ++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 2 deletions(-)
 create mode 100644 main/cmake/proto-23-rename.patch

diff --git a/main/cmake/APKBUILD b/main/cmake/APKBUILD
index 917ea3c6ccf8..ba8a1e4291f4 100644
--- a/main/cmake/APKBUILD
+++ b/main/cmake/APKBUILD
@@ -2,7 +2,7 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=cmake
 pkgver=3.26.4
-pkgrel=1
+pkgrel=2
 pkgdesc="Cross-platform, open-source make system"
 url="https://www.cmake.org/"
 arch="all"
@@ -33,7 +33,9 @@ case $pkgver in
 *.*.*.*) _v=v${pkgver%.*.*};;
 *.*.*) _v=v${pkgver%.*};;
 esac
-source="https://www.cmake.org/files/$_v/cmake-$pkgver.tar.gz"
+source="https://www.cmake.org/files/$_v/cmake-$pkgver.tar.gz
+	proto-23-rename.patch
+	"
 options="!check"
 
 build() {
@@ -85,4 +87,5 @@ vim() {
 
 sha512sums="
 fe817c8d5e247db3f0a9a58ee37c466a47220100d9e90711cd5d06c223cef87e41d1a756e75d1537e5f8cd010dcb8971cbeab4684b1ac12bcecf84bf7b720167  cmake-3.26.4.tar.gz
+9210cd7821d63871b970b046fb6b8b4771806517829fbb58b17ef3ed611b6d4a5a310f35eb486c1c5d19bcd19b2f3ad177f121a1a5448b44241ea5a50c96fc52  proto-23-rename.patch
 "
diff --git a/main/cmake/proto-23-rename.patch b/main/cmake/proto-23-rename.patch
new file mode 100644
index 000000000000..43265243d468
--- /dev/null
+++ b/main/cmake/proto-23-rename.patch
@@ -0,0 +1,37 @@
+Patch-Source: https://gitlab.kitware.com/cmake/cmake/-/commit/fc7dcc6a24ffd33b780104ebd9dbb115d306827e
+--
+From fc7dcc6a24ffd33b780104ebd9dbb115d306827e Mon Sep 17 00:00:00 2001
+From: Jannik Beyerstedt <beyerstedt@consider-it.de>
+Date: Mon, 19 Jun 2023 17:29:47 +0200
+Subject: [PATCH] FindProtobuf: Support new version number scheme
+
+Protobuf changed it's version number scheme with version 21. The first number
+(usually the major version) is not synchronized between compiler and library
+version, but the second and third number are. See
+https://protobuf.dev/news/2022-05-06/ for more details.
+
+Fixes: #24847
+---
+ Modules/FindProtobuf.cmake | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Modules/FindProtobuf.cmake b/Modules/FindProtobuf.cmake
+index c73a2d81ab0..b046fcc7334 100644
+--- a/Modules/FindProtobuf.cmake
++++ b/Modules/FindProtobuf.cmake
+@@ -499,7 +499,11 @@ if(Protobuf_INCLUDE_DIR)
+   math(EXPR _PROTOBUF_MAJOR_VERSION "${Protobuf_LIB_VERSION} / 1000000")
+   math(EXPR _PROTOBUF_MINOR_VERSION "${Protobuf_LIB_VERSION} / 1000 % 1000")
+   math(EXPR _PROTOBUF_SUBMINOR_VERSION "${Protobuf_LIB_VERSION} % 1000")
+-  set(Protobuf_VERSION "${_PROTOBUF_MAJOR_VERSION}.${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
++  if (_PROTOBUF_MINOR_VERSION GREATER_EQUAL "21")
++    set(Protobuf_VERSION "${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
++  else()
++    set(Protobuf_VERSION "${_PROTOBUF_MAJOR_VERSION}.${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
++  endif()
+ 
+   if(Protobuf_DEBUG)
+     message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+-- 
+GitLab
+
-- 
GitLab