diff --git a/dev-libs/Ice/Ice-3.6.1.ebuild b/dev-libs/Ice/Ice-3.6.1.ebuild index c4774ec..534116b 100644 --- a/dev-libs/Ice/Ice-3.6.1.ebuild +++ b/dev-libs/Ice/Ice-3.6.1.ebuild @@ -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