summaryrefslogtreecommitdiff
path: root/dev-libs/xapian-bindings/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-22 20:47:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-22 20:47:41 +0100
commit5deadca7219297a3c1f90eca00544a00e33efdbc (patch)
tree1cf7fc930e051b39dbd0d7921edad5f94f729500 /dev-libs/xapian-bindings/files
parent614dee2f9d146b148d9c54dd480e7df81ba2f3a7 (diff)
gentoo auto-resync : 22:07:2022 - 20:47:41
Diffstat (limited to 'dev-libs/xapian-bindings/files')
-rw-r--r--dev-libs/xapian-bindings/files/xapian-bindings-1.4.20-slibtool.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/dev-libs/xapian-bindings/files/xapian-bindings-1.4.20-slibtool.patch b/dev-libs/xapian-bindings/files/xapian-bindings-1.4.20-slibtool.patch
new file mode 100644
index 000000000000..d73f8bcb19b9
--- /dev/null
+++ b/dev-libs/xapian-bindings/files/xapian-bindings-1.4.20-slibtool.patch
@@ -0,0 +1,133 @@
+Upstream-PR: https://github.com/xapian/xapian/pull/322
+
+From c513b0d31d2df31eb57ccbe08bbe46821863557d Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 20 Jul 2022 13:37:20 -0700
+Subject: [PATCH] xapian-bindings: Fix the build with slibtool
+
+With slibtool the --config argument works differently than in GNU
+libtool which results in 'auto/Xapian/Xapian$(PERL_SO)' failing to be
+created. This can be worked around by using libtool --mode=install where
+slibtool can copy the module to the intended location.
+
+However GNU libtool still requires using --config otherwise it fails
+during --mode=install with the following error.
+
+ /bin/bash ../libtool --mode=install cp Xapian.la /home/runner/work/xapian/xapian/perl/auto/Xapian/Xapian.la
+ libtool: error: error: cannot install 'Xapian.la' to a directory not ending in /usr/local/lib/x86_64-linux-gnu/perl/5.26.1/auto/Xapian
+
+gentoo issue: https://bugs.gentoo.org/793428
+---
+ java/run-java-test | 21 +++++++++++++++++----
+ perl/Makefile.am | 9 +++++++--
+ python3/Makefile.am | 9 +++++++--
+ tcl8/run-tcl-test | 20 +++++++++++++-------
+ 4 files changed, 44 insertions(+), 15 deletions(-)
+
+diff --git a/java/run-java-test b/java/run-java-test
+index d0e97af300e..a838de98492 100755
+--- a/java/run-java-test
++++ b/java/run-java-test
+@@ -1,11 +1,24 @@
+ #!/bin/sh
+ # To run `jdb` instead of `java` set JAVA=jdb
+ # To run under gdb, set JAVA='gdb --args java'
++LIBTOOL="${LIBTOOL-../libtool}"
+ arg=`echo "$1"|sed 's!.*/!!;s!\.class$!!'`
++
++# GNU libtool and slibtool have different and incompatible usage for --config.
++if ${LIBTOOL} --config > libtoolconfig.$$ 2>/dev/null; then
++ . ./libtoolconfig.$$
++else
++ objdir="built/libs"
++ rm -rf "$objdir"
++ mkdir -p "$objdir"
++ ${LIBTOOL} --mode=install cp libxapian_jni.la "$objdir"
++fi
++rm -f libtoolconfig.$$
++
+ # Use libtool's -dlopen option to ensure that libxapian_jni.so (or whatever)
+ # is in the shared library path.
+-${LIBTOOL-../libtool} --config > libtoolconfig.$$
+-. ./libtoolconfig.$$
+-rm -f libtoolconfig.$$
+-${LIBTOOL-../libtool} -dlopen libxapian_jni.la --mode=execute \
++${LIBTOOL} -dlopen libxapian_jni.la --mode=execute \
+ $OSX_SIP_HACK_ENV ${JAVA-java} -Djava.library.path="$objdir" -classpath built/xapian.jar${PATHSEP-:}. "$arg"
++rc=$?
++rm -rf built/libs
++exit $rc
+diff --git a/perl/Makefile.am b/perl/Makefile.am
+index 4f2e5e4283d..f71579736e5 100644
+--- a/perl/Makefile.am
++++ b/perl/Makefile.am
+@@ -55,9 +55,14 @@ BUILT_SOURCES = Xapian.pm xapian_wrap.cc \
+
+ auto/Xapian/Xapian$(PERL_SO): Xapian.la
+ @$(MKDIR_P) auto/Xapian
+- $(LIBTOOL) --config > libtoolconfig.tmp
++## GNU libtool and slibtool have different and incompatible usage for --config.
++ if $(LIBTOOL) --config > libtoolconfig.tmp 2>/dev/null; then \
+ ## ksh requires a path on the sourced file.
+- . ./libtoolconfig.tmp; cp "$$objdir/Xapian$(PERL_SO)" auto/Xapian
++ . ./libtoolconfig.tmp; \
++ cp "$$objdir/Xapian$(PERL_SO)" auto/Xapian; \
++ else \
++ $(LIBTOOL) --mode=install cp $< $@; \
++ fi;
+ rm -f libtoolconfig.tmp
+
+ EXTRA_DIST = perl.i except.i extra.i $(TESTS) \
+diff --git a/python3/Makefile.am b/python3/Makefile.am
+index 3c692a9e2d4..9bf01833636 100644
+--- a/python3/Makefile.am
++++ b/python3/Makefile.am
+@@ -88,9 +88,14 @@ xapian/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@: xapian/__init__.py xapian/
+
+ xapian/_xapian$(PYTHON3_EXT_SUFFIX): _xapian.la
+ $(MKDIR_P) xapian
+- $(LIBTOOL) --config > libtoolconfig.tmp
++## GNU libtool and slibtool have different and incompatible usage for --config.
++ if $(LIBTOOL) --config > libtoolconfig.tmp 2>/dev/null; then \
+ ## ksh requires a path on the sourced file.
+- . ./libtoolconfig.tmp; cp $$objdir/_xapian$(PYTHON3_EXT_SUFFIX) xapian
++ . ./libtoolconfig.tmp; \
++ cp $$objdir/_xapian$(PYTHON3_EXT_SUFFIX) xapian; \
++ else \
++ $(LIBTOOL) --mode=install cp $< $@; \
++ fi;
+ rm -f libtoolconfig.tmp
+
+ CLEANFILES = \
+diff --git a/tcl8/run-tcl-test b/tcl8/run-tcl-test
+index 206b5e0e056..71511032024 100755
+--- a/tcl8/run-tcl-test
++++ b/tcl8/run-tcl-test
+@@ -1,14 +1,20 @@
+ #!/bin/sh
+-${LIBTOOL-../libtool} --config > libtoolconfig.$$
+-. ./libtoolconfig.$$
+-rm -f libtoolconfig.$$
++tclshlibext=`echo 'puts [info sharedlibextension]'|${TCLSH-tclsh}`
++rm -f xapian$tclshlibext
++
++LIBTOOL="${LIBTOOL-../libtool}"
+ module=yes
+-eval shlibext=$shrext_cmds
+
+-tclshlibext=`echo 'puts [info sharedlibextension]'|${TCLSH-tclsh}`
++# GNU libtool and slibtool have different and incompatible usage for --config.
++if ${LIBTOOL} --config > libtoolconfig.$$ 2>/dev/null; then
++ . ./libtoolconfig.$$
++ eval shlibext=$shrext_cmds
++ ln -s $objdir/xapian$shlibext xapian$tclshlibext
++else
++ ${LIBTOOL} --mode=install cp xapian.la ./xapian$tclshlibext
++fi
++rm -f libtoolconfig.$$
+
+-rm -f xapian$tclshlibext
+-ln -s $objdir/xapian$shlibext xapian$tclshlibext
+ $OSX_SIP_HACK_ENV ${TCLSH-tclsh} ${srcdir-.}/runtest.tcl ${srcdir-.}/smoketest.tcl
+ rc=$?
+ rm -f xapian$tclshlibext