commit:     65f96213bd1cc2f77a9c5c5fb5665c91d8279909
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 26 03:02:27 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 26 03:03:39 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65f96213

sci-libs/flann: fix pkgconfig file format (no semicolons)

Not sure why but a semicolon seems to have started appearing more
recently, probably with a newer CMake version. Anyway, a problem
from the past resurfaced (in a slightly different way, but
same outcome).

flann's malformed pkgconfig file was causing consumers to be
underlinked against lz4 and libflann* (and usually fail to build).

Closes: https://bugs.gentoo.org/827263
Closes: https://bugs.gentoo.org/829398
Bug: https://bugs.gentoo.org/681898
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/flann-1.9.1-system-lz4-pkgconfig.patch   | 38 ++++++++++++++++++++++
 ...flann-1.9.1-r3.ebuild => flann-1.9.1-r4.ebuild} |  3 +-
 2 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch 
b/sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch
new file mode 100644
index 000000000000..35ea0d0e9841
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch
@@ -0,0 +1,38 @@
+https://github.com/flann-lib/flann/pull/480
+
+https://bugs.gentoo.org/827263
+https://bugs.gentoo.org/829398
+https://bugs.gentoo.org/681898
+
+From 25eb56ec78472bd419a121c6905095a793cf8992 Mon Sep 17 00:00:00 2001
+From: Mike Purvis <[email protected]>
+Date: Fri, 9 Jul 2021 15:53:06 +0000
+Subject: [PATCH] Use string(JOIN) to avoid semicolons in pc file.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.12)
+ 
+ if(COMMAND cmake_policy)
+     cmake_policy(SET CMP0003 NEW)
+@@ -148,6 +148,7 @@ endif(BUILD_CUDA_LIB)
+ 
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(LZ4 REQUIRED liblz4)
++string(JOIN " " LZ4_STATIC_LDFLAGS_STR ${LZ4_STATIC_LDFLAGS})
+ 
+ #set the C/C++ include path to the "include" directory
+ include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp)
+--- a/cmake/flann.pc.in
++++ b/cmake/flann.pc.in
+@@ -8,6 +8,6 @@ Name: @PROJECT_NAME@
+ Description: @PKG_DESC@
+ Version: @FLANN_VERSION@
+ Requires: @PKG_EXTERNAL_DEPS@
+-Libs: -L${libdir} @LZ4_STATIC_LDFLAGS@ -lflann -lflann_cpp
++Libs: -L${libdir} @LZ4_STATIC_LDFLAGS_STR@ -lflann -lflann_cpp
+ Cflags: -I${includedir}
+ 
+

diff --git a/sci-libs/flann/flann-1.9.1-r3.ebuild 
b/sci-libs/flann/flann-1.9.1-r4.ebuild
similarity index 96%
rename from sci-libs/flann/flann-1.9.1-r3.ebuild
rename to sci-libs/flann/flann-1.9.1-r4.ebuild
index e53d428ee73c..49a8a1c514e2 100644
--- a/sci-libs/flann/flann-1.9.1-r3.ebuild
+++ b/sci-libs/flann/flann-1.9.1-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -37,6 +37,7 @@ PATCHES=(
        "${FILESDIR}"/${P}-cmake-3.11{,-1}.patch # bug 678030
        "${FILESDIR}"/${P}-cuda-9.patch
        "${FILESDIR}"/${P}-system-lz4.patch # bug 681898
+       "${FILESDIR}"/flann-1.9.1-system-lz4-pkgconfig.patch
 )
 
 pkg_pretend() {

Reply via email to