public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/clucene/, dev-cpp/clucene/files/
@ 2020-03-02  9:11 Michał Górny
  0 siblings, 0 replies; 3+ messages in thread
From: Michał Górny @ 2020-03-02  9:11 UTC (permalink / raw
  To: gentoo-commits

commit:     8be274041e9b36d5a4ab436ba8d48cb12d981a34
Author:     Denis Pronin <dannftk <AT> yandex <DOT> ru>
AuthorDate: Fri Feb 21 12:55:44 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Mar  2 09:09:09 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8be27404

dev-cpp/clucene: fix building w/ clang and libc++

Signed-off-by: Denis Pronin <dannftk <AT> yandex.ru>
Closes: https://github.com/gentoo/gentoo/pull/14730
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild          |  1 +
 dev-cpp/clucene/files/clucene-2.3.3.4-gmtime.patch | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild
index 31b96850ad9..49e53b0da09 100644
--- a/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild
+++ b/dev-cpp/clucene/clucene-2.3.3.4-r6.ebuild
@@ -33,6 +33,7 @@ PATCHES=(
 	"${FILESDIR}/${P}-contrib.patch"
 	"${FILESDIR}/${P}-pkgconfig.patch"
 	"${FILESDIR}/${P}-gcc6.patch"
+	"${FILESDIR}/${P}-gmtime.patch"
 )
 
 src_prepare() {

diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-gmtime.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-gmtime.patch
new file mode 100644
index 00000000000..d4c702bf217
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-gmtime.patch
@@ -0,0 +1,12 @@
+diff -Naur clucene-core-2.3.3.4/src/core/CLucene/document/DateTools.cpp clucene-core-2.3.3.4.new/src/core/CLucene/document/DateTools.cpp
+--- clucene-core-2.3.3.4/src/core/CLucene/document/DateTools.cpp	2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4.new/src/core/CLucene/document/DateTools.cpp	2020-02-21 15:20:17.382575302 +0300
+@@ -9,6 +9,8 @@
+ #include "DateTools.h"
+ #include "CLucene/util/Misc.h"
+ 
++#include <ctime>
++
+ CL_NS_USE(util)
+ CL_NS_DEF(document)
+ 


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/clucene/, dev-cpp/clucene/files/
@ 2022-07-30  2:29 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2022-07-30  2:29 UTC (permalink / raw
  To: gentoo-commits

commit:     fe27109c7a1359fd22d5f9f0cbe9d76919e2cea0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 30 02:29:06 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jul 30 02:29:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe27109c

dev-cpp/clucene: fix build w/ libcxx

Use FreeBSD's patches.

Closes: https://bugs.gentoo.org/862195
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild          | 66 ++++++++++++++++++++++
 dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch | 48 ++++++++++++++++
 2 files changed, 114 insertions(+)

diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild
new file mode 100644
index 000000000000..6c22b70622bf
--- /dev/null
+++ b/dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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="http://clucene.sourceforge.net/"
+SRC_URI="mirror://sourceforge/clucene/${MY_P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1 )"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+IUSE="debug doc static-libs"
+
+BDEPEND="
+	doc? ( >=app-doc/doxygen-1.4.2 )
+"
+
+RESTRICT="test"
+
+DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+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"
+)
+
+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
+	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-libcxx.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch
new file mode 100644
index 000000000000..268b887f6d86
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-libcxx.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/862195
+https://cgit.freebsd.org/ports/tree/textproc/clucene/files/patch-src__core__CLucene__index__DocumentsWriter.cpp
+https://cgit.freebsd.org/ports/plain/textproc/clucene/files/patch-src__core__CLucene__util__VoidMap.h
+--- a/src/core/CLucene/index/DocumentsWriter.cpp
++++ b/src/core/CLucene/index/DocumentsWriter.cpp
+@@ -125,7 +125,7 @@
+   if (this->postingsFreeListDW.values){
+       if (this->postingsFreeCountDW < this->postingsFreeListDW.length) {
+           memset(this->postingsFreeListDW.values + this->postingsFreeCountDW
+-              , NULL
++              , 0
+               , sizeof(Posting*));
+       }
+       postingsFreeListDW.deleteUntilNULL();
+
+--- a/src/core/CLucene/util/VoidMap.h
++++ b/src/core/CLucene/util/VoidMap.h
+@@ -11,8 +11,13 @@
+ #include "CLucene/LuceneThreads.h"
+ 
+ #if defined(_CL_HAVE_TR1_UNORDERED_MAP) && defined(_CL_HAVE_TR1_UNORDERED_SET)
++#if defined(_LIBCPP_VERSION)
++	#include <unordered_map>
++	#include <unordered_set>
++#else
+ 	#include <tr1/unordered_map>
+ 	#include <tr1/unordered_set>
++#endif
+ #elif defined(_CL_HAVE_HASH_MAP) && defined(_CL_HAVE_HASH_SET)
+ 	//hashing is all or nothing!
+ 	#include <hash_map>
+@@ -83,7 +88,7 @@
+ 	_vt get( _kt k) const {
+ 		const_iterator itr = base::find(k);
+ 		if ( itr==base::end() )
+-			return (_vt)NULL;
++			return static_cast<_vt>(0);
+ 		else
+ 			return itr->second;
+ 	}
+@@ -316,6 +321,7 @@
+ 		if ( _this::dk || _this::dv )
+ 			_this::remove(k);
+ 
++		(*this)[k] = v;;
+ 	}
+ };
+ 


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-cpp/clucene/, dev-cpp/clucene/files/
@ 2023-06-28 21:14 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2023-06-28 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     1ba9c12d6ed1d6054c055bea8480e2d0132ae8eb
Author:     LinuxUserGD <hugegameartgd <AT> gmail <DOT> com>
AuthorDate: Mon Apr 10 22:01:01 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 28 21:13:55 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ba9c12d

dev-cpp/clucene: fix removed std::binary_function in c++17

Closes: https://bugs.gentoo.org/853298
Closes: https://bugs.gentoo.org/869170
Signed-off-by: LinuxUserGD <hugegameartgd <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/30547
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...2.3.3.4-r8.ebuild => clucene-2.3.3.4-r9.ebuild} |   1 +
 .../clucene-2.3.3.4-fix-binary-function.patch      | 199 +++++++++++++++++++++
 2 files changed, 200 insertions(+)

diff --git a/dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild b/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild
similarity index 97%
rename from dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild
rename to dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild
index 3ee090b7f675..656750220d5b 100644
--- a/dev-cpp/clucene/clucene-2.3.3.4-r8.ebuild
+++ b/dev-cpp/clucene/clucene-2.3.3.4-r9.ebuild
@@ -36,6 +36,7 @@ PATCHES=(
 	"${FILESDIR}/${P}-gmtime.patch"
 	"${FILESDIR}/${P}-musl-pthread.patch"
 	"${FILESDIR}/${P}-libcxx.patch"
+	"${FILESDIR}/${P}-fix-binary-function.patch"
 )
 
 src_prepare() {

diff --git a/dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch
new file mode 100644
index 000000000000..dbcff1bb1169
--- /dev/null
+++ b/dev-cpp/clucene/files/clucene-2.3.3.4-fix-binary-function.patch
@@ -0,0 +1,199 @@
+Replace std::binary_function with typedefs (deprecated in c++11 and removed in c++17).
+Bug: https://bugs.gentoo.org/869170
+--- a/src/core/CLucene/index/_Term.h
++++ b/src/core/CLucene/index/_Term.h
+@@ -13,9 +13,12 @@
+ CL_NS_DEF(index)
+ 
+ 
+-class Term_Equals:public CL_NS_STD(binary_function)<const Term*,const Term*,bool>
++class Term_Equals
+ {
+ public:
++	typedef const Term* first_argument_type;
++	typedef const Term* second_argument_type;
++	typedef bool result_type;
+ 	bool operator()( const Term* val1, const Term* val2 ) const{
+ 		return val1->equals(val2);
+ 	}
+--- a/src/core/CLucene/search/BooleanQuery.cpp
++++ b/src/core/CLucene/search/BooleanQuery.cpp
+@@ -25,9 +25,12 @@ CL_NS_USE(index)
+ CL_NS_USE(util)
+ CL_NS_DEF(search)
+ 
+-	class BooleanClause_Compare:public CL_NS_STD(binary_function)<const BooleanClause*,const BooleanClause*,bool>
++	class BooleanClause_Compare
+ 	{
+ 	public:
++		typedef const BooleanClause* first_argument_type;
++		typedef const BooleanClause* second_argument_type;
++		typedef bool result_type;
+ 		bool operator()( const BooleanClause* val1, const BooleanClause* val2 ) const {
+ 			return val1->equals(val2);
+ 		}
+--- a/src/core/CLucene/search/MultiPhraseQuery.cpp
++++ b/src/core/CLucene/search/MultiPhraseQuery.cpp
+@@ -377,9 +377,12 @@ TCHAR* MultiPhraseQuery::toString(const TCHAR* f) const {
+ 	return buffer.giveBuffer();
+ }
+ 
+-class TermArray_Equals:public CL_NS_STD(binary_function)<const Term**,const Term**,bool>
++class TermArray_Equals
+ {
+ public:
++	typedef const Term** first_argument_type;
++	typedef const Term** second_argument_type;
++	typedef bool result_type;
+ 	bool operator()( CL_NS(util)::ArrayBase<CL_NS(index)::Term*>* val1, CL_NS(util)::ArrayBase<CL_NS(index)::Term*>* val2 ) const{
+     if ( val1->length != val2->length )
+       return false;
+--- a/src/core/CLucene/util/Equators.h
++++ b/src/core/CLucene/util/Equators.h
+@@ -22,21 +22,30 @@ CL_NS_DEF(util)
+ /** @internal */
+ class CLUCENE_INLINE_EXPORT Equals{
+ public:
+-	class CLUCENE_INLINE_EXPORT Int32:public CL_NS_STD(binary_function)<const int32_t*,const int32_t*,bool>
++	class CLUCENE_INLINE_EXPORT Int32
+ 	{
+ 	public:
++		typedef const int32_t* first_argument_type;
++		typedef const int32_t* second_argument_type;
++		typedef bool result_type;
+ 		bool operator()( const int32_t val1, const int32_t val2 ) const;
+ 	};
+ 	
+-	class CLUCENE_INLINE_EXPORT Char:public CL_NS_STD(binary_function)<const char*,const char*,bool>
++	class CLUCENE_INLINE_EXPORT Char
+ 	{
+ 	public:
++		typedef const char* first_argument_type;
++		typedef const char* second_argument_type;
++		typedef bool result_type;
+ 		bool operator()( const char* val1, const char* val2 ) const;
+ 	};
+ #ifdef _UCS2
+-	class CLUCENE_INLINE_EXPORT WChar: public CL_NS_STD(binary_function)<const wchar_t*,const wchar_t*,bool>
++	class CLUCENE_INLINE_EXPORT WChar
+ 	{
+ 	public:
++		typedef const wchar_t* first_argument_type;
++		typedef const wchar_t* second_argument_type;
++		typedef bool result_type;
+ 		bool operator()( const wchar_t* val1, const wchar_t* val2 ) const;
+ 	};
+ 	class CLUCENE_INLINE_EXPORT TChar: public WChar{
+@@ -48,9 +57,12 @@ public:
+ 
+ 
+     template<typename _cl>
+-	class CLUCENE_INLINE_EXPORT Void:public CL_NS_STD(binary_function)<const void*,const void*,bool>
++	class CLUCENE_INLINE_EXPORT Void
+ 	{
+ 	public:
++		typedef const void* first_argument_type;
++		typedef const void* second_argument_type;
++		typedef bool result_type;
+ 		bool operator()( _cl* val1, _cl* val2 ) const{
+ 			return val1==val2;
+ 		}
+--- a/src/core/CLucene/util/_Arrays.h
++++ b/src/core/CLucene/util/_Arrays.h
+@@ -124,12 +124,14 @@ CL_NS_DEF(util)
+ 	
+ 	template <typename _kt, typename _comparator, 
+ 		typename class1, typename class2>
+-	class CLListEquals:
+-		public CL_NS_STD(binary_function)<class1*,class2*,bool>
++	class CLListEquals
+ 	{
+ 	typedef typename class1::const_iterator _itr1;
+ 	typedef typename class2::const_iterator _itr2;
+ 	public:
++		typedef class1* first_argument_type;
++		typedef class2* second_argument_type;
++		typedef bool result_type;
+ 		CLListEquals(){
+ 		}
+ 		bool equals( class1* val1, class2* val2 ) const{
+--- a/src/test/index/TestTermVectorsReader.cpp
++++ b/src/test/index/TestTermVectorsReader.cpp
+@@ -93,17 +93,21 @@ CL_NS_USE(util);
+     }
+   };
+ 
+-  struct MyTCharCompare :
+-    public std::binary_function<const TCHAR*, const TCHAR*, bool>
++  struct MyTCharCompare
+   {
++    typedef const TCHAR* first_argument_type;
++    typedef const TCHAR* second_argument_type;
++    typedef bool result_type;
+     bool operator () (const TCHAR* v1, const TCHAR* v2) const {
+       return _tcscmp(v1, v2) < 0;
+     }
+   };
+ 
+-  struct TestTokenCompare : 
+-    public std::binary_function<const TestToken*, const TestToken*, bool>
++  struct TestTokenCompare
+   {
++    typedef const TestToken* first_argument_type;
++    typedef const TestToken* second_argument_type;
++    typedef bool result_type;
+     bool operator () (const TestToken* t1, const TestToken* t2) const {
+       return t1->pos < t2->pos;
+     }
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,6 +45,14 @@ ELSE(NOT CMAKE_BUILD_TYPE)
+     MESSAGE( "Compiling as ${CMAKE_BUILD_TYPE}" )
+ ENDIF(NOT CMAKE_BUILD_TYPE)
+ 
++IF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++  SET(CMAKE_COMPILER_IS_CLANG 1)
++ENDIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
++
++IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++  SET(CMAKE_COMPILER_IS_CLANGXX 1)
++ENDIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
++
+ OPTION(ENABLE_DEBUG
+   "enable debug support"
+   OFF)
+@@ -62,14 +70,14 @@ OPTION(ENABLE_ASCII_MODE
+   OFF)
+   
+ SET(ENABLE_ANSI_MODE OFF)
+-IF(CMAKE_COMPILER_IS_GNUCXX)
++IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
+   SET(ENABLE_ANSI_MODE ON)
+   
+   #exceptions:
+   IF(MINGW OR CYGWIN)
+     SET(ENABLE_ANSI_MODE OFF)
+   ENDIF(MINGW OR CYGWIN)
+-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
++ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
+ 
+ OPTION(ENABLE_ANSI_MODE
+   "compile with -ansi flag"
+@@ -109,7 +117,7 @@ OPTION(ENABLE_COMPILE_TESTS
+ 
+ #check flags...
+ INCLUDE (TestCXXAcceptsFlag)
+-IF ( CMAKE_COMPILER_IS_GNUCC )
++IF ( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG )
+     CHECK_CXX_ACCEPTS_FLAG(-pg GccFlagPg)
+     IF ( GccFlagPg )
+         OPTION(ENABLE_GPROF
+@@ -131,7 +139,7 @@ IF ( CMAKE_COMPILER_IS_GNUCC )
+    IF( ENABLE_ANSI_MODE )
+     SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi")
+    ENDIF ( ENABLE_ANSI_MODE )
+-ENDIF(CMAKE_COMPILER_IS_GNUCC) 
++ENDIF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) 
+ 
+ 
+ #Single output directory for building all executables and libraries.


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-28 21:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-30  2:29 [gentoo-commits] repo/gentoo:master commit in: dev-cpp/clucene/, dev-cpp/clucene/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2023-06-28 21:14 Sam James
2020-03-02  9:11 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox