[dev-libs/Ice] sync with bug 555586

This commit is contained in:
Robert Förster 2016-01-25 20:55:03 +01:00
parent 510a583686
commit 234be834f0
1 changed files with 33 additions and 38 deletions

View File

@ -2,10 +2,9 @@
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# $Id$ # $Id$
EAPI=5 EAPI=6
PYTHON_COMPAT=( python{2_7,3_4} pypy ) PYTHON_COMPAT=( python{2_7,3_4} pypy )
MY_S="${WORKDIR}/ice-${PV}"
RUBY_OPTIONAL="yes" RUBY_OPTIONAL="yes"
USE_RUBY="ruby22" USE_RUBY="ruby22"
@ -14,7 +13,7 @@ PHP_EXT_NAME="IcePHP"
PHP_EXT_INI="yes" PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="no" PHP_EXT_ZENDEXT="no"
PHP_EXT_S="${MY_S}/php" PHP_EXT_S="${S}/php"
PHP_EXT_OPTIONAL_USE=php PHP_EXT_OPTIONAL_USE=php
USE_PHP="php5-6" USE_PHP="php5-6"
@ -34,17 +33,19 @@ RDEPEND=">=dev-libs/expat-2.0.1
>=app-arch/bzip2-1.0.5 >=app-arch/bzip2-1.0.5
>=dev-libs/openssl-0.9.8o:0 >=dev-libs/openssl-0.9.8o:0
sys-libs/db:5.3[cxx] sys-libs/db:5.3[cxx]
~dev-cpp/libmcpp-2.7.2 dev-cpp/libmcpp
python? ( ${PYTHON_DEPS} ) python? ( ${PYTHON_DEPS} )
ruby? ( $(ruby_implementation_depend ruby22) ) ruby? ( $(ruby_implementation_depend ruby22) )
mono? ( dev-lang/mono ) mono? ( dev-lang/mono )
php? ( >=dev-lang/php-5.3.1 ) php? ( dev-lang/php:5.6 )
!dev-python/IcePy !dev-python/IcePy
!dev-ruby/IceRuby" !dev-ruby/IceRuby"
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
ncurses? ( sys-libs/ncurses sys-libs/readline ) ncurses? ( sys-libs/ncurses sys-libs/readline )
test? ( ${PYTHON_DEPS} )" test? ( ${PYTHON_DEPS} )"
REQUIRED_USE="php_namespaces? ( php )"
# Maintainer notes: # Maintainer notes:
# - yes, we have to do the trickery with the move for the python functions # - yes, we have to do the trickery with the move for the python functions
# since the build and test frameworks deduce various settings from the path # since the build and test frameworks deduce various settings from the path
@ -53,11 +54,14 @@ DEPEND="${RDEPEND}
# TODO: java bindings # TODO: java bindings
#overwrite ruby-ng.eclass default #overwrite ruby-ng.eclass default
S="${MY_S}" S="${WORKDIR}/${P/I/i}"
pkg_setup() { pkg_setup() {
# prevent ruby-ng.eclass from messing with src_unpack if use ruby && [[ $RUBY_TARGETS != *$( eselect ruby show | awk 'NR==2' | tr -d ' ' )* ]]; then
:; eerror "/usr/bin/ruby is currently not included in Ice's ruby targets: ${RUBY_TARGETS}."
eerror "Please update it via `eselect ruby`"
die
fi
} }
src_unpack() { src_unpack() {
@ -67,7 +71,6 @@ src_unpack() {
src_prepare() { src_prepare() {
sed -i \ sed -i \
-e 's|\(install_docdir[[:space:]]*\):=|\1?=|' \
-e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \ -e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \
cpp/config/Make.rules || die "sed failed" cpp/config/Make.rules || die "sed failed"
@ -77,8 +80,12 @@ src_prepare() {
php/config/Make.rules.php || die "sed failed" php/config/Make.rules.php || die "sed failed"
sed -i \ sed -i \
-e 's|\(install_pythondir[[:space:]]*\):=|\1?=|' \ -e "s|php-config|$(PHPCONFIG)|" \
-e 's|\(install_rubydir[[:space:]]*\):=|\1?=|' \ php/src/IcePHP/Makefile || die "sed failed"
sed -i \
-e 's|\(install_pythondir[[:space:]]*\)=|\1?=|' \
-e 's|\(install_rubydir[[:space:]]*\)=|\1?=|' \
-e 's|\(install_libdir[[:space:]]*\):=|\1?=|' \ -e 's|\(install_libdir[[:space:]]*\):=|\1?=|' \
{python,ruby}/config/Make.rules || die "sed failed" {python,ruby}/config/Make.rules || die "sed failed"
@ -110,14 +117,14 @@ src_prepare() {
src_configure() { src_configure() {
MAKE_RULES="prefix=\"${ED}/usr\" MAKE_RULES="prefix=\"${ED}/usr\"
install_docdir=\"${ED}/usr/share/doc/${PF}\" install_docdir=\"${ED}/usr/share/doc/${PF}\"
install_configdir=\"${ED}/usr/share/Ice-${PV}/config\" install_configdir=\"${ED}/usr/share/${P}/config\"
install_mandir=\"${ED}/usr/share/man\" install_mandir=\"${ED}/usr/share/man\"
embedded_runpath_prefix=\"${EPREFIX}/usr\" embedded_runpath_prefix=\"${EPREFIX}/usr\"
LP64=yes LP64=yes
new_dtags=yes" new_dtags=yes"
use ncurses && OPTIONS="${MAKE_RULES} USE_READLINE=yes" || MAKE_RULES="${MAKE_RULES} USE_READLINE=no" use ncurses && OPTIONS="${MAKE_RULES} USE_READLINE=yes" || MAKE_RULES="${MAKE_RULES} USE_READLINE=no"
use debug && OPTIONS"${MAKE_RULES} OPTIMIZE=no" || MAKE_RULES="${MAKE_RULES} OPTIMIZE=yes" use debug && OPTIONS="${MAKE_RULES} OPTIMIZE=no" || MAKE_RULES="${MAKE_RULES} OPTIMIZE=yes"
local BERKDB_VERSION="5.3" local BERKDB_VERSION="5.3"
MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})" MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})"
@ -129,12 +136,6 @@ src_configure() {
-e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \ -e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
cpp/config/Make.rules{,.Linux} python/config/Make.rules || die "sed failed" cpp/config/Make.rules{,.Linux} python/config/Make.rules || die "sed failed"
if use php ; then
sed -i \
-e "s|php-config|${EPREFIX}/usr/$(get_libdir)/php5.6/bin/php-config|" \
php/src/IcePHP/Makefile || die "sed failed"
fi
if use python ; then if use python ; then
S=${S}/python python_copy_sources S=${S}/python python_copy_sources
@ -173,12 +174,15 @@ src_compile() {
fi fi
if use php; then if use php; then
if use php_namespaces ; then
MAKE_RULES_PHP="${MAKE_RULES_PHP} USE_NAMESPACES=yes"
fi
emake -C php ${MAKE_RULES} ${MAKE_RULES_PHP} || die "emake php failed" emake -C php ${MAKE_RULES} ${MAKE_RULES_PHP} || die "emake php failed"
fi fi
if use python ; then if use python ; then
building() { building() {
emake -C "${BUILD_DIR}" ${MAKE_RULES} || die "emake py-${EPYTHON} failed" emake -C "${BUILD_DIR}" ${MAKE_RULES} || die "emake python-${EPYTHON} failed"
} }
BUILD_DIR=python python_foreach_impl building BUILD_DIR=python python_foreach_impl building
fi fi
@ -188,12 +192,12 @@ src_compile() {
fi fi
if use mono ; then if use mono ; then
emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} || die "emake cs failed" emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} || die "emake csharp failed"
fi fi
} }
src_install() { src_install() {
dodoc README.md dodoc CHANGELOG*.md README.md
insinto /usr/share/${P} insinto /usr/share/${P}
doins -r slice doins -r slice
@ -215,7 +219,7 @@ src_install() {
doins $(cd php/lib; find ${S}/php/lib/ -name '*.php' -print) doins $(cd php/lib; find ${S}/php/lib/ -name '*.php' -print)
for dir in $( cd ${D}/usr/share/${P}/slice ; ls -1 ); do for dir in $( cd ${D}/usr/share/${P}/slice ; ls -1 ); do
mkdir -p ${D}/usr/share/php/${dir} mkdir -p ${D}/usr/share/php/${dir}
${D}/usr/bin/slice2php -I${D}/usr/share/${P}/slice/ --all --output-dir ${D}/usr/share/php/${dir} --ice ${D}/usr/share/${P}/slice/${dir}/* LD_LIBRARY_PATH="${D}/usr/$(get_libdir):${LD_LIBRARY_PATH}" ${D}/usr/bin/slice2php -I${D}/usr/share/${P}/slice/ --all --output-dir ${D}/usr/share/php/${dir} --ice ${D}/usr/share/${P}/slice/${dir}/*
done done
local slot local slot
@ -234,27 +238,18 @@ src_install() {
emake -C "${BUILD_DIR}" ${MAKE_RULES} \ emake -C "${BUILD_DIR}" ${MAKE_RULES} \
install_pythondir="\"${D}/$(python_get_sitedir)\"" \ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
install_libdir="\"${D}/$(python_get_sitedir)\"" \ install_libdir="\"${D}/$(python_get_sitedir)\"" \
install || die "emake py-${EPYTHON} install failed" install || die "emake python-${EPYTHON} install failed"
} }
BUILD_DIR=python python_foreach_impl installation BUILD_DIR=python python_foreach_impl installation
docinto python
dodoc python/CHANGES python/README
fi fi
if use ruby ; then if use ruby ; then
dodir "${SITERUBY}" dodir "${SITERUBY}"
emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake rb install failed" emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake ruyb install failed"
docinto ruby
dodoc ruby/CHANGES ruby/README
fi fi
if use mono ; then if use mono ; then
emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake cs install failed" emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake csharp install failed"
docinto csharp
dodoc csharp/CHANGES csharp/README
fi fi
} }
@ -277,15 +272,15 @@ src_test() {
if use python ; then if use python ; then
testing() { testing() {
# tests require that the directory is named 'py' # tests require that the directory is named 'python'
ln -f -s ../"${BUILD_DIR}"/python python/python || die ln -f -s ../"${BUILD_DIR}"/python python/python || die
run_tests python || die "emake py-${EPYTHON} test failed" run_tests python || die "emake python-${EPYTHON} test failed"
} }
BUILD_DIR=python python_foreach_impl testing BUILD_DIR=python python_foreach_impl testing
fi fi
if use ruby ; then if use ruby ; then
run_tests ruby || die "emake rb test failed" run_tests ruby || die "emake ruby test failed"
fi fi
if use mono ; then if use mono ; then