dev-cpp/lucene++: add 3.0.9

Closes: https://bugs.gentoo.org/946534
Closes: https://bugs.gentoo.org/947796
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-04-09 07:52:49 +01:00
parent 870542214e
commit 9c3ff286d4
4 changed files with 142 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST lucene++-3.0.7.tar.gz 2013570 BLAKE2B 26abb1a2fa2a24d7240505f11639c078744313541b4993ed84e4d0129fda74346e841f0c4c7552e58a15dd492af9ffd33ea66866c8e6810cd41e5d675833ce79 SHA512 92f3bba320980673cc64c983616aa38d25b44ea811237ed226741b892757fb8151e4f833aa58a18dbe7a0c9a899d94e828aa15e6d7b48a69ab730d1d772db220
DIST lucene++-3.0.9.tar.gz 2458287 BLAKE2B cbc6c32bd23525ad53fbcf500628f1806496d7f0575ee33baf0bc189d2ea5710334d07b23869e9b3b205bfa229400bc09c108ba6919e2b83bf0c6259e0a88564 SHA512 220fe1b46518018d176ae16434f03b1453fc345d8d552a294d1af927ea4ab69a83ee4b03c82938e648edaa3e7064526ca047fc86e1c71743b0958b520d59e225

View File

@@ -0,0 +1,81 @@
https://github.com/luceneplusplus/LucenePlusPlus/commit/e6a376836e5c891577eae6369263152106b9bc02
From e6a376836e5c891577eae6369263152106b9bc02 Mon Sep 17 00:00:00 2001
From: Christian Heusel <christian@heusel.eu>
Date: Tue, 21 Jan 2025 01:01:58 +0100
Subject: [PATCH] Migrate to boost::asio::io_context
The code previously used the deprecated (and with bost 1.87.0 removed)
`boost::asio::io_service`, which used to be an alias to `io_context`.
The new version heavily changes the `io_context` API and therefore is no
the old interface was removed.
Fixes https://github.com/luceneplusplus/LucenePlusPlus/issues/208
Signed-off-by: Christian Heusel <christian@heusel.eu>
---
include/lucene++/ThreadPool.h | 10 ++++++----
src/core/util/ThreadPool.cpp | 9 +++++----
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/include/lucene++/ThreadPool.h b/include/lucene++/ThreadPool.h
index dc6446ff..175ac8ad 100644
--- a/include/lucene++/ThreadPool.h
+++ b/include/lucene++/ThreadPool.h
@@ -14,7 +14,9 @@
namespace Lucene {
-typedef boost::shared_ptr<boost::asio::io_service::work> workPtr;
+
+typedef boost::asio::io_context io_context_t;
+typedef boost::asio::executor_work_guard<io_context_t::executor_type> work_t;
/// A Future represents the result of an asynchronous computation. Methods are provided to check if the computation
/// is complete, to wait for its completion, and to retrieve the result of the computation. The result can only be
@@ -51,8 +53,8 @@ class ThreadPool : public LuceneObject {
LUCENE_CLASS(ThreadPool);
protected:
- boost::asio::io_service io_service;
- workPtr work;
+ io_context_t io_context;
+ work_t work;
boost::thread_group threadGroup;
static const int32_t THREADPOOL_SIZE;
@@ -64,7 +66,7 @@ class ThreadPool : public LuceneObject {
template <typename FUNC>
FuturePtr scheduleTask(FUNC func) {
FuturePtr future(newInstance<Future>());
- io_service.post(boost::bind(&ThreadPool::execute<FUNC>, this, func, future));
+ boost::asio::post(io_context, boost::bind(&ThreadPool::execute<FUNC>, this, func, future));
return future;
}
diff --git a/src/core/util/ThreadPool.cpp b/src/core/util/ThreadPool.cpp
index 8086d8b1..116f521c 100644
--- a/src/core/util/ThreadPool.cpp
+++ b/src/core/util/ThreadPool.cpp
@@ -14,15 +14,16 @@ Future::~Future() {
const int32_t ThreadPool::THREADPOOL_SIZE = 5;
-ThreadPool::ThreadPool() {
- work.reset(new boost::asio::io_service::work(io_service));
+ThreadPool::ThreadPool()
+ :
+ work(boost::asio::make_work_guard(io_context))
+{
for (int32_t i = 0; i < THREADPOOL_SIZE; ++i) {
- threadGroup.create_thread(boost::bind(&boost::asio::io_service::run, &io_service));
+ threadGroup.create_thread(boost::bind(&boost::asio::io_context::run, &io_context));
}
}
ThreadPool::~ThreadPool() {
- work.reset(); // stop all threads
threadGroup.join_all(); // wait for all competition
}

View File

@@ -0,0 +1,24 @@
https://github.com/luceneplusplus/LucenePlusPlus/commit/f40f59c6e169b4e16b7a6439ecb26a629c6540d1
From f40f59c6e169b4e16b7a6439ecb26a629c6540d1 Mon Sep 17 00:00:00 2001
From: Sergey Fedorov <vital.had@gmail.com>
Date: Thu, 14 Mar 2024 20:37:34 +0800
Subject: [PATCH] Fix install path for liblucene++.pc
---
src/config/core/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/config/core/CMakeLists.txt b/src/config/core/CMakeLists.txt
index e5691f54..69cfefcc 100644
--- a/src/config/core/CMakeLists.txt
+++ b/src/config/core/CMakeLists.txt
@@ -9,7 +9,7 @@ if(NOT WIN32)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/liblucene++.pc"
- DESTINATION "${LIB_DESTINATION}/pkgconfig")
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()

View File

@@ -0,0 +1,36 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="LucenePlusPlus-rel_${PV}"
inherit cmake
DESCRIPTION="C++ port of Lucene library, a high-performance, full-featured text search engine"
HOMEPAGE="https://github.com/luceneplusplus/LucenePlusPlus"
SRC_URI="https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="|| ( LGPL-3 Apache-2.0 )"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~loong ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug"
RESTRICT="test"
DEPEND="dev-libs/boost:=[zlib]"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-3.0.7-boost-1.85.patch"
"${FILESDIR}/${PN}-3.0.9-boost-1.87.patch"
"${FILESDIR}/${PN}-3.0.9-pkgconfig.patch"
)
src_configure() {
local mycmakeargs=(
-DENABLE_DEMO=OFF
-DENABLE_TEST=OFF
)
cmake_src_configure
}