commit:     e06df280c75b0f0803954338466e5278d777f984
Author:     Johannes Huber <johu <AT> gmx <DOT> de>
AuthorDate: Tue May 27 20:00:44 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 28 10:04:46 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e06df280

dev-cpp/clucene: fix build w/ cmake 4

Closes: https://bugs.gentoo.org/951882
Signed-off-by: Johannes Huber <johu <AT> gmx.de>
Part-of: https://github.com/gentoo/gentoo/pull/42290
Closes: https://github.com/gentoo/gentoo/pull/42290
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/clucene/clucene-2.3.3.4-r11.ebuild         | 66 ++++++++++++++++++++++
 dev-cpp/clucene/files/clucene-2.3.3.4-cmake4.patch | 13 +++++
 2 files changed, 79 insertions(+)

diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r11.ebuild 
b/dev-cpp/clucene/clucene-2.3.3.4-r11.ebuild
new file mode 100644
index 000000000000..a1c9a1879b13
--- /dev/null
+++ b/dev-cpp/clucene/clucene-2.3.3.4-r11.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="${PN}"-core
+MY_P="${MY_PN}"-"${PV}"
+inherit cmake
+
+DESCRIPTION="High-performance, full-featured text search engine based off of 
lucene in C++"
+HOMEPAGE="https://clucene.sourceforge.net";
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${MY_PN}-unstable/$(ver_cut
 1-2)/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1 )"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="debug doc static-libs"
+RESTRICT="test"
+
+BDEPEND="doc? ( >=app-text/doxygen-1.4.2 )"
+
+DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
+
+PATCHES=(
+       "${FILESDIR}/${P}-fix-clang.patch"
+       "${FILESDIR}/${P}-contrib.patch"
+       "${FILESDIR}/${P}-pkgconfig.patch"
+       "${FILESDIR}/${P}-gcc6.patch"
+       "${FILESDIR}/${P}-gmtime.patch"
+       "${FILESDIR}/${P}-musl-pthread.patch"
+       "${FILESDIR}/${P}-libcxx.patch"
+       "${FILESDIR}/${P}-fix-binary-function.patch"
+       "${FILESDIR}/${P}-cmake4.patch"
+)
+
+src_prepare() {
+       cmake_src_prepare
+
+       # patch out installing bundled boost headers, we build against system 
one
+       sed -i \
+               -e '/ADD_SUBDIRECTORY (src\/ext)/d' \
+               CMakeLists.txt || die
+       # don't reference non-existent paths in .pc file (bug #950316)
+       sed -i \
+               -e 's%\(:\| -I\)${prefix}/include/CLucene/ext%%g' \
+               ./src/core/libclucene-core.pc.cmake || die
+       rm -rf src/ext || die
+}
+
+src_configure() {
+       # Disabled threads: see upstream bug
+       # https://sourceforge.net/p/clucene/bugs/197/
+       local mycmakeargs=(
+               -DENABLE_ASCII_MODE=OFF
+               -DENABLE_PACKAGING=OFF
+               -DDISABLE_MULTITHREADING=OFF
+               -DBUILD_CONTRIBS_LIB=ON
+               -DLIB_DESTINATION="${EPREFIX}/usr/$(get_libdir)"
+               -DENABLE_DEBUG=$(usex debug)
+               -DENABLE_CLDOCS=$(usex doc)
+               -DBUILD_STATIC_LIBRARIES=$(usex static-libs)
+       )
+
+       cmake_src_configure
+}

diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-cmake4.patch 
b/dev-cpp/clucene/files/clucene-2.3.3.4-cmake4.patch
new file mode 100644
index 000000000000..521d5a5b9262
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-cmake4.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4950ddbd..c98cab8e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,7 +17,7 @@ MATH(EXPR CLUCENE_INT_VERSION "(${CLUCENE_VERSION_MAJOR} * 
1000000) + (${CLUCENE
+ SET(CLUCENE_VERSION 
"${CLUCENE_VERSION_MAJOR}.${CLUCENE_VERSION_MINOR}.${CLUCENE_VERSION_REVISION}.${CLUCENE_VERSION_PATCH}")
+ 
+ #CMake 2.6+ is recommended to an improved Boost module
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0 FATAL_ERROR)
++CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0 FATAL_ERROR)
+ 
+ if(COMMAND cmake_policy)
+   cmake_policy(SET CMP0003 NEW)

Reply via email to