Created attachment 286529 [details] xapian-bindings-1.2.7.ebuild This ebuild is migrated from Arfrevers work. You can find it here: http://code.google.com/p/gentoo-progress/source/browse/overlays/progress/dev-libs/xapian-bindings/xapian-bindings-1.2.7.ebuild Changes: - perl bindings - lua bindings - add xapian.ini to php installation (bug 349445, bug 257423) FEATURES=test USE="lua java perl php python ruby" emerge =dev-libs/xapian-bindings-1.2.7 passes at least on my AMD64. Tested with: ruby 1.8, python 2.5-2.7, php 5.3, icedtea6-bin 1.9, lua 5.1, perl 5.12. Please help out in testing with mono, this isn't my playground at all :(
Proxy team! This package needs a home. Will you help build a house with me? :-)
Since I took care of xapian (bug #383001) I might as well look at this too. I'll test and add your ebuild if everything is okay.
Its in the tree. There were no changes needed to the ebuild. Please test and report back to this bug.
- ~ppc keyword disappeared. - The ebuild contains a mistake, which causes that Python bindings are always built with only 1 version of Python. - Tests of Perl bindings probably fail.
Hello, thanks for your reply. (In reply to comment #4) > - ~ppc keyword disappeared. > - The ebuild contains a mistake, which causes that Python bindings are always > built with only 1 version of Python. If you try running the ebuild you will notice that it does indeed build for multiple versions. Please show me output of when it fails! > - Tests of Perl bindings probably fail. I would appreciate if you didn't do speculative comments. I did indeed run FEATURES=test USE=perl without failure.
'sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed failed"' disappeared. See the beginning of log of src_compile(): >>> Compiling source in /var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7 ... make -j2 make all-recursive make[1]: Entering directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7' Making all in python make[2]: Entering directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python' make all-am make[3]: Entering directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python' /bin/sh ../libtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/python2.7 -fno-strict-aliasing -Wall -Wno-unused -Wno-uninitialized -fvisibility=hidden -march=core2 -O2 -fno-ident -pipe -Wall -I/etc/java-config-2/current-system-vm/include -I/etc/java-config-2/current-system-vm/include/linux -MT xapian_wrap.lo -MD -MP -MF .deps/xapian_wrap.Tpo -c -o xapian_wrap.lo `test -f 'modern/xapian_wrap.cc' || echo './'`modern/xapian_wrap.cc libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/python2.7 -fno-strict-aliasing -Wall -Wno-unused -Wno-uninitialized -fvisibility=hidden -march=core2 -O2 -fno-ident -pipe -Wall -I/etc/java-config-2/current-system-vm/include -I/etc/java-config-2/current-system-vm/include/linux -MT xapian_wrap.lo -MD -MP -MF .deps/xapian_wrap.Tpo -c modern/xapian_wrap.cc -fPIC -DPIC -o .libs/xapian_wrap.o mv -f .deps/xapian_wrap.Tpo .deps/xapian_wrap.Plo /bin/sh ../libtool --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -fno-strict-aliasing -Wall -Wno-unused -Wno-uninitialized -fvisibility=hidden -march=core2 -O2 -fno-ident -pipe -Wall -I/etc/java-config-2/current-system-vm/include -I/etc/java-config-2/current-system-vm/include/linux -avoid-version -module -shrext ".so" -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--hash-style=gnu -Wl,--sort-common -o _xapian.la -rpath /usr/lib64/python2.7/site-packages/xapian xapian_wrap.lo -L/usr/lib64 -lxapian -lstdc++ libtool: link: x86_64-pc-linux-gnu-g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/crtbeginS.o .libs/xapian_wrap.o -L/usr/lib64 /usr/lib64/libxapian.so -lz -luuid -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/crtn.o -march=core2 -O2 -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--hash-style=gnu -Wl,--sort-common -Wl,-soname -Wl,_xapian.so -o .libs/_xapian.so The end of log of src_compile() contains: * Building of dev-libs/xapian-bindings-1.2.7 with CPython 2.6... make -j2 PYTHON=python2.6 PYTHON_INC=/usr/include/python2.6 PYTHON_LIB=/usr/lib64/python2.6 PYTHON_SO=.so pkgpylibdir=/usr/lib64/python2.6/site-packages/xapian make all-am make[1]: Entering directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python-2.6' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python-2.6' * Building of dev-libs/xapian-bindings-1.2.7 with CPython 2.7... make -j2 PYTHON=python2.7 PYTHON_INC=/usr/include/python2.7 PYTHON_LIB=/usr/lib64/python2.7 PYTHON_SO=.so pkgpylibdir=/usr/lib64/python2.7/site-packages/xapian make all-am make[1]: Entering directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python-2.7' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `/var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python-2.7' >>> Source compiled.
- Tarball contains files generated by SWIG, so dependency on dev-lang/swig is not needed. - The ebuild has unconditional dependency on: || ( =dev-libs/xapian-bindings-1.2.7[php_targets_php5-3] =dev-libs/xapian-bindings-1.2.7[php_targets_php5-2] ) php_targets_php5-3? ( dev-lang/php:5.3 ) php_targets_php5-2? ( dev-lang/php:5.2 ) PHP_EXT_OPTIONAL_USE="php" should be set.
The fact that python-2.6/xapian/_xapian.so has been built using headers of Python 2.7 causes easily reproducible failure of tests with Python 2.6. ImportError: /var/tmp/portage/dev-libs/xapian-bindings-1.2.7/work/xapian-bindings-1.2.7/python-2.6/xapian/_xapian.so: undefined symbol: PyCapsule_New
Thanks for the feedback, I'll have a new look at how the python build process is done tomorrow.
Apparently "sed -e 's:\(blib/arch/auto/SymbolTest\)/.libs:\1:' -i perl/t/symbol-test.t" was needed in <=1.2.6, but upstream has differently fixed this problem in 1.2.7.
(In reply to comment #4) > - ~ppc keyword disappeared. Arfrever, let's wait til Johan and I get -r1 out with fixes and then if ppc works, I'll read the keyword. Inheriting a new package with recent bumps, I didn't feel comfortable carrying over keywords I could not test.
Created attachment 286631 [details] xapian-bindings-1.2.7-r1.ebuild Hm, must have messed up somehow - sed is in the ebuild on my testing rig. Attaching new ebuild with this included. I've double checked by running my own applications against xapian with these abi's: 2.5,2.6,2.7 (sorry, couldn't test 2.4 - but xapian test suite passes and 'import xapian' works). Further: - removed swig dep, thanks arfrever - PHP_EXT_OPTIONAL_USE="php" added, thanks arriver - remove our conditional dep on php, php-ext-source-r2 takes care of that