|
|
|
@ -2,10 +2,9 @@ |
|
|
|
|
# Distributed under the terms of the GNU General Public License v2 |
|
|
|
|
# $Id$ |
|
|
|
|
|
|
|
|
|
EAPI=5 |
|
|
|
|
EAPI=6 |
|
|
|
|
|
|
|
|
|
PYTHON_COMPAT=( python{2_7,3_4} pypy ) |
|
|
|
|
MY_S="${WORKDIR}/ice-${PV}" |
|
|
|
|
|
|
|
|
|
RUBY_OPTIONAL="yes" |
|
|
|
|
USE_RUBY="ruby22" |
|
|
|
@ -14,7 +13,7 @@ PHP_EXT_NAME="IcePHP" |
|
|
|
|
PHP_EXT_INI="yes" |
|
|
|
|
PHP_EXT_ZENDEXT="no" |
|
|
|
|
|
|
|
|
|
PHP_EXT_S="${MY_S}/php" |
|
|
|
|
PHP_EXT_S="${S}/php" |
|
|
|
|
PHP_EXT_OPTIONAL_USE=php |
|
|
|
|
|
|
|
|
|
USE_PHP="php5-6" |
|
|
|
@ -34,17 +33,19 @@ RDEPEND=">=dev-libs/expat-2.0.1 |
|
|
|
|
>=app-arch/bzip2-1.0.5 |
|
|
|
|
>=dev-libs/openssl-0.9.8o:0 |
|
|
|
|
sys-libs/db:5.3[cxx] |
|
|
|
|
~dev-cpp/libmcpp-2.7.2 |
|
|
|
|
dev-cpp/libmcpp |
|
|
|
|
python? ( ${PYTHON_DEPS} ) |
|
|
|
|
ruby? ( $(ruby_implementation_depend ruby22) ) |
|
|
|
|
mono? ( dev-lang/mono ) |
|
|
|
|
php? ( >=dev-lang/php-5.3.1 ) |
|
|
|
|
php? ( dev-lang/php:5.6 ) |
|
|
|
|
!dev-python/IcePy |
|
|
|
|
!dev-ruby/IceRuby" |
|
|
|
|
DEPEND="${RDEPEND} |
|
|
|
|
ncurses? ( sys-libs/ncurses sys-libs/readline ) |
|
|
|
|
test? ( ${PYTHON_DEPS} )" |
|
|
|
|
|
|
|
|
|
REQUIRED_USE="php_namespaces? ( php )" |
|
|
|
|
|
|
|
|
|
# Maintainer notes: |
|
|
|
|
# - 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 |
|
|
|
@ -53,11 +54,14 @@ DEPEND="${RDEPEND} |
|
|
|
|
# TODO: java bindings |
|
|
|
|
|
|
|
|
|
#overwrite ruby-ng.eclass default |
|
|
|
|
S="${MY_S}" |
|
|
|
|
S="${WORKDIR}/${P/I/i}" |
|
|
|
|
|
|
|
|
|
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() { |
|
|
|
@ -67,7 +71,6 @@ src_unpack() { |
|
|
|
|
|
|
|
|
|
src_prepare() { |
|
|
|
|
sed -i \ |
|
|
|
|
-e 's|\(install_docdir[[:space:]]*\):=|\1?=|' \ |
|
|
|
|
-e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \ |
|
|
|
|
cpp/config/Make.rules || die "sed failed" |
|
|
|
|
|
|
|
|
@ -77,8 +80,12 @@ src_prepare() { |
|
|
|
|
php/config/Make.rules.php || die "sed failed" |
|
|
|
|
|
|
|
|
|
sed -i \ |
|
|
|
|
-e 's|\(install_pythondir[[:space:]]*\):=|\1?=|' \ |
|
|
|
|
-e 's|\(install_rubydir[[:space:]]*\):=|\1?=|' \ |
|
|
|
|
-e "s|php-config|$(PHPCONFIG)|" \ |
|
|
|
|
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?=|' \ |
|
|
|
|
{python,ruby}/config/Make.rules || die "sed failed" |
|
|
|
|
|
|
|
|
@ -110,14 +117,14 @@ src_prepare() { |
|
|
|
|
src_configure() { |
|
|
|
|
MAKE_RULES="prefix=\"${ED}/usr\" |
|
|
|
|
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\" |
|
|
|
|
embedded_runpath_prefix=\"${EPREFIX}/usr\" |
|
|
|
|
LP64=yes |
|
|
|
|
new_dtags=yes" |
|
|
|
|
|
|
|
|
|
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" |
|
|
|
|
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})|" \ |
|
|
|
|
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 |
|
|
|
|
S=${S}/python python_copy_sources |
|
|
|
|
|
|
|
|
@ -173,12 +174,15 @@ src_compile() { |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
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" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if use python ; then |
|
|
|
|
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 |
|
|
|
|
fi |
|
|
|
@ -188,12 +192,12 @@ src_compile() { |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
src_install() { |
|
|
|
|
dodoc README.md |
|
|
|
|
dodoc CHANGELOG*.md README.md |
|
|
|
|
|
|
|
|
|
insinto /usr/share/${P} |
|
|
|
|
doins -r slice |
|
|
|
@ -215,7 +219,7 @@ src_install() { |
|
|
|
|
doins $(cd php/lib; find ${S}/php/lib/ -name '*.php' -print) |
|
|
|
|
for dir in $( cd ${D}/usr/share/${P}/slice ; ls -1 ); do |
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
local slot |
|
|
|
@ -234,27 +238,18 @@ src_install() { |
|
|
|
|
emake -C "${BUILD_DIR}" ${MAKE_RULES} \ |
|
|
|
|
install_pythondir="\"${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 |
|
|
|
|
|
|
|
|
|
docinto python |
|
|
|
|
dodoc python/CHANGES python/README |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if use ruby ; then |
|
|
|
|
dodir "${SITERUBY}" |
|
|
|
|
emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake rb install failed" |
|
|
|
|
|
|
|
|
|
docinto ruby |
|
|
|
|
dodoc ruby/CHANGES ruby/README |
|
|
|
|
emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake ruyb install failed" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if use mono ; then |
|
|
|
|
emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake cs install failed" |
|
|
|
|
|
|
|
|
|
docinto csharp |
|
|
|
|
dodoc csharp/CHANGES csharp/README |
|
|
|
|
emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake csharp install failed" |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -277,15 +272,15 @@ src_test() { |
|
|
|
|
|
|
|
|
|
if use python ; then |
|
|
|
|
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 |
|
|
|
|
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 |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if use ruby ; then |
|
|
|
|
run_tests ruby || die "emake rb test failed" |
|
|
|
|
run_tests ruby || die "emake ruby test failed" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if use mono ; then |
|
|
|
|