forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-libs/xapian-bindings: version bump 1.4.21
Signed-off-by: Anthony G. Basile <[email protected]>
- Loading branch information
Showing
2 changed files
with
347 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} |