diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/clucene-core')
9 files changed, 462 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/2.x.nix b/nixpkgs/pkgs/development/libraries/clucene-core/2.x.nix new file mode 100644 index 000000000000..18d055a387ac --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/2.x.nix @@ -0,0 +1,68 @@ +{lib, stdenv, fetchurl, cmake, boost, zlib}: + +stdenv.mkDerivation rec { + pname = "clucene-core"; + version = "2.3.3.4"; + + src = fetchurl { + url = "mirror://sourceforge/clucene/clucene-core-${version}.tar.gz"; + sha256 = "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ boost zlib ]; + + cmakeFlags = [ + "-DBUILD_CONTRIBS=ON" + "-DBUILD_CONTRIBS_LIB=ON" + "-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON" + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-D_CL_HAVE_GCC_ATOMIC_FUNCTIONS=0" + "-D_CL_HAVE_NAMESPACES_EXITCODE=0" + "-D_CL_HAVE_NAMESPACES_EXITCODE__TRYRUN_OUTPUT=" + "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE=0" + "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE__TRYRUN_OUTPUT=" + "-D_CL_HAVE_TRY_BLOCKS_EXITCODE=0" + "-D_CL_HAVE_TRY_BLOCKS_EXITCODE__TRYRUN_OUTPUT=" + "-D_CL_HAVE_PTHREAD_MUTEX_RECURSIVE=0" + "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE=0" + "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE__TRYRUN_OUTPUT=" + ]; + + patches = [ + # From debian + ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch + ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch + ./Install-contribs-lib.patch + # From arch + ./fix-missing-include-time.patch + + # required for darwin and linux-musl + ./pthread-include.patch + + ] ++ lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ]; + + # fails with "Unable to find executable: + # /build/clucene-core-2.3.3.4/build/bin/cl_test" + doCheck = false; + + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing"; + + meta = with lib; { + description = "Core library for full-featured text search engine"; + longDescription = '' + CLucene is a high-performance, scalable, cross platform, full-featured, + open-source indexing and searching API. Specifically, CLucene is the guts + of a search engine, the hard stuff. You write the easy stuff: the UI and + the process of selecting and parsing your data files to pump them into + the search engine yourself, and any specialized queries to pull it back + for display or further processing. + + CLucene is a port of the very popular Java Lucene text search engine API. + ''; + homepage = "https://clucene.sourceforge.net"; + platforms = platforms.unix; + license = with licenses; [ asl20 lgpl2 ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch b/nixpkgs/pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch new file mode 100644 index 000000000000..80e49a8e712e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch @@ -0,0 +1,19 @@ +From 7be4a19b76d98260cf95040a47935f854a4ba7a4 Mon Sep 17 00:00:00 2001 +From: Valentin Rusu <kde@rusu.info> +Date: Sat, 17 Dec 2011 13:47:58 +0100 +Subject: [PATCH] Fix .pc file by adding clucene-shared library + +--- + src/core/libclucene-core.pc.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/core/libclucene-core.pc.cmake ++++ b/src/core/libclucene-core.pc.cmake +@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i + Name: libclucene + Description: CLucene - a C++ search engine, ported from the popular Apache Lucene + Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@ +-Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core ++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared + Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext + ~ diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch b/nixpkgs/pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch new file mode 100644 index 000000000000..f5f44a7fa2c4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch @@ -0,0 +1,20 @@ +From 772481ca94071ddfe65102a451926e4f9aeb4d2c Mon Sep 17 00:00:00 2001 +From: Veit Jahns <idolum@users.sourceforge.net> +Date: Thu, 26 May 2011 13:35:28 +0200 +Subject: [PATCH] Fixing ZLIB configuration in shared's CMakeLists + +--- + src/shared/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/shared/CMakeLists.txt ++++ b/src/shared/CMakeLists.txt +@@ -42,7 +42,7 @@ INCLUDE (CheckAtomicFunctions) + find_package(ZLIB) + IF ( ZLIB_FOUND ) + SET ( EXTRA_LIBS ${EXTRA_LIBS} ${ZLIB_LIBRARY} ) +-ELSEIF ( ZLIB_FOUND ) ++ELSE ( ZLIB_FOUND ) + MESSAGE( "ZLIB not found, using local: ${clucene-ext_SOURCE_DIR}/zlib" ) + SET(ZLIB_INCLUDE_DIR ${clucene-ext_SOURCE_DIR}/zlib ) + SET(ZLIB_LIBRARY ${clucene-ext_BINARY_DIR}) diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/Install-contribs-lib.patch b/nixpkgs/pkgs/development/libraries/clucene-core/Install-contribs-lib.patch new file mode 100644 index 000000000000..899411fe02b4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/Install-contribs-lib.patch @@ -0,0 +1,49 @@ +Description: contribs-lib is not built and installed even with config +Author: Vitaliy Filippov +Bug: https://sourceforge.net/tracker/index.php?func=detail&aid=3392466&group_id=80013&atid=558446 + +--- + CMakeLists.txt | 2 +- + src/contribs-lib/CMakeLists.txt | 17 +++++++++++++++++ + 2 files changed, 18 insertions(+), 1 deletion(-) + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS ) + SET(BUILD_CONTRIBS_LIB 1) + ENDIF ( BUILD_CONTRIBS ) + IF ( BUILD_CONTRIBS_LIB ) +- ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL) ++ ADD_SUBDIRECTORY (src/contribs-lib) + ENDIF ( BUILD_CONTRIBS_LIB ) + + +--- a/src/contribs-lib/CMakeLists.txt ++++ b/src/contribs-lib/CMakeLists.txt +@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED + ) + TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs}) + ++#install public headers. ++FOREACH(file ${HEADERS}) ++ get_filename_component(apath ${file} PATH) ++ get_filename_component(aname ${file} NAME) ++ file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath}) ++ IF ( NOT aname MATCHES "^_.*" ) ++ install(FILES ${file} ++ DESTINATION include/${relpath} ++ COMPONENT development) ++ ENDIF ( NOT aname MATCHES "^_.*" ) ++ENDFOREACH(file) ++ + #set properties on the libraries + SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES + VERSION ${CLUCENE_VERSION} + SOVERSION ${CLUCENE_SOVERSION} + COMPILE_DEFINITIONS_DEBUG _DEBUG + ) ++ ++#and install library ++install(TARGETS clucene-contribs-lib ++ DESTINATION ${LIB_DESTINATION} ++ COMPONENT runtime ) diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/default.nix b/nixpkgs/pkgs/development/libraries/clucene-core/default.nix new file mode 100644 index 000000000000..b6765af12a4c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/default.nix @@ -0,0 +1,35 @@ +{lib, stdenv, fetchurl}: + +stdenv.mkDerivation rec { + pname = "clucene-core"; + version = "0.9.21b"; + + src = fetchurl { + url = "mirror://sourceforge/clucene/clucene-core-${version}.tar.bz2"; + sha256 = "202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317"; + }; + + patches = [ ./gcc6.patch ]; + + env.NIX_CFLAGS_COMPILE = toString [ + "-std=c++11" + ]; + + meta = with lib; { + broken = stdenv.isDarwin; + description = "Core library for full-featured text search engine"; + longDescription = '' + CLucene is a high-performance, scalable, cross platform, full-featured, + open-source indexing and searching API. Specifically, CLucene is the guts + of a search engine, the hard stuff. You write the easy stuff: the UI and + the process of selecting and parsing your data files to pump them into + the search engine yourself, and any specialized queries to pull it back + for display or further processing. + + CLucene is a port of the very popular Java Lucene text search engine API. + ''; + homepage = "https://clucene.sourceforge.net"; + platforms = platforms.unix; + license = with licenses; [ asl20 lgpl2 ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/fix-darwin.patch b/nixpkgs/pkgs/development/libraries/clucene-core/fix-darwin.patch new file mode 100644 index 000000000000..cb47a4f3763f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/fix-darwin.patch @@ -0,0 +1,62 @@ +--- a/src/shared/CLucene/config/repl_tchar.h ++++ b/src/shared/CLucene/config/repl_tchar.h +@@ -28,26 +28,26 @@ + #define _istdigit iswdigit //* digit char check + #define _totlower towlower //* convert char to lower case + #define _totupper towupper //* convert char to lower case +- #define _tcslwr wcslwr //* convert string to lower case ++ #define _tcslwr std::wcslwr //* convert string to lower case + + //these are the string handling functions + //we may need to create wide-character/multi-byte replacements for these +- #define _tcscpy wcscpy //copy a string to another string +- #define _tcsncpy wcsncpy //copy a specified amount of one string to another string. +- #define _tcscat wcscat //copy a string onto the end of the other string +- #define _tcsncat wcsncat +- #define _tcschr wcschr //find location of one character +- #define _tcsstr wcsstr //find location of a string +- #define _tcslen wcslen //get length of a string +- #define _tcscmp wcscmp //case sensitive compare two strings +- #define _tcsncmp wcsncmp //case sensitive compare two strings +- #define _tcscspn wcscspn //location of any of a set of character in a string ++ #define _tcscpy std::wcscpy //copy a string to another string ++ #define _tcsncpy std::wcsncpy //copy a specified amount of one string to another string. ++ #define _tcscat std::wcscat //copy a string onto the end of the other string ++ #define _tcsncat std::wcsncat ++ #define _tcschr std::wcschr //find location of one character ++ #define _tcsstr std::wcsstr //find location of a string ++ #define _tcslen std::wcslen //get length of a string ++ #define _tcscmp std::wcscmp //case sensitive compare two strings ++ #define _tcsncmp std::wcsncmp //case sensitive compare two strings ++ #define _tcscspn std::wcscspn //location of any of a set of character in a string + + //string compare + #ifdef _CL_HAVE_FUNCTION_WCSICMP +- #define _tcsicmp wcsicmp //* case insensitive compare two string ++ #define _tcsicmp std::wcsicmp //* case insensitive compare two string + #else +- #define _tcsicmp wcscasecmp //* case insensitive compare two string ++ #define _tcsicmp std::wcscasecmp //* case insensitive compare two string + #endif + #if defined(_CL_HAVE_FUNCTION_WCSDUP) + #define _tcsdup wcsdup +@@ -56,8 +56,8 @@ + #endif + + //conversion functions +- #define _tcstod wcstod //convert a string to a double +- #define _tcstoi64 wcstoll //* convers a string to an 64bit bit integer ++ #define _tcstod std::wcstod //convert a string to a double ++ #define _tcstoi64 std::wcstoll //* convers a string to an 64bit bit integer + #define _itot _i64tot + #define _i64tot lltow //* converts a 64 bit integer to a string (with base) + #else //if defined(_ASCII) +@@ -105,7 +105,7 @@ + //some tchar headers miss these... + #ifndef _tcstoi64 + #if defined(_UCS2) +- #define _tcstoi64 wcstoll //* convers a string to an 64bit bit integer ++ #define _tcstoi64 std::wcstoll //* convers a string to an 64bit bit integer + #else + #define _tcstoi64 strtoll + #endif diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/fix-missing-include-time.patch b/nixpkgs/pkgs/development/libraries/clucene-core/fix-missing-include-time.patch new file mode 100644 index 000000000000..0ac26f76929a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/fix-missing-include-time.patch @@ -0,0 +1,49 @@ +From c1c2000c35ff39b09cb70fbdf66a107d3b17a674 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann <sbergman@redhat.com> +Date: Wed, 12 Oct 2022 08:40:49 +0200 +Subject: [PATCH] Fix missing #include <time.h> +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +At least on recent Fedora 37 beta, building now failed with + +> CLucene/document/DateTools.cpp:26:19: error: ‘gmtime’ was not declared in this scope +> 26 | tm *ptm = gmtime(&secs); +> | ^~~~~~ + +etc. + +As it turns out, after 22f9d40320e3deeaa8d6aaa7a770077c20a21dae "git-svn-id: +https://clucene.svn.sourceforge.net/svnroot/clucene/branches/lucene2_3_2@2672 +20ef185c-fe11-0410-a618-ba9304b01011" on 2008-06-26 had commented out +_CL_TIME_WITH_SYS_TIME in clucene-config.h.cmake as "not actually used for +anything", then cceccfb52917b5f4da447f1cf20c135952d41442 "Presenting DateTools +and deprecating DateField. DateTools still requires some testing and its own +unit testing" on 2008-06-29 had introduced this use of it (into then +src/CLucene/document/DateTools.H). And apparently most build environments have +silently been happy ever since when the dead leading check for +_CL_TIME_WITH_SYS_TIME didn't include both <sys/time.h> and <time.h>, but the +following check for _CL_HAVE_SYS_TIME_H only included <sys/time.h> but not +<time.h>. +--- + src/shared/CLucene/clucene-config.h.cmake | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/shared/CLucene/clucene-config.h.cmake b/src/shared/CLucene/clucene-config.h.cmake +index bd8683a5..6fe0f92b 100644 +--- a/src/shared/CLucene/clucene-config.h.cmake ++++ b/src/shared/CLucene/clucene-config.h.cmake +@@ -100,8 +100,7 @@ ${SYMBOL__T} + //#cmakedefine _CL_STAT_MACROS_BROKEN + + /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +-//not actually used for anything... +-//#cmakedefine _CL_TIME_WITH_SYS_TIME 1 ++#cmakedefine _CL_TIME_WITH_SYS_TIME 1 + + /* Define that we will be using -fvisibility=hidden, and + * make public classes visible using __attribute__ ((visibility("default"))) +-- +2.37.3 + diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/gcc6.patch b/nixpkgs/pkgs/development/libraries/clucene-core/gcc6.patch new file mode 100644 index 000000000000..f78b26d24f6a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/gcc6.patch @@ -0,0 +1,146 @@ +https://bugzilla.redhat.com/show_bug.cgi?id=998477 + +diff -up clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h.gcc48 clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h +--- clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h.gcc48 2008-10-23 12:44:35.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/debug/lucenebase.h 2013-08-27 13:17:35.754234297 -0500 +@@ -58,7 +58,7 @@ public: + __cl_refcount--; + return __cl_refcount; + } +- virtual ~LuceneBase(){}; ++ virtual ~LuceneBase() throw(CLuceneError&) {}; + }; + + class LuceneVoidBase{ +diff -up clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp +--- clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp.gcc48 2013-08-27 13:17:35.754234297 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/CompoundFile.cpp 2013-08-27 13:18:02.844949386 -0500 +@@ -94,7 +94,7 @@ CompoundFileReader::CompoundFileReader(D + ) + } + +-CompoundFileReader::~CompoundFileReader(){ ++CompoundFileReader::~CompoundFileReader() throw(CLuceneError&) { + close(); + } + +diff -up clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h.gcc48 clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h +--- clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h.gcc48 2008-10-23 12:44:37.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/CompoundFile.h 2013-08-27 13:17:35.755234286 -0500 +@@ -95,7 +95,7 @@ protected: + + public: + CompoundFileReader(CL_NS(store)::Directory* dir, char* name); +- ~CompoundFileReader(); ++ ~CompoundFileReader() throw(CLuceneError&); + CL_NS(store)::Directory* getDirectory(); + const char* getName() const; + +diff -up clucene-core-0.9.21b/src/CLucene/index/Term.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/index/Term.cpp +--- clucene-core-0.9.21b/src/CLucene/index/Term.cpp.gcc48 2008-10-23 12:44:37.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/Term.cpp 2013-08-27 13:17:35.755234286 -0500 +@@ -81,7 +81,7 @@ Term::Term(const TCHAR* fld, const TCHAR + set(fld,txt); + } + +-Term::~Term(){ ++Term::~Term() throw (CLuceneError&) { + //Func - Destructor. + //Pre - true + //Post - The instance has been destroyed. field and text have been deleted if pre(intrn) is false +diff -up clucene-core-0.9.21b/src/CLucene/index/Term.h.gcc48 clucene-core-0.9.21b/src/CLucene/index/Term.h +--- clucene-core-0.9.21b/src/CLucene/index/Term.h.gcc48 2008-10-23 12:44:37.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/index/Term.h 2013-08-27 13:17:35.755234286 -0500 +@@ -68,7 +68,7 @@ class Term:LUCENE_REFBASE { + Term(const TCHAR* fld, const TCHAR* txt); + + ///Destructor. +- ~Term(); ++ ~Term() throw(CLuceneError&); + + ///Returns the field of this term, an interned string. The field indicates + ///the part of a document which this term came from. +diff -up clucene-core-0.9.21b/src/CLucene/store/Directory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/Directory.h +--- clucene-core-0.9.21b/src/CLucene/store/Directory.h.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/Directory.h 2013-08-27 13:17:35.756234276 -0500 +@@ -41,7 +41,7 @@ CL_NS_DEF(store) + public: + DEFINE_MUTEX(THIS_LOCK) + +- virtual ~Directory(){ }; ++ virtual ~Directory() throw(CLuceneError&) { }; + + // Returns an null terminated array of strings, one for each file in the directory. + char** list() const{ +diff -up clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp +--- clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp.gcc48 2008-10-23 13:01:52.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.cpp 2013-08-27 13:17:35.756234276 -0500 +@@ -368,7 +368,7 @@ void FSDirectory::FSIndexInput::readInte + strcat(buffer,name); + } + +- FSDirectory::~FSDirectory(){ ++ FSDirectory::~FSDirectory() throw(CLuceneError&) { + } + + void FSDirectory::list(vector<string>* names) const{ //todo: fix this, ugly!!! +diff -up clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h +--- clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h.gcc48 2008-10-23 13:00:43.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/FSDirectory.h 2013-08-27 13:17:35.756234276 -0500 +@@ -155,7 +155,7 @@ + ///Destructor - only call this if you are sure the directory + ///is not being used anymore. Otherwise use the ref-counting + ///facilities of _CLDECDELETE +- ~FSDirectory(); ++ ~FSDirectory() throw(CLuceneError&); + + /// Get a list of strings, one for each file in the directory. + void list(vector<string>* names) const; +diff -up clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp +--- clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.cpp 2013-08-27 13:17:35.757234265 -0500 +@@ -219,7 +219,7 @@ CL_NS_DEF(store) + { + } + +- RAMDirectory::~RAMDirectory(){ ++ RAMDirectory::~RAMDirectory() throw(CLuceneError&) { + //todo: should call close directory? + } + +diff -up clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h +--- clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/RAMDirectory.h 2013-08-27 13:17:35.757234265 -0500 +@@ -131,7 +131,7 @@ CL_NS_DEF(store) + ///Destructor - only call this if you are sure the directory + ///is not being used anymore. Otherwise use the ref-counting + ///facilities of dir->close +- virtual ~RAMDirectory(); ++ virtual ~RAMDirectory() throw(CLuceneError&); + RAMDirectory(Directory* dir); + + /** +diff -up clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp.gcc48 clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp +--- clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.cpp 2013-08-27 13:17:35.757234265 -0500 +@@ -16,7 +16,7 @@ CL_NS_USE(util) + { + transOpen = false; + } +- TransactionalRAMDirectory::~TransactionalRAMDirectory(){ ++ TransactionalRAMDirectory::~TransactionalRAMDirectory() throw(CLuceneError&) { + } + + bool TransactionalRAMDirectory::archiveOrigFileIfNecessary(const char* name) { +diff -up clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h.gcc48 clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h +--- clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h.gcc48 2008-10-23 12:44:36.000000000 -0500 ++++ clucene-core-0.9.21b/src/CLucene/store/TransactionalRAMDirectory.h 2013-08-27 13:17:35.757234265 -0500 +@@ -44,7 +44,7 @@ CL_NS_DEF(store) + + public: + TransactionalRAMDirectory(); +- virtual ~TransactionalRAMDirectory(); ++ virtual ~TransactionalRAMDirectory() throw(CLuceneError&); + + bool transIsOpen() const; + void transStart(); diff --git a/nixpkgs/pkgs/development/libraries/clucene-core/pthread-include.patch b/nixpkgs/pkgs/development/libraries/clucene-core/pthread-include.patch new file mode 100644 index 000000000000..73a168c132f4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/clucene-core/pthread-include.patch @@ -0,0 +1,14 @@ +--- a/src/shared/CLucene/LuceneThreads.h ++++ b/src/shared/CLucene/LuceneThreads.h +@@ -7,6 +7,9 @@ + #ifndef _LuceneThreads_h + #define _LuceneThreads_h + ++#if defined(_CL_HAVE_PTHREAD) ++ #include <pthread.h> ++#endif + + CL_NS_DEF(util) + class CLuceneThreadIdCompare; + + |