diff options
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/Ice/Ice-3.6.2.ebuild | 1 | ||||
-rw-r--r-- | dev-libs/Ice/Ice-3.6.3.ebuild | 281 | ||||
-rw-r--r-- | dev-libs/Ice/Manifest | 9 | ||||
-rw-r--r-- | dev-libs/Ice/files/dont-append-c++11-to-libs-3.6.3.patch | 12 | ||||
-rw-r--r-- | dev-libs/Ice/files/dont-append-c++11-to-libs.patch | 4 | ||||
-rw-r--r-- | dev-libs/Ice/files/dont-separate-c++11-libs.patch | 4 |
6 files changed, 304 insertions, 7 deletions
diff --git a/dev-libs/Ice/Ice-3.6.2.ebuild b/dev-libs/Ice/Ice-3.6.2.ebuild index d9b52c3..2c7a449 100644 --- a/dev-libs/Ice/Ice-3.6.2.ebuild +++ b/dev-libs/Ice/Ice-3.6.2.ebuild @@ -56,6 +56,7 @@ pkg_setup() { src_unpack() { # prevent ruby-ng.eclass from messing with src_unpack default + cd ${S} epatch ${FILESDIR}/dont-separate-c++11-libs.patch epatch ${FILESDIR}/dont-append-c++11-to-libs.patch } diff --git a/dev-libs/Ice/Ice-3.6.3.ebuild b/dev-libs/Ice/Ice-3.6.3.ebuild new file mode 100644 index 0000000..8363be6 --- /dev/null +++ b/dev-libs/Ice/Ice-3.6.3.ebuild @@ -0,0 +1,281 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/Ice/Ice-3.5.1.ebuild,v 1.11 2015/04/08 17:51:56 mgorny Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 pypy ) +RUBY_OPTIONAL="yes" +USE_RUBY="ruby19" + +inherit toolchain-funcs versionator python-r1 mono-env ruby-ng db-use + +DESCRIPTION="ICE middleware C++ library and generator tools" +HOMEPAGE="http://www.zeroc.com/" +SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm ~ia64 x86 ~x86-linux ~x64-macos" +IUSE="doc examples +ncurses mono python ruby test debug c++0x" + +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] + sys-libs/db:5.1[cxx] + sys-libs/db:4.8[cxx] + ) + ~dev-cpp/libmcpp-2.7.2 + python? ( ${PYTHON_DEPS} ) + ruby? ( $(ruby_implementation_depend ruby19) ) + mono? ( dev-lang/mono ) + !dev-python/IcePy + !dev-ruby/IceRuby" +DEPEND="${RDEPEND} + ncurses? ( sys-libs/ncurses sys-libs/readline ) + test? ( ${PYTHON_DEPS} )" + +# 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 +# and they can't be tricked by a symlink. And we also need +# SUPPORT_PYTHON_ABIS=1 otherwise we can't get pyc/pyo anymore the sane way. +# TODO: php bindings +# TODO: java bindings + +#overwrite ruby-ng.eclass default +S="${P,,}" +S="${WORKDIR}/${S/_/-}" + +pkg_setup() { + # prevent ruby-ng.eclass from messing with src_unpack + :; +} + +src_unpack() { + # prevent ruby-ng.eclass from messing with src_unpack + default + cd ${S} + epatch ${FILESDIR}/dont-separate-c++11-libs.patch + epatch ${FILESDIR}/dont-append-c++11-to-libs-3.6.3.patch +} + +src_prepare() { + sed -i \ + -e 's|\(install_docdir[[:space:]]*\):=|\1?=|' \ + -e 's|\(install_configdir[[:space:]]*\):=|\1?=|' \ + cpp/config/Make.rules || 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" + + sed -i \ + -e 's|-O2 ||g' \ + -e 's|-Werror ||g' \ + cpp/config/Make.rules.Linux || die "sed failed" + + sed -i \ + -e 's|install-common||' \ + -e 's|demo||' \ + {cpp,csharp,php,python,ruby}/Makefile || die "sed failed" + + sed -i \ + -e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \ + csharp/config/Make.rules.cs || die "sed failed" + + # skip mono tests, bug #498484 + sed -i \ + -e 's|\(SUBDIRS.*\) test|\1|' \ + csharp/Makefile || die "sed failed" + + if ! use test ; then + sed -i \ + -e 's|\(SUBDIRS.*\) test|\1|' \ + {cpp,php,python,ruby}/Makefile || die "sed failed" + fi +} + +suitable_db_version() { + local tested_slots="5.3 5.1 4.8" + for ver in ${tested_slots}; do + if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then + echo ${ver} + return 0 + fi + done + die "No suitable BerkDB versions found, aborting" +} + +src_configure() { + MAKE_RULES="prefix=\"${ED}/usr\" + install_docdir=\"${ED}/usr/share/doc/${PF}\" + install_configdir=\"${ED}/usr/share/Ice-${PV}/config\" + install_mandir=\"${ED}/usr/share/man\" + embedded_runpath_prefix=\"${EPREFIX}/usr\" + LP64=yes" + + use ncurses && MAKE_RULES="${MAKE_RULES} USE_READLINE=yes" || MAKE_RULES="${MAKE_RULES} USE_READLINE=no" + use debug && MAKE_RULES="${MAKE_RULES} OPTIMIZE=no" || MAKE_RULES="${MAKE_RULES} OPTIMIZE=yes" + use c++0x && MAKE_RULES="${MAKE_RULES} CPP11=yes" || MAKE_RULES="${MAKE_RULES} CPP11=no" + + local BERKDB_VERSION="$(suitable_db_version)" + MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})" + sed -i \ + -e "s|g++|$(tc-getCXX)|" \ + -e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \ + -e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \ + -e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \ + -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 python ; then + S=${S}/python python_copy_sources + + # make a place for the symlink + rm -r python/python || die + fi + + if use ruby ; then + SITERUBY="$(ruby19 -r rbconfig -e 'print Config::CONFIG["sitedir"]')" + MAKE_RULES_RB="install_rubydir=\"${ED}/${SITERUBY}\" + install_libdir=\"${ED}/${SITERUBY}\"" + + # make it use ruby19 only + sed -i \ + -e 's|RUBY = ruby|\019|' \ + ruby/config/Make.rules || die "sed failed" + fi + + MAKE_RULES_CS="GACINSTALL=yes GAC_ROOT=\"${ED}/usr/$(get_libdir)\" GAC_DIR=${EPREFIX}/usr/$(get_libdir)" + + use test && python_export_best +} + +src_compile() { + # Do not remove this export or build will break! + tc-export CXX + + emake -C cpp ${MAKE_RULES} || die "emake failed" + + if use doc ; then + emake -C cpp/doc || die "building docs failed" + fi + + if use python ; then + building() { + emake -C "${BUILD_DIR}" ${MAKE_RULES} || die "emake py-${EPYTHON} failed" + } + BUILD_DIR=python python_foreach_impl building + fi + + if use ruby ; then + emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} || die "emake ruby failed" + fi + + if use mono ; then + emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} || die "emake csharp failed" + fi +} + +src_install() { + insinto /usr/share/${P} + doins -r slice + + emake -C cpp ${MAKE_RULES} install || die "emake install failed" + + docinto cpp + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-cpp + doins cpp/config/*.cfg + doins -r cpp/demo/* + fi + + if use doc ; then + dohtml -r cpp/doc/reference/* + dodoc "${DISTDIR}/${P}.pdf" + fi + + if use python ; then + installation() { + mkdir -p "${D}/$(python_get_sitedir)" || die + + 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" + } + BUILD_DIR=python python_foreach_impl installation + + docinto python + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-py + doins -r python/demo/* + fi + fi + + if use ruby ; then + dodir "${SITERUBY}" + emake -C ruby ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake ruby install failed" + + docinto ruby + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-rb + doins -r ruby/demo/* + fi + fi + + if use mono ; then + emake -C csharp ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake csharp install failed" + + # TODO: anyone has an idea what those are for? + rm "${ED}"/usr/bin/*.xml + + docinto csharp + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-cs + doins -r csharp/demo/* + fi + fi +} + +run_tests() { + # Run tests through the script interface since Python test runner + # fails to exit with non-zero code for some reason. + + pushd "${1}" >/dev/null || die + ./allTests.py --script | sh + ret=${?} + popd >/dev/null || die + + return ${ret} +} + +src_test() { + run_tests cpp || die "emake cpp test failed" + + if use python ; then + testing() { + # tests require that the directory is named 'python' + run_tests python || die "emake py-${EPYTHON} test failed" + } + BUILD_DIR=python python_foreach_impl testing + fi + + if use ruby ; then + run_tests ruby || die "emake ruby test failed" + fi + + if use mono ; then + # skip mono tests, bug #498484 + ewarn "Tests for C# are currently disabled." +# run_tests csharp || die "emake csharp test failed" + fi +} diff --git a/dev-libs/Ice/Manifest b/dev-libs/Ice/Manifest index b98e5b7..72d4a52 100644 --- a/dev-libs/Ice/Manifest +++ b/dev-libs/Ice/Manifest @@ -1,4 +1,7 @@ -AUX dont-append-c++11-to-libs.patch 601 SHA256 9848477300fe0fc50a7284e5738792ca985bf5567fab7318fe41ebb9d763f910 SHA512 89dc9c6302e2b3dd1f1fc20c9a7f21a0f3d7be91e05ccc8085278b0f7849e59e82bfa67dfb7e74db7eda9957f96ccd2cdffecf87dd9b94b5df7a421d0095a8da WHIRLPOOL bdd26a1c77186df0ef39859fd93326ed24cb152dc2efa4368baa4b15fb9e05fa8a47b6e110287a4bdc356f308f1e42e620ef10df0d39b5ac247c62f27c3885c1 -AUX dont-separate-c++11-libs.patch 557 SHA256 210d9339611efc642d1071f4f4e8fecf4bd392fa7bab8a1c1617450cea9898b7 SHA512 b20170ef9b670ad5fc7abda68758bd692c49312c0f51c530cfac554c4f365087a7ba4b3e739c6430d34c2486cdb0c473193548e9a84e4c31cb3eb82398335bda WHIRLPOOL 10ef709116afdf9fee7f8a62eed4f4ed3f60cf503e1bcd2889cc9f50303745833d119e963fcbefbeaec3f4ca3a6c4c8e55cd54cd733b65e1c7958fad8a3d330a +AUX dont-append-c++11-to-libs-3.6.3.patch 353 SHA256 d0413eaacf5f5916eba42d5b05e227814c2b8fdf3a77ec62602da6cfe6c40bb0 SHA512 27a9906ac7689bd457119eb937b255755fec34e32fca2ebfec13e951bce1e9c8bd1135e6158a9bca1a64a55e9a43847d54fee7a302fb0db6c410726a1a345cec WHIRLPOOL b7f487a8153b2e132bef4d9db1ecf525798a70078bac35ce227317485d3317f62326d7f66b41d12ed3e8e55585de9405d1ca5bfa5a8c7be788504de84bbd1255 +AUX dont-append-c++11-to-libs.patch 581 SHA256 8a535e9b7a88f37c13c6f68c935d8f48d996971d6189aa57652ceffc984813b2 SHA512 c542d969dba35eb976ef1a0293fe00597f06db48f2b31a44575beb3961e2d161affa5837ac2003a9db2b59055db4c2db4a28eb989e15224cc56e80e00b8bf68c WHIRLPOOL 4c06a08f71c0c7ecf629a37ac7081220ef148b7d9fd69abe0ecf112ba449e9b84e031611e48502884172570f4f75f14ba9164ceb61df617006c8aacf48a9d7c4 +AUX dont-separate-c++11-libs.patch 537 SHA256 acd69d499f13c743b64113c471e68d0029a9b65c5b032c5cc74f0823e8c9dfeb SHA512 deb33b6819f231a4219e744dc11772ac792b05f41cd887ea00eb92471596563b7cd83973f5013bf0d685be0da77e3d3b6d83012dd08d452a1417b53eb83f0bb2 WHIRLPOOL 3319be0874db00ec4d4cc9d480276e71b0452bd1e652ebcfc6d531a03cdfdb84a9efbb35450a732ea2d39b615d0059d303f73c6ecb423ce6ecfcf4d0e47b6439 DIST Ice-3.6.2.tar.gz 5393239 SHA256 5e9305a5eb6081c8f128d63a5546158594e9f115174fc91208f645dbe2fc02fe SHA512 fb6b70edd551c66ba801a3a0af0d9101206e771e607e2feffa53fdac95215837bedce2f44251f04d1915c02130b1341daf96d3357b13e4b59d4fae01c14d8e5f WHIRLPOOL 84d4991d8d4379242dcdf0ec0b60242c4a72579ce462a40d107a61088deddb7aa703b8a4f342f7c30e8cd35371471ec9e7592fc94132e4917815f111d4ec77a9 -EBUILD Ice-3.6.2.ebuild 7345 SHA256 420c8a38c52fd41b216d24a2c499f318f526bdbba86c4423fdfd437e3b30bba4 SHA512 7afd233e57402a0d4ea3dcbed259e3b5f3ad5cc3436ef20bff343ae6fc64920304e5f027c9f89bbfdbb29d0d2337402f98afabc4f7a638d74d5ed5d694a8f101 WHIRLPOOL f48b5ae1e382d7c022fdece2bbaae9fac9f70e7fd2f6d6751420fce5bd01a8c9f86bcaf192b7e38a370d815be45e350dba39be4da0f9bd36e6d0348982bb9f5e +DIST Ice-3.6.3.tar.gz 5512741 SHA256 82ff74e6d24d9fa396dbb4d9697dc183b17bc9c3f6f076fecdc05632be80a2dc SHA512 6e17d21f55a8504af87a64c498a0c4d2084ed96a85c7a66d00319324774f671ace6afa03108d8d4e9bedf5fcfc2f3dba247949a27deecacdd0d298bd0bfe0a45 WHIRLPOOL 4e2d50aaf62f805a0c5471ab907c7680607de5fe101c96a740a3bc1b8ddc7ea93d768ba5886b26772647eb173417195bd808399192b2d2c7d5adb40cf38fc95f +EBUILD Ice-3.6.2.ebuild 7354 SHA256 9e7862faabdf2032560eed8afe9c19a97665dcdc82b673b1db30177732d01878 SHA512 a38bf3ac252179457c09825edcb20602df7e1f4a144263778317eb3cdd2109e9c3d9b2c33ad4348d426fde141b7442137cce8a5bf1ab31683aa3c4f47de0ff28 WHIRLPOOL bef9a08204a1625c90a8d55719ee875f74bcb1bca961ed7d31c58459bc325fb1349dbe17c59c45248efea8fd0e3647e22eb6d4f1fe2e0e9297099058855a3a37 +EBUILD Ice-3.6.3.ebuild 7360 SHA256 9901dae82107ff9f17dfdf173f6ed4f7be77eb6f5e8b8ef81a3a8dcad00b455b SHA512 c127118e80d992173d4fcaa2d34128b74904a0a8c84dc4b0cfc5a476eb04d2ae69cbb8772b9d1577defcd9785796cc4ea6236edf1227eb68c8fea7a406a116dc WHIRLPOOL d42c653f19020bba6117bdea92c1ddcb8643b7f13e88ef6a54cbb70b324cd0580530e519c8cb0270870f4da7592e49a3036e56a5e144677d61f9746f341194ea diff --git a/dev-libs/Ice/files/dont-append-c++11-to-libs-3.6.3.patch b/dev-libs/Ice/files/dont-append-c++11-to-libs-3.6.3.patch new file mode 100644 index 0000000..6a469a4 --- /dev/null +++ b/dev-libs/Ice/files/dont-append-c++11-to-libs-3.6.3.patch @@ -0,0 +1,12 @@ +diff --git cpp/src/Ice/DynamicLibrary.cpp cpp/src/Ice/DynamicLibrary.cpp +index d70e14b..721832b 100644 +--- cpp/src/Ice/DynamicLibrary.cpp ++++ cpp/src/Ice/DynamicLibrary.cpp +@@ -16,7 +16,6 @@ + #endif + + #if defined(ICE_CPP11) && defined(__GNUC__) && (__GNUC__ < 6) && defined(__GLIBCXX__) +-# define ICE_LIBSUFFIX "++11" + #endif + + using namespace Ice; diff --git a/dev-libs/Ice/files/dont-append-c++11-to-libs.patch b/dev-libs/Ice/files/dont-append-c++11-to-libs.patch index 4d9f748..41b3a01 100644 --- a/dev-libs/Ice/files/dont-append-c++11-to-libs.patch +++ b/dev-libs/Ice/files/dont-append-c++11-to-libs.patch @@ -1,5 +1,5 @@ ---- ice-3.6.2/cpp/src/Ice/DynamicLibrary.cpp -+++ ice-3.6.2/cpp/src/Ice/DynamicLibrary.cpp +--- cpp/src/Ice/DynamicLibrary.cpp ++++ cpp/src/Ice/DynamicLibrary.cpp @@ -89,9 +89,6 @@ if(comma == string::npos) { diff --git a/dev-libs/Ice/files/dont-separate-c++11-libs.patch b/dev-libs/Ice/files/dont-separate-c++11-libs.patch index 2283c0e..4c02df0 100644 --- a/dev-libs/Ice/files/dont-separate-c++11-libs.patch +++ b/dev-libs/Ice/files/dont-separate-c++11-libs.patch @@ -1,5 +1,5 @@ ---- ice-3.6.2/config/Make.common.rules 2015-06-23 16:30:20.000000000 +0100 -+++ ice-3.6.2/config/Make.common.rules 2015-07-04 17:45:58.061422073 +0100 +--- config/Make.common.rules 2015-06-23 16:30:20.000000000 +0100 ++++ config/Make.common.rules 2015-07-04 17:45:58.061422073 +0100 @@ -115,15 +115,6 @@ lp32suffix = /i386-linux-gnu endif |