]> git.pld-linux.org Git - packages/sword.git/commitdiff
Fix building with gcc 4.7 and new clucene auto/th/sword-1.6.2-7
authorJan Rękorajski <baggins@pld-linux.org>
Fri, 10 Aug 2012 09:19:32 +0000 (11:19 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Fri, 10 Aug 2012 09:19:32 +0000 (11:19 +0200)
Release 7

sword-clucene2.patch [new file with mode: 0644]
sword-gcc47.patch [new file with mode: 0644]
sword.spec

diff --git a/sword-clucene2.patch b/sword-clucene2.patch
new file mode 100644 (file)
index 0000000..f887f22
--- /dev/null
@@ -0,0 +1,125 @@
+diff -up sword-1.6.2/configure.clucene2 sword-1.6.2/configure
+--- sword-1.6.2/configure.clucene2     2010-10-22 23:14:28.000000000 +0200
++++ sword-1.6.2/configure      2011-10-02 21:27:35.420704861 +0200
+@@ -16348,9 +16348,9 @@ for flag in $with_clucene; do
+       if test -z "$clucene_set_failed"; then
+               if test -e "$flag/include/CLucene.h"; then
+ # 64-bit checks first
+-                      if test -e "$flag/lib64/libclucene.la" || test -e "$flag/lib64/libclucene.so"; then
++                      if test -e "$flag/lib64/libclucene-core.la" || test -e "$flag/lib64/libclucene-core.so"; then
+                               clucene_set_failed=$flag
+-                              CLUCENE_LIBS="-L$flag/lib64 -lclucene"
++                              CLUCENE_LIBS="-L$flag/lib64 -lclucene-core"
+                               if test -e "$flag/include/CLucene/clucene-config.h"; then
+                                       CLUCENE_CXXFLAGS="-I$flag/include"
+                               else
+@@ -16358,9 +16358,9 @@ for flag in $with_clucene; do
+                               fi
+                       else
+ # 32-bit checks
+-                              if test -e "$flag/lib/libclucene.la" || test -e "$flag/lib/libclucene.so"; then
++                              if test -e "$flag/lib/libclucene-core.la" || test -e "$flag/lib/libclucene-core.so"; then
+                                       clucene_set_failed=$flag
+-                                      CLUCENE_LIBS="-L$flag/lib -lclucene"
++                                      CLUCENE_LIBS="-L$flag/lib -lclucene-core"
+                                       if test -e "$flag/include/CLucene/clucene-config.h"; then
+                                               CLUCENE_CXXFLAGS="-I$flag/include"
+                                       else
+diff -up sword-1.6.2/m4/acx_clucene.m4.clucene2 sword-1.6.2/m4/acx_clucene.m4
+--- sword-1.6.2/m4/acx_clucene.m4.clucene2     2007-05-19 23:28:23.000000000 +0200
++++ sword-1.6.2/m4/acx_clucene.m4      2011-10-02 21:27:35.420704861 +0200
+@@ -29,9 +29,9 @@ for flag in $with_clucene; do
+       if test -z "$clucene_set_failed"; then
+               if test -e "$flag/include/CLucene.h"; then
+ # 64-bit checks first
+-                      if test -e "$flag/lib64/libclucene.la" || test -e "$flag/lib64/libclucene.so"; then
++                      if test -e "$flag/lib64/libclucene-core.la" || test -e "$flag/lib64/libclucene-core.so"; then
+                               clucene_set_failed=$flag
+-                              CLUCENE_LIBS="-L$flag/lib64 -lclucene"
++                              CLUCENE_LIBS="-L$flag/lib64 -lclucene-core"
+                               if test -e "$flag/include/CLucene/clucene-config.h"; then
+                                       CLUCENE_CXXFLAGS="-I$flag/include"
+                               else
+@@ -39,9 +39,9 @@ for flag in $with_clucene; do
+                               fi
+                       else
+ # 32-bit checks
+-                              if test -e "$flag/lib/libclucene.la" || test -e "$flag/lib/libclucene.so"; then
++                              if test -e "$flag/lib/libclucene-core.la" || test -e "$flag/lib/libclucene-core.so"; then
+                                       clucene_set_failed=$flag
+-                                      CLUCENE_LIBS="-L$flag/lib -lclucene"
++                                      CLUCENE_LIBS="-L$flag/lib -lclucene-core"
+                                       if test -e "$flag/include/CLucene/clucene-config.h"; then
+                                               CLUCENE_CXXFLAGS="-I$flag/include"
+                                       else
+diff -up sword-1.6.2/src/modules/swmodule.cpp.clucene2 sword-1.6.2/src/modules/swmodule.cpp
+--- sword-1.6.2/src/modules/swmodule.cpp.clucene2      2011-10-02 21:32:40.825795281 +0200
++++ sword-1.6.2/src/modules/swmodule.cpp       2011-10-02 22:02:42.441506634 +0200
+@@ -40,7 +40,7 @@
+ #ifdef USELUCENE
+ #include <CLucene.h>
+-#include <CLucene/CLBackwards.h>
++//#include <CLucene/CLBackwards.h>
+ //Lucence includes
+ //#include "CLucene.h"
+@@ -59,6 +59,9 @@ using namespace lucene::search;
+ using std::vector;
++extern size_t lucene_utf8towcs(wchar_t *, const char *,  size_t maxslen);
++extern size_t lucene_wcstoutf8 (char *,  const wchar_t *, size_t maxslen);
++
+ SWORD_NAMESPACE_START
+ SWDisplay SWModule::rawdisp;
+@@ -1144,7 +1147,7 @@ signed char SWModule::createSearchFramew
+                       lucene_utf8towcs(wcharBuffer, keyText, MAX_CONV_SIZE); //keyText must be utf8
+ //                    doc->add( *(new Field("key", wcharBuffer, Field::STORE_YES | Field::INDEX_TOKENIZED)));
+-                      doc->add( *Field::Text(_T("key"), wcharBuffer ) );
++                      doc->add(*_CLNEW Field(_T("key"), wcharBuffer, Field::STORE_YES | Field::INDEX_TOKENIZED) );
+                       if (includeKeyInSearch) {
+@@ -1155,11 +1158,11 @@ signed char SWModule::createSearchFramew
+                       }
+                       lucene_utf8towcs(wcharBuffer, content, MAX_CONV_SIZE); //content must be utf8
+-                      doc->add( *Field::UnStored(_T("content"), wcharBuffer) );
++                      doc->add(*_CLNEW Field(_T("content"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED));
+                       if (strong.length() > 0) {
+                               lucene_utf8towcs(wcharBuffer, strong, MAX_CONV_SIZE);
+-                              doc->add( *Field::UnStored(_T("lemma"), wcharBuffer) );
++                              doc->add(*_CLNEW Field(_T("lemma"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED) );
+ //printf("setting fields (%s).\ncontent: %s\nlemma: %s\n", (const char *)*key, content, strong.c_str());
+                       }
+@@ -1280,12 +1283,12 @@ signed char SWModule::createSearchFramew
+ //printf("proxBuf after (%s).\nprox: %s\nproxLem: %s\n", (const char *)*key, proxBuf.c_str(), proxLem.c_str());
+-                      doc->add( *Field::UnStored(_T("prox"), wcharBuffer) );
++                      doc->add(*_CLNEW Field(_T("prox"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED) );
+                       good = true;
+               }
+               if (proxLem.length() > 0) {
+                       lucene_utf8towcs(wcharBuffer, proxLem, MAX_CONV_SIZE); //keyText must be utf8
+-                      doc->add( *Field::UnStored(_T("proxlem"), wcharBuffer) );
++                      doc->add(*_CLNEW Field(_T("proxlem"), wcharBuffer, Field::STORE_NO | Field::INDEX_TOKENIZED) );
+                       good = true;
+               }
+               if (good) {
+@@ -1315,7 +1318,9 @@ signed char SWModule::createSearchFramew
+               fsWriter = new IndexWriter(d, an, true);
+       }
+-      Directory *dirs[] = { ramDir, 0 };
++      ValueArray<Directory*> dirs(2);
++      dirs[0] = ramDir;
++      dirs[1] = 0;
+       fsWriter->addIndexes(dirs);
+       fsWriter->close();
diff --git a/sword-gcc47.patch b/sword-gcc47.patch
new file mode 100644 (file)
index 0000000..2509c66
--- /dev/null
@@ -0,0 +1,22 @@
+--- include/multimapwdef.h     2004-05-04 17:01:39.000000000 -0400
++++ include/multimapwdef.h.new 2012-02-22 22:05:38.034034838 -0500
+@@ -19,14 +19,14 @@
+       }
+       T& operator[](const Key& k) {
+-              if (find(k) == this->end()) {
+-                      insert(value_type(k, T()));
++              if (this->find(k) == this->end()) {
++                      this->insert(value_type(k, T()));
+               }
+-              return (*(find(k))).second;
++              return (*(this->find(k))).second;
+       }
+       bool has(const Key& k, const T &val) const {
+-              typename std::multimap<Key, T, Compare>::const_iterator start = lower_bound(k);
+-              typename std::multimap<Key, T, Compare>::const_iterator end = upper_bound(k);
++              typename std::multimap<Key, T, Compare>::const_iterator start = this->lower_bound(k);
++              typename std::multimap<Key, T, Compare>::const_iterator end = this->upper_bound(k);
+               for (; start!=end; start++) {
+                       if (start->second == val)
+                               return true;
index 717f985b68ae1daebdcf9e1d3822c3a2909b5410..e908712de6cd78685a89b790131b3557eda9d8c2 100644 (file)
 Summary:       The SWORD Project framework for manipulating Bible texts
 Name:          sword
 Version:       1.6.2
-Release:       6
+Release:       7
 License:       GPL
 Group:         Libraries
 Source0:       http://www.crosswire.org/ftpmirror/pub/sword/source/v1.6/%{name}-%{version}.tar.gz
 # Source0-md5: a7dc4456e20e915fec46d774b690e305
 Patch0:                %{name}-curl.patch
+Patch1:                %{name}-gcc47.patch
+Patch2:                %{name}-clucene2.patch
 URL:           http://www.crosswire.org/sword
 BuildRequires: pakchois-devel
 BuildRequires: pkgconfig
@@ -70,6 +72,8 @@ This package is required to compile Sword frontends, too.
 %if %{with_curl}
 %patch0 -p0
 %endif
+%patch1 -p0
+%patch2 -p1
 
 %build
 %{configure} \
This page took 0.044428 seconds and 4 git commands to generate.