commit:     e1b78fe7fbe91f171bf2ff36af6b345913ca80e0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 19:27:41 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 19:35:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1b78fe7

dev-libs/kosmindoormap: Fix build against >=dev-libs/protobuf-23.3

Bug: https://bugs.gentoo.org/909081
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kosmindoormap-23.04.3-protobuf-23-1.patch      | 31 +++++++++++++++++++
 .../kosmindoormap-23.04.3-protobuf-23-2.patch      | 35 ++++++++++++++++++++++
 .../kosmindoormap/kosmindoormap-23.04.3.ebuild     |  2 ++
 3 files changed, 68 insertions(+)

diff --git 
a/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch 
b/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch
new file mode 100644
index 000000000000..427abde08a81
--- /dev/null
+++ b/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch
@@ -0,0 +1,31 @@
+From eac8c57528b5ef8e694df4072ed7a60be799c270 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <[email protected]>
+Date: Wed, 5 Jul 2023 16:16:02 +0200
+Subject: [PATCH] Use protobuf's cmake config if available
+
+---
+ CMakeLists.txt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 466c9add..da9881cd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -73,7 +73,13 @@ find_package(BISON REQUIRED)
+ set_package_properties(BISON PROPERTIES PURPOSE "MapCSS parser for indoor map 
rendering.")
+ 
+ if (NOT WIN32)
+-    find_package(Protobuf)
++    # try upstream cmake config first
++    set(protobuf_MODULE_COMPATIBLE ON)
++    find_package(Protobuf CONFIG)
++    if(NOT Protobuf_FOUND)
++    # fall back to cmake's protobuf module
++       find_package(Protobuf)
++    endif()
+     set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing 
of OSM PBF files.")
+ endif()
+ 
+-- 
+GitLab
+

diff --git 
a/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch 
b/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch
new file mode 100644
index 000000000000..965a8a9d82de
--- /dev/null
+++ b/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch
@@ -0,0 +1,35 @@
+From 6dfceab2bacef67ea27b4d1045100b6e0d2be430 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <[email protected]>
+Date: Wed, 5 Jul 2023 14:00:29 +0200
+Subject: [PATCH] Use protobuf cmake targets instead of variables
+
+Makes it compatible with protobuf's upstream cmake config, which is required 
for protobuf>=22 as the cmake provided module is broken with it.
+---
+ src/osm/io/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/osm/io/CMakeLists.txt b/src/osm/io/CMakeLists.txt
+index bf1d02c9..ec95f7e5 100644
+--- a/src/osm/io/CMakeLists.txt
++++ b/src/osm/io/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ # SPDX-FileCopyrightText: 2020-2022 Volker Krause <[email protected]>
+ # SPDX-License-Identifier: BSD-2-Clause
+ 
+-if (Protobuf_FOUND AND Protobuf_PROTOC_EXECUTABLE)
++if (Protobuf_FOUND AND TARGET protobuf::protoc)
+     PROTOBUF_GENERATE_CPP(pbf_srcs pbf_hdrs
+         ../pbf/fileformat.proto
+         ../pbf/osmformat.proto
+@@ -19,7 +19,7 @@ if (Protobuf_FOUND AND Protobuf_PROTOC_EXECUTABLE)
+     set_target_properties(KOSM_pbfioplugin PROPERTIES 
POSITION_INDEPENDENT_CODE ON)
+     target_link_libraries(KOSM_pbfioplugin
+         PUBLIC KOSM
+-        PRIVATE ${Protobuf_LIBRARIES} ZLIB::ZLIB
++        PRIVATE protobuf::libprotobuf ZLIB::ZLIB
+     )
+ endif()
+ 
+-- 
+GitLab
+

diff --git a/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild 
b/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild
index 7d84056f235e..a6f7915d7011 100644
--- a/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild
+++ b/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild
@@ -38,6 +38,8 @@ BDEPEND="
        sys-devel/flex
 "
 
+PATCHES=( "${FILESDIR}"/${P}-protobuf-23-{1,2}.patch ) # bug 909081, in 23.08.0
+
 src_configure() {
        local mycmakeargs=(
                -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it

Reply via email to