Skip to content

Commit

Permalink
dev-libs/xapian-bindings: version bump 1.4.21
Browse files Browse the repository at this point in the history
Signed-off-by: Anthony G. Basile <[email protected]>
  • Loading branch information
blueness committed Sep 26, 2022
1 parent 433041b commit bcf3c6d
Show file tree
Hide file tree
Showing 2 changed files with 347 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-libs/xapian-bindings/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
DIST xapian-bindings-1.4.18.tar.xz 1135644 BLAKE2B 7120c42d73794f8212bf15afb4566119e44cd39c711d50aab4fcc4320419babc440d4dd732af9e739c68397e740da192fa80cd08c5d2b59e1ae13af4444ff3d6 SHA512 e965384febaa83c28fd63b82192bfa4d5d34b4eb7cfacf1ddfc1201deada4f0498df8e50a191713dc95feb8edb0b1a4e9d6983a639c564f086ee305b8a05397e
DIST xapian-bindings-1.4.19.tar.xz 1137596 BLAKE2B 46004a3449a3137db42164a8b4c5b8684d2eaf0edfa60fe7ca41d5565d1cc16b110ca8204100c9e654baa323a4c73536f80550b17989ce3ee4a132315c31a50e SHA512 c3e353a192822be5d86d448b9d5e4c5eb15d5eb2d079560f7c457f8f7ca85d42e2b933891e784d384c188577f427ca1929c2b47732b9d637e36543e8b5b704d6
DIST xapian-bindings-1.4.20.tar.xz 1143304 BLAKE2B 3ab6a9be536d10b0dd369c1c638acbdd7fdf855f6dc8726db9c3791a8369cd83196214771b923aa538e5dda320d2b417f5f0944181b5691cfe5d8e7ddc97dd96 SHA512 bdc876b8e1b946d27673122de6d298112c82fa41e19090a2bcbe0954905ddf66171d36e6753a1e8d46578b128edd729e2fd252311d60ff40a2aec9a4d57796ed
DIST xapian-bindings-1.4.21.tar.xz 1151620 BLAKE2B 5596d0784110b6b73efce4b330ad7c0750a7173c94c37d80b4c75865b949b16f32957ff7ca0d67c08592b85874a5b19e57a11d32ef26976fb3cae38f542f5ba0 SHA512 86cbdc8ba73be8aa947e209106dd49d111d264f0b00b5831356e19ba3299eb8f87f2c57ab051ea54c54fb5f1b8cc6a1175ee18f89094f5c7345b820ea805ad33
346 changes: 346 additions & 0 deletions dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,346 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

LUA_COMPAT=( lua5-{1,3,4} luajit )

PYTHON_COMPAT=( python3_{7,8,9,10} )
PYTHON_REQ_USE="threads(+)"

USE_PHP="php7-4 php8-0"

PHP_EXT_NAME="xapian"
PHP_EXT_INI="yes"
PHP_EXT_OPTIONAL_USE="php"

USE_RUBY="ruby26 ruby27 ruby30"
RUBY_OPTIONAL="yes"

inherit java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng

DESCRIPTION="SWIG and JNI bindings for Xapian"
HOMEPAGE="https://www.xapian.org/"
SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~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 )
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
ruby? ( || ( $(ruby_get_use_targets) ) )"

COMMONDEPEND=">=dev-libs/xapian-1.4.21
lua? ( ${LUA_DEPS} )
perl? ( dev-lang/perl:= )
php? ( dev-lang/php:=[-threads] )
python? (
dev-python/sphinx[${PYTHON_USEDEP}]
${PYTHON_DEPS}
)
ruby? ( $(ruby_implementations_depend) )
tcl? ( dev-lang/tcl:= )
mono? ( dev-lang/mono )"
DEPEND="${COMMONDEPEND}
virtual/pkgconfig
java? ( >=virtual/jdk-1.8:* )"
RDEPEND="${COMMONDEPEND}
java? ( >=virtual/jre-1.8:* )"

S="${WORKDIR}/${P}"

has_basic_bindings() {
# Update this list if new bindings are added that are not built
# multiple times for multiple versions like lua, php, python and ruby are
return $(use mono || use java || 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

# https://trac.xapian.org/ticket/702
export XAPIAN_CONFIG="/usr/bin/xapian-config"

if use lua; then
lua_copy_sources
fi

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() {
# Needed to get e.g. test failure details
MAKEOPTS+=" VERBOSE=1"

if has_basic_bindings ; then
local conf=(
--disable-documentation
$(use_with mono csharp)
$(use_with java)
$(use_with perl)
$(use_with tcl)
--without-lua
--without-php
--without-php7
--without-python
--without-python3
--without-ruby
)

if use java; then
local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
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

econf "${conf[@]}"
fi

lua_configure() {
local myconf=(
--disable-documentation
--without-csharp
--without-java
--without-perl
--without-tcl
--without-php
--without-php7
--without-python
--without-python3
--without-ruby
--with-lua
)

local -x LUA_INC="$(lua_get_include_dir)"
local -x LUA_LIB="$(lua_get_cmod_dir)"

econf "${myconf[@]}"

}

if use lua; then
lua_foreach_impl run_in_build_dir lua_configure
fi

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

econf "${myconf[@]}"
}

if use php; then
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes

php_foreach_impl run_in_build_dir php_configure
fi

python_configure() {
local myconf=(
--disable-documentation
--without-java
--without-lua
--without-csharp
--without-perl
--without-php
--without-php7
--without-ruby
--without-tcl
--with-python3
)

# Avoid sandbox failures when compiling modules
addpredict "$(python_get_sitedir)"

econf "${myconf[@]}"
}

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() {
if has_basic_bindings ; then
default
fi

if use lua; then
lua_foreach_impl run_in_build_dir emake
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 lua; then
lua_foreach_impl run_in_build_dir emake check
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() {
if has_basic_bindings ; then
emake DESTDIR="${D}" install
fi

if use java; then
java-pkg_dojar java/built/xapian.jar
# TODO: make the build system not install this...
java-pkg_doso java/.libs/libxapian_jni.so
rm -rf "${ED}/var" || die "could not remove java cruft!"
fi

if use lua; then
lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
fi

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
python_foreach_impl python_optimize
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 "${ED}/usr/share/doc/xapian-bindings" ]]; then
mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
fi

dodoc AUTHORS HACKING NEWS TODO README
}

0 comments on commit bcf3c6d

Please sign in to comment.