summaryrefslogtreecommitdiff
path: root/dev-cpp/lucene++
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/lucene++')
-rw-r--r--dev-cpp/lucene++/files/lucene++-3.0.9-no-inline.patch70
-rw-r--r--dev-cpp/lucene++/lucene++-3.0.9-r2.ebuild1
2 files changed, 71 insertions, 0 deletions
diff --git a/dev-cpp/lucene++/files/lucene++-3.0.9-no-inline.patch b/dev-cpp/lucene++/files/lucene++-3.0.9-no-inline.patch
new file mode 100644
index 000000000000..58b00b2295e1
--- /dev/null
+++ b/dev-cpp/lucene++/files/lucene++-3.0.9-no-inline.patch
@@ -0,0 +1,70 @@
+From https://github.com/luceneplusplus/LucenePlusPlus/pull/200
+Bug: https://bugs.gentoo.org/973146
+Pruned compiler errors to relevant lines.
+
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Sat, 24 Feb 2024 21:26:58 +0100
+Subject: [PATCH] Update DefaultSimilarity.cpp
+
+This fixes a linker failure when building tests (lto related?)
+https://launchpadlibrarian.net/715939877/buildlog_ubuntu-noble-amd64.lucene++_3.0.9-1_BUILDING.txt.gz
+..
+/usr/bin/ld: /tmp/ccUJivoA.ltrans35.ltrans.o:(.data.rel.ro+0x558): undefined reference to `Lucene::DefaultSimilarity::queryNorm(double)'
+/usr/bin/ld: /tmp/ccUJivoA.ltrans35.ltrans.o:(.data.rel.ro+0x568): undefined reference to `Lucene::DefaultSimilarity::sloppyFreq(int)'
+/usr/bin/ld: /tmp/ccUJivoA.ltrans35.ltrans.o:(.data.rel.ro+0x570): undefined reference to `Lucene::DefaultSimilarity::tf(double)'
+/usr/bin/ld: /tmp/ccUJivoA.ltrans35.ltrans.o:(.data.rel.ro+0x588): undefined reference to `Lucene::DefaultSimilarity::idf(int, int)'
+/usr/bin/ld: /tmp/ccUJivoA.ltrans35.ltrans.o:(.data.rel.ro+0x590): undefined reference to `Lucene::DefaultSimilarity::coord(int, int)'
+/usr/bin/ld: /tmp/ccUJivoA.ltrans72.ltrans.o:(.data.rel.ro+0x360): undefined reference to `Lucene::DefaultSimilarity::lengthNorm(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, int)'
+..
+---
+ src/core/search/DefaultSimilarity.cpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/core/search/DefaultSimilarity.cpp b/src/core/search/DefaultSimilarity.cpp
+index c98f2d95..da4c3db2 100644
+--- a/src/core/search/DefaultSimilarity.cpp
++++ b/src/core/search/DefaultSimilarity.cpp
+@@ -27,35 +27,35 @@ double DefaultSimilarity::computeNorm(const String& fieldName, const FieldInvert
+ return (state->getBoost() * lengthNorm(fieldName, numTerms));
+ }
+
+-inline double DefaultSimilarity::lengthNorm(const String& fieldName, int32_t numTokens) {
++double DefaultSimilarity::lengthNorm(const String& fieldName, int32_t numTokens) {
+ return (double)(1.0 / std::sqrt((double)numTokens));
+ }
+
+-inline double DefaultSimilarity::queryNorm(double sumOfSquaredWeights) {
++double DefaultSimilarity::queryNorm(double sumOfSquaredWeights) {
+ return (double)(1.0 / std::sqrt(sumOfSquaredWeights));
+ }
+
+-inline double DefaultSimilarity::tf(double freq) {
++double DefaultSimilarity::tf(double freq) {
+ return (double)std::sqrt(freq);
+ }
+
+-inline double DefaultSimilarity::sloppyFreq(int32_t distance) {
++double DefaultSimilarity::sloppyFreq(int32_t distance) {
+ return (1.0 / (double)(distance + 1));
+ }
+
+-inline double DefaultSimilarity::idf(int32_t docFreq, int32_t numDocs) {
++double DefaultSimilarity::idf(int32_t docFreq, int32_t numDocs) {
+ return (double)(std::log((double)numDocs / (double)(docFreq + 1)) + 1.0);
+ }
+
+-inline double DefaultSimilarity::coord(int32_t overlap, int32_t maxOverlap) {
++double DefaultSimilarity::coord(int32_t overlap, int32_t maxOverlap) {
+ return (double)overlap / (double)maxOverlap;
+ }
+
+-inline void DefaultSimilarity::setDiscountOverlaps(bool v) {
++void DefaultSimilarity::setDiscountOverlaps(bool v) {
+ discountOverlaps = v;
+ }
+
+-inline bool DefaultSimilarity::getDiscountOverlaps() {
++bool DefaultSimilarity::getDiscountOverlaps() {
+ return discountOverlaps;
+ }
+
diff --git a/dev-cpp/lucene++/lucene++-3.0.9-r2.ebuild b/dev-cpp/lucene++/lucene++-3.0.9-r2.ebuild
index d3b127f1f2ea..5ef6841741c8 100644
--- a/dev-cpp/lucene++/lucene++-3.0.9-r2.ebuild
+++ b/dev-cpp/lucene++/lucene++-3.0.9-r2.ebuild
@@ -33,6 +33,7 @@ PATCHES=(
"${FILESDIR}/${PN}-3.0.9-gcc15.patch"
"${FILESDIR}/${PN}-3.0.9-boost-1.89.patch"
"${FILESDIR}/${PN}-3.0.9-boost-1.90.patch"
+ "${FILESDIR}/${PN}-3.0.9-no-inline.patch"
)
src_configure() {