diff options
Diffstat (limited to 'dev-libs/xapian-bindings')
-rw-r--r-- | dev-libs/xapian-bindings/Manifest | 4 | ||||
-rw-r--r-- | dev-libs/xapian-bindings/xapian-bindings-1.2.22.ebuild | 203 | ||||
-rw-r--r-- | dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild | 221 |
3 files changed, 184 insertions, 244 deletions
diff --git a/dev-libs/xapian-bindings/Manifest b/dev-libs/xapian-bindings/Manifest index 55d10e9abe03..52ac17c507e4 100644 --- a/dev-libs/xapian-bindings/Manifest +++ b/dev-libs/xapian-bindings/Manifest @@ -1,14 +1,12 @@ AUX xapian-bindings-1.3.6-allow-ruby-2.0.patch 477 SHA256 3805bcf6f89888a22ecaa755feffd6707230892f885fb7f5121b26bb82a3726c SHA512 ed9d5a5542054cb9a239d1adfb6e88bfeb9a4931545b9b60208f9a9a8658822329005fae6707fcaebb08e16ece3a8dc44eb23e0f8dd045bce16aa7b008243198 WHIRLPOOL a65144ef393d4861d94e4be58c0f5a401e1fcdf2b9c9787b6b5b1f7c7eaab3c027e54d8a2436f44b1f5fcd5f02098026aabe5428c5333d8344559b9cc54bef01 -DIST xapian-bindings-1.2.22.tar.xz 844040 SHA256 b15ca7984980a1d2aedd3378648ef5f3889cb39a047bac1522a8e5d04f0a8557 SHA512 0eec204ebb92f1230b9dbd080ad2b56ea5fa8e6170eb4354556e5790c7a7da7ba4c8475aaf86fb8f10f102a461d91590184271220626315f55c0631e73e122e0 WHIRLPOOL 05ac5b31d73f9de0c101da832ef289f6a505baa68216eba6fa0cf80df1709feef7e42c7b8f4cf9af35f775e8514c6d4b944c2acebffff10bc558a83305a637ce DIST xapian-bindings-1.2.24.tar.xz 886148 SHA256 0c2a0df0a4616e2bd8e578d372c9bb4684780573abebbd1ac515502177229965 SHA512 aaedac02ec9fb192ef8b45b07bef5584bc60aff7068c2e3fa0008430ed8296a653780cad04176431d81fe014802df333a3090469dce63204923eead15e6bbaef WHIRLPOOL 996b960727a79dbe669ae8139863c3896c6efdbe781177098d00960982b86a43739433c69db32e62b6660dd4751736d859f5d950d26d6b635c310c35d75a8a0f DIST xapian-bindings-1.2.25.tar.xz 1711860 SHA256 5f07425d6c5fc540fab965cd011bb043e3ee0df7da03a8814d6fc20dc5e9dd0f SHA512 5d27b2ae2722409ea99a1b9e6bf3f5c61ed9195b67121c090f1533340d3b11c546014985d0989a0725b60a07b392b9705bce054495f423bd3a7c99835aa336c7 WHIRLPOOL aa5c5c310bee6d10f75bb0586386982ec9c32af0b9fbffde8f8c12c37d4a306c66bea69f6dd5502aa6ca93d9d288720fef0d8f7ab6bcea235803c2e3c5b3e57e DIST xapian-bindings-1.4.4.tar.xz 1117140 SHA256 3b323eac41c42750b7dacc9319b1477a7c1b552c95f590127643dee3b44d8a39 SHA512 006e771b3ea654130b4f76f1a1caee576fd5a3fa6317ca44f1e5483671e8c83073ecbde4f3fc7f84c75590eec53acb59701af4cf9bcd72355ed9d53924492b53 WHIRLPOOL 6932654e8fb4feea2de6db9f58273ab1fd253e0a90992377224c94a671979e102992052396fc319a5a3a8b3122d6a12d43a4bcd73e81e9dfc2b1a3b04838beae DIST xapian-bindings-1.4.5.tar.xz 1118884 SHA256 647886730a71bcc0e9f666fcd702b7141d4e9a82e1085e44eb4470624e1a9d33 SHA512 e39ece495e25077990db3d06554306567c52c6f45ad55a65005cb97e18086ee18947e41d0d612157b891b61e015881385bcb082a03aa0c6452565e90d09e8275 WHIRLPOOL d634e91cd815dc963acec0259d26e4ee96acf28d234bda639a6f927e2165f95a389e7c5f6cb5fe3aa17b70d0838fa3de9a967a26d027268e4d98d67aa0fd580b -EBUILD xapian-bindings-1.2.22.ebuild 5543 SHA256 a2e433ef7f014430f40e53005a0d0799fae682c75adf1df4919842b22360c49a SHA512 f854e192cfad5da24d2e2334b49e122971dcdf058e1e0a4b29227770906d2e9d3731a782857326f31fe639b347bca66e6c67deff38a18ec77c374ba12bf42dbf WHIRLPOOL dd57b7c016c019fdb940d32b4b4e7af85f21476f7c2564d68d987018c151d193435e455c1e3d6b480f9130f8a0b668ee03949ebcc2ed2553cf5ea8ff3fefba1b EBUILD xapian-bindings-1.2.24.ebuild 5550 SHA256 6666fa0d07b12f775efd5acfccc80731dc76da976682435304c4b2deb9b12d9a SHA512 4961916df0b4cb265b3e4f68566f0c0f66f767c31d762cd044095a897e916910d3adaebc549e90d924ac738435863095664731272c8c12df6be0fd94dc0039c6 WHIRLPOOL 04dd121595ce0031ad00d1e384e1063b86e5deacbc188bf1204bb642ea71f2b0c26aa99f51e74ea3d08ed72aa692e4c26b7921e9a7a7be17fafacad14d4a8e02 EBUILD xapian-bindings-1.2.25.ebuild 5551 SHA256 e0c63e5f17099410d6c9e62bfc0e1b80d77e4c229816a9d3354e702889fed29c SHA512 cea9b9dbb61721ce41ec481099c8cdc27fc7d6da5b88c7777503348b124442aecb70b0c888d3d1560332679ae3c8a3ab60eacde4b6154abba9c2be60a853c36a WHIRLPOOL 9f801041c82076cf9cf13b5c4c8725b7f2625140d37a2fc39b2394e19cc5f5ec848e871e11fcc8f2cfb6ae90b18d312c2e9d03a63835b988de70704a9cd29b31 EBUILD xapian-bindings-1.4.4.ebuild 3517 SHA256 1c6ce5c180f445d6ce3ce9b14ae452a03fa8bdbc295bb2cc607aa9fa55c2cdc0 SHA512 bbd8f9e3b01b2c87e4d02630d7f61fc1e3ac10380352199ef5cc0853c71e5fa2432e8cd02229c640394871a284dbc73e3612b8b62c57517510da758565fe4071 WHIRLPOOL 104a5a4b25eef78d60a1325fb23b1d365059d2eee81344e1d4739c46580524be87018fae0eb4f4c9f37ddf871c6f881560e3eaa2b4680251e16fa47fe2d34723 -EBUILD xapian-bindings-1.4.5.ebuild 3539 SHA256 eaf3c4880d65e02240e59a07fe10e8ca5453785738643c5ba9d19aae8eec557f SHA512 cac4a5f37f462c41341d0f917e848ff1dd4c60d4f63280befdb1fb1051c6ff67d75db0c8c68dca1d05bc887566054dfd38d38e230d84cfa9418f4dba048937ac WHIRLPOOL bbbda1c88e63c1ef7e8ac80b983a8589b306c3c9066d1b254c75d287411c4f26c566c21245c4462244314cf4967e1972c7e3cc3646f0e08ba3dde469acfc043e +EBUILD xapian-bindings-1.4.5.ebuild 6505 SHA256 7a58f6ea027d9347d66e437927af4d36017ece2896ba2c0681b164c01b63ab21 SHA512 774debfff344112f1df68eb7278243fbfdbd30392e9ee42ec735793eef2b77cf47d5eb39182f83707b0a3f5b14caf4303e8d9ccd5149d9877e38ded4427d7940 WHIRLPOOL 6c096771f8c4e37a160963cdc1dfd0917b444daa83f8dd4c6213ba05c8b2f6d84dc3c68e200a60609e4767e23b4b15b83faa45ea40224a4b4f476cab5dc3e4e5 MISC ChangeLog 11298 SHA256 355a7ec45f8a7f8dab2028fcdfa14c54f2a205275362b8191bb14c21eb0aa0ac SHA512 63a350ab3561b84a1b9aac73bf936e7f0e40a3b8541053c96007571563aac1a44f96c11fbbdf07d2425659d866ed16f81a8c66b97eaa703b0e273b6ba5a07214 WHIRLPOOL cbf7c5432a60e382073265335d5870435bc8fe8984e0930019bc603e1abecaaed1792fab7d9c515e99cfc3466379ece99ab5a106a31717014163ef96622ab412 MISC ChangeLog-2015 16665 SHA256 166eec91a7534f172df62c046909000890125664c04f559d21476b32c4b2cdae SHA512 136d0ffff7fc842849ba48fd99f009500a829d8f2c755721584abc4725213b0a183d9159b1043fe8b2601550dc41a08bd7910d7ba8edccad81cb22963a23c04a WHIRLPOOL aea2dc8ac317c6610ba06d41c5b412e21d86f9a559be85a3188cafdab6d9207291dac5c891501f1b9a4b3818d1770d366f162cfd97dde0d2d093a8c682e176a3 MISC metadata.xml 252 SHA256 a590e5133cd97a615db4f977b0e28e5c60c56cac76eb3d339109cdf379003b60 SHA512 cbda7bf9832872764ae776ce16b2966c37a2ba3a1982d9817006fd6b82d7b17146434cde428bf114062a483e9053d2acdcdd004695e6ebf428d19cdc09937c65 WHIRLPOOL b209a730a169969b9e3c4d4612368bc5b30bfa5fae275d98d83ba96fd0ad01d308a8fed4f7d67a7c9fa417c624dfeb23ce89ab58923a8a0b5b1bd68ee73f288c diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.2.22.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.2.22.ebuild deleted file mode 100644 index f04d5d805817..000000000000 --- a/dev-libs/xapian-bindings/xapian-bindings-1.2.22.ebuild +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -USE_PHP="php5-5" - -PHP_EXT_NAME="xapian" -PHP_EXT_INI="yes" -PHP_EXT_OPTIONAL_USE="php" - -#mono violates sandbox, we disable it until we figure this out -#inherit java-pkg-opt-2 mono-env php-ext-source-r2 python -inherit java-pkg-opt-2 php-ext-source-r2 python-r1 toolchain-funcs - -DESCRIPTION="SWIG and JNI bindings for Xapian" -HOMEPAGE="http://www.xapian.org/" -SRC_URI="http://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 sparc x86" -#IUSE="java lua mono perl php python ruby tcl" -#REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )" -IUSE="java lua perl php python ruby tcl" -REQUIRED_USE="|| ( java lua perl php python ruby tcl ) python? ( ${PYTHON_REQUIRED_USE} )" - -COMMONDEPEND="dev-libs/xapian:0/1.2.22 - lua? ( dev-lang/lua:0 ) - perl? ( dev-lang/perl:= ) - python? ( ${PYTHON_DEPS} ) - ruby? ( dev-lang/ruby:= ) - tcl? ( >=dev-lang/tcl-8.1:0= )" -# mono? ( >=dev-lang/mono-1.0.8 ) -DEPEND="${COMMONDEPEND} - virtual/pkgconfig - java? ( >=virtual/jdk-1.3 )" -RDEPEND="${COMMONDEPEND} - java? ( >=virtual/jre-1.3 )" - -pkg_setup() { - java-pkg-opt-2_pkg_setup -} - -src_unpack() { - default -} - -src_prepare() { - java-pkg-opt-2_src_prepare - if use java; then - sed \ - -e 's/$(JAVAC)/$(JAVAC) $(JAVACFLAGS)/' \ - -i java{/,/org/xapian/errors/,/org/xapian/}Makefile.in || die "sed failed" - fi - - if use python; then - sed \ - -e 's:\(^pkgpylib_DATA = xapian/__init__.py\).*:\1:' \ - -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian.so|' \ - -i python/Makefile.in || die "sed failed" - fi -} - -src_configure() { - if use java; then - CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)" - fi - - if use perl; then - export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')" - export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')" - fi - - if use lua; then - export LUA_LIB="$($(tc-getPKG_CONFIG) --variable=INSTALL_CMOD lua)" - fi - - econf \ - $(use_with java) \ - $(use_with lua) \ - $(use_with perl) \ - $(use_with php) \ - $(use_with python) \ - $(use_with ruby) \ - $(use_with tcl) -# $(use_with mono csharp) \ - - # PHP and Python bindings are built/tested/installed manually. - sed -e "/SUBDIRS =/s/ php//" -i Makefile || die "sed Makefile" - sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile" -} - -src_compile() { - default - - if use php; then - local php_slot - for php_slot in $(php_get_slots); do - cp -r php php-${php_slot} - emake -C php-${php_slot} \ - PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \ - PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \ - PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \ - PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" - done - fi - - if use python; then - python_copy_sources -# building() { -# emake -C python \ -# PYTHON="$(PYTHON)" \ -# PYTHON_INC="$(python_get_includedir)" \ -# PYTHON_LIB="$(python_get_libdir)" \ -# PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \ -# pkgpylibdir="$(python_get_sitedir)/xapian" -# } - building() { - emake -C python \ - PYTHON_INC="$(python_get_includedir)" \ - pkgpylibdir="$(python_get_sitedir)/xapian" - VERBOSE="1" - } - python_foreach_impl building - fi -} - -src_test() { - default - - if use php; then - local php_slot - for php_slot in $(php_get_slots); do - emake -C php-${php_slot} \ - PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \ - PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \ - PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \ - PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \ - check - done - fi - - if use python; then - testing() { - emake -C python \ - PYTHON_INC="$(python_get_includedir)" \ - pkgpylibdir="$(python_get_sitedir)/xapian" \ - VERBOSE="1" \ - check - } - python_foreach_impl testing - fi -} - -src_install () { - emake DESTDIR="${D}" install - - if use java; then - java-pkg_dojar java/built/xapian_jni.jar - # TODO: make the build system not install this... - java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so" - rm "${D}/${S}/java/built/libxapian_jni.so" - rmdir -p "${D}/${S}/java/built" - rmdir -p "${D}/${S}/java/native" - fi - - if use php; then - local php_slot - for php_slot in $(php_get_slots); do - emake DESTDIR="${D}" -C php-${php_slot} \ - PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \ - PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \ - PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \ - PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \ - install - done - - php-ext-source-r2_createinifiles - fi - - if use python; then - installation() { - emake -C python \ - DESTDIR="${D}" \ - PYTHON_INC="$(python_get_includedir)" \ - pkgpylibdir="$(python_get_sitedir)/xapian" \ - VERBOSE="1" \ - install - } - python_foreach_impl installation - fi - - # For some USE combinations this directory is not created - if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then - mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" - fi - - dodoc AUTHORS HACKING NEWS TODO README -} diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild index 2a25212d28da..8124da90fdeb 100644 --- a/dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild +++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild @@ -3,16 +3,19 @@ EAPI="6" -PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) PYTHON_REQ_USE="threads(+)" -USE_PHP="php5-6" +USE_PHP="php5-6 php7-0 php7-1 php7-2" PHP_EXT_NAME="xapian" PHP_EXT_INI="yes" PHP_EXT_OPTIONAL_USE="php" -inherit distutils-r1 libtool java-pkg-opt-2 mono-env php-ext-source-r3 toolchain-funcs +USE_RUBY="ruby22 ruby23 ruby24" +RUBY_OPTIONAL="yes" + +inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs DESCRIPTION="SWIG and JNI bindings for Xapian" HOMEPAGE="http://www.xapian.org/" @@ -22,7 +25,9 @@ LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" IUSE="java lua mono perl php python ruby tcl" -REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )" +REQUIRED_USE="|| ( java lua mono perl php python ruby tcl ) + python? ( ${PYTHON_REQUIRED_USE} ) + ruby? ( || ( $(ruby_get_use_targets) ) )" COMMONDEPEND="dev-libs/xapian:0/30 lua? ( dev-lang/lua:= ) @@ -31,7 +36,7 @@ COMMONDEPEND="dev-libs/xapian:0/30 dev-python/sphinx[${PYTHON_USEDEP}] ${PYTHON_DEPS} ) - ruby? ( dev-lang/ruby:= ) + ruby? ( $(ruby_implementations_depend) ) tcl? ( dev-lang/tcl:= ) mono? ( dev-lang/mono )" DEPEND="${COMMONDEPEND} @@ -40,64 +45,140 @@ DEPEND="${COMMONDEPEND} RDEPEND="${COMMONDEPEND} java? ( >=virtual/jre-1.6 )" +S="${WORKDIR}/${P}" + +has_basic_bindings() { + # Update this list if new bindings are added that are not built + # multiple times for multiple versions like php, python and ruby are + return $(use mono || use java || use lua || use perl || use tcl) +} + +php_copy_sources() { + local MULTIBUILD_VARIANTS=($(php_get_slots)) + multibuild_copy_sources +} + +php_foreach_impl() { + local MULTIBUILD_VARIANTS=($(php_get_slots)) + multibuild_foreach_variant "$@" +} + +ruby_copy_sources() { + local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations)) + multibuild_copy_sources +} + +ruby_foreach_impl() { + local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations)) + multibuild_foreach_variant "$@" +} + pkg_setup() { use mono && mono-env_pkg_setup use java && java-pkg-opt-2_pkg_setup } +src_unpack() { + default + + if use php; then + local php_slot + for php_slot in $(php_get_slots); do + # Unfortunately required for php-ext-source-r3_createinifiles(). + mkdir "${WORKDIR}/${php_slot}" + done + fi +} + src_prepare() { use java && java-pkg-opt-2_src_prepare # http://trac.xapian.org/ticket/702 export XAPIAN_CONFIG="/usr/bin/xapian-config" - # Accept ruby 2.0 - patch configure directly to avoid autoreconf - epatch "${FILESDIR}"/${PN}-1.3.6-allow-ruby-2.0.patch + if use php; then + php_copy_sources + fi if use python; then python_copy_sources fi + if use ruby; then + ruby_copy_sources + fi + eapply_user } src_configure() { - local conf=( - --disable-documentation - --without-csharp - --without-python - --without-python3 - ) + if has_basic_bindings ; then + local conf=( + --disable-documentation + $(use_with mono csharp) + $(use_with java) + $(use_with lua) + $(use_with perl) + $(use_with tcl) + --without-php + --without-php7 + --without-python + --without-python3 + --without-ruby + ) - if use java; then - export CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)" - conf+=( --with-java ) - fi + if use java; then + local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)" + fi - if use perl; then - export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')" - export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')" - conf+=( --with-perl ) - fi + if use perl; then + local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')" + local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')" + fi + + if use lua; then + local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)" + local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)" + fi - if use lua; then - export LUA_LIB="$($(tc-getPKG_CONFIG) --variable=INSTALL_CMOD lua)" - conf+=( --with-lua ) + econf "${conf[@]}" fi - if use php; then - if has_version "=dev-lang/php-7*"; then - conf+=( --with-php7 ) - else - conf+=( --with-php ) + php_configure() { + local myconf=( + --disable-documentation + --without-java + --without-lua + --without-csharp + --without-perl + --without-python + --without-python3 + --without-ruby + --without-tcl + ) + if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then + myconf+=( + --with-php + --without-php7 + ) + local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config" + elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then + myconf+=( + --without-php + --with-php7 + ) + local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config" fi - fi - use ruby && conf+=( --with-ruby ) - use tcl && conf+=( --with-tcl ) - use mono && conf+=( --with-csharp ) + econf "${myconf[@]}" + } + + if use php; then + addpredict /usr/share/snmp/mibs/.index + addpredict /var/lib/net-snmp/mib_indexes - econf ${conf[@]} + php_foreach_impl run_in_build_dir php_configure + fi python_configure() { local myconf=( @@ -107,6 +188,7 @@ src_configure() { --without-csharp --without-perl --without-php + --without-php7 --without-ruby --without-tcl ) @@ -125,18 +207,72 @@ src_configure() { if use python; then python_foreach_impl run_in_build_dir python_configure fi + + ruby_configure() { + local myconf=( + --disable-documentation + --without-java + --without-lua + --without-csharp + --without-perl + --without-php + --without-php7 + --without-python + --without-python3 + --with-ruby + --without-tcl + ) + local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}" + + econf "${myconf[@]}" + } + + if use ruby; then + ruby_foreach_impl run_in_build_dir ruby_configure + fi } src_compile() { - default + if has_basic_bindings ; then + default + fi + + if use php; then + php_foreach_impl run_in_build_dir emake + fi + if use python; then unset PYTHONDONTWRITEBYTECODE python_foreach_impl run_in_build_dir emake fi + + if use ruby; then + ruby_foreach_impl run_in_build_dir emake + fi +} + +src_test() { + if has_basic_bindings ; then + default + fi + + if use php; then + php_foreach_impl run_in_build_dir emake check + fi + + if use python; then + python_foreach_impl run_in_build_dir emake check + fi + + if use ruby; then + ruby_foreach_impl run_in_build_dir emake check + fi } src_install() { - emake DESTDIR="${D}" install + if has_basic_bindings ; then + emake DESTDIR="${D}" install + fi if use java; then java-pkg_dojar java/built/xapian_jni.jar @@ -145,12 +281,21 @@ src_install() { rm -rf "${D}var" || die "could not remove java cruft!" fi - use php && php-ext-source-r3_createinifiles + if use php; then + php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install + php-ext-source-r3_createinifiles + # php-ext-source-r3_createinifiles() changes current directory. + cd "${S}" + fi if use python; then python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install fi + if use ruby; then + ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install + fi + # For some USE combinations this directory is not created if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die |