diff options
Diffstat (limited to 'dev-cpp/lucene++')
| -rw-r--r-- | dev-cpp/lucene++/Manifest | 1 | ||||
| -rw-r--r-- | dev-cpp/lucene++/files/lucene++-3.0.9-boost-1.87.patch | 81 | ||||
| -rw-r--r-- | dev-cpp/lucene++/files/lucene++-3.0.9-pkgconfig.patch | 24 | ||||
| -rw-r--r-- | dev-cpp/lucene++/lucene++-3.0.9.ebuild | 36 |
4 files changed, 142 insertions, 0 deletions
diff --git a/dev-cpp/lucene++/Manifest b/dev-cpp/lucene++/Manifest index f9d34ca7c2e3..3b24633ebe78 100644 --- a/dev-cpp/lucene++/Manifest +++ b/dev-cpp/lucene++/Manifest @@ -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 diff --git a/dev-cpp/lucene++/files/lucene++-3.0.9-boost-1.87.patch b/dev-cpp/lucene++/files/lucene++-3.0.9-boost-1.87.patch new file mode 100644 index 000000000000..8851e2a6749b --- /dev/null +++ b/dev-cpp/lucene++/files/lucene++-3.0.9-boost-1.87.patch @@ -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 + } + + diff --git a/dev-cpp/lucene++/files/lucene++-3.0.9-pkgconfig.patch b/dev-cpp/lucene++/files/lucene++-3.0.9-pkgconfig.patch new file mode 100644 index 000000000000..36fea7bb60dd --- /dev/null +++ b/dev-cpp/lucene++/files/lucene++-3.0.9-pkgconfig.patch @@ -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() + + diff --git a/dev-cpp/lucene++/lucene++-3.0.9.ebuild b/dev-cpp/lucene++/lucene++-3.0.9.ebuild new file mode 100644 index 000000000000..a774b663b0cb --- /dev/null +++ b/dev-cpp/lucene++/lucene++-3.0.9.ebuild @@ -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 +} |
