From 5cf94586c455784745eebee898df2588ffd94288 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Wed, 10 Aug 2011 21:09:15 +0000 Subject: [PATCH] Version bump. Added patch to let Ice compile against >=sys-libs/db-5.0 (bug #376263) Package-Manager: portage-2.2.0_alpha50/cvs/Linux x86_64 --- dev-libs/Ice/ChangeLog | 11 +- dev-libs/Ice/Ice-3.4.2.ebuild | 261 +++++++++++++++++++++++++ dev-libs/Ice/Manifest | 26 ++- dev-libs/Ice/files/Ice-3.4.1-db5.patch | 16 ++ 4 files changed, 311 insertions(+), 3 deletions(-) create mode 100644 dev-libs/Ice/Ice-3.4.2.ebuild create mode 100644 dev-libs/Ice/files/Ice-3.4.1-db5.patch diff --git a/dev-libs/Ice/ChangeLog b/dev-libs/Ice/ChangeLog index 96fa0746c2b2..28868fdcfe9a 100644 --- a/dev-libs/Ice/ChangeLog +++ b/dev-libs/Ice/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-libs/Ice -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/Ice/ChangeLog,v 1.6 2010/08/01 21:48:23 hwoarang Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/Ice/ChangeLog,v 1.7 2011/08/10 21:09:15 polynomial-c Exp $ + +*Ice-3.4.2 (10 Aug 2011) + + 10 Aug 2011; Lars Wendler + +files/Ice-3.4.1-db5.patch, +Ice-3.4.2.ebuild: + non-maintainer commit: Version bump. Added patch to let Ice compile against + >=sys-libs/db-5.0 (bug #376263). 01 Aug 2010; Markos Chandras Ice-3.4.1.ebuild: Make libmcpp more flexible. Stable on amd64 wrt bug #328609 diff --git a/dev-libs/Ice/Ice-3.4.2.ebuild b/dev-libs/Ice/Ice-3.4.2.ebuild new file mode 100644 index 000000000000..2e3910d4ecf2 --- /dev/null +++ b/dev-libs/Ice/Ice-3.4.2.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/Ice/Ice-3.4.2.ebuild,v 1.1 2011/08/10 21:09:15 polynomial-c Exp $ + +EAPI="2" + +PYTHON_DEPEND="python? 2" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.*" +RUBY_OPTIONAL="yes" +USE_RUBY="ruby18" + +inherit toolchain-funcs versionator python mono ruby-ng db-use + +DESCRIPTION="ICE middleware C++ library and generator tools" +HOMEPAGE="http://www.zeroc.com/" +SRC_URI="http://www.zeroc.com/download/Ice/$(get_version_component_range 1-2)/${P}.tar.gz + doc? ( http://www.zeroc.com/download/Ice/$(get_version_component_range 1-2)/${P}.pdf.gz )" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="doc examples +ncurses mono python ruby test debug" + +RDEPEND=">=dev-libs/expat-2.0.1 + >=app-arch/bzip2-1.0.5 + >=dev-libs/openssl-0.9.8o + >=sys-libs/db-4.8.30[-nocxx] + ~dev-cpp/libmcpp-2.7.2 + ruby? ( $(ruby_implementation_depend ruby18) ) + mono? ( dev-lang/mono ) + !dev-python/IcePy + !dev-ruby/IceRuby" +DEPEND="${RDEPEND} + ncurses? ( sys-libs/ncurses sys-libs/readline ) + test? ( =dev-lang/python-2* )" + +# 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 +# with EAPI=2 which is needed since ruby-ng does not support EAPI=3. +# TODO: php bindings +# TODO: java bindings + +pkg_setup() { + if use python || use test; then + python_pkg_setup + fi +} + +src_unpack() { + # prevent ruby-ng.eclass from messing with src_unpack + default +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-3.4.1-db5.patch + + 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?=|' \ + {py,rb}/config/Make.rules || die "sed failed" + + sed -i \ + -e 's|-O2 ||g' \ + cpp/config/Make.rules.Linux || die "sed failed" + + sed -i \ + -e 's|install-common||' \ + -e 's|demo||' \ + {cpp,cs,php,py,rb}/Makefile || die "sed failed" + + sed -i \ + -e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \ + cs/config/Make.rules.cs || die "sed failed" + + if ! use test ; then + sed -i \ + -e 's|^\(SUBDIRS.*\)test|\1|' \ + {cpp,cs,php,py,rb}/Makefile || die "sed failed" + fi +} + +src_configure() { + MAKE_RULES="prefix=\"${D}/usr\" + install_docdir=\"${D}/usr/share/doc/${PF}\" + install_configdir=\"${D}/usr/share/Ice-${PV}/config\" + embedded_runpath_prefix=\"\" + LP64=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" + + MAKE_RULES="${MAKE_RULES} DB_FLAGS=-I$(db_includedir)" + sed -i \ + -e "s|c++|$(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)|" \ + cpp/config/Make.rules{,.Linux} py/config/Make.rules || die "sed failed" + + if use python ; then + python_copy_sources py + mv py py.orig + fi + + if use ruby ; then + SITERUBY="$(ruby18 -r rbconfig -e 'print Config::CONFIG["sitedir"]')" + MAKE_RULES_RB="install_rubydir=\"${D}/${SITERUBY}\" + install_libdir=\"${D}/${SITERUBY}\"" + + # make it use ruby18 only + sed -i \ + -e 's|RUBY = ruby|\018|' \ + rb/config/Make.rules || die "sed failed" + fi + + MAKE_RULES_CS="GACINSTALL=yes GAC_ROOT=\"${D}/usr/$(get_libdir)\" GAC_DIR=/usr/$(get_libdir)" + +} + +src_compile() { + if tc-is-cross-compiler ; then + export CXX="${CHOST}-g++" + fi + + 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() { + mv py-${PYTHON_ABI} py + emake -C py ${MAKE_RULES} || die "emake py failed (for py-${PYTHON_ABI})" + mv py py-${PYTHON_ABI} + } + python_execute_function building + fi + + if use ruby ; then + emake -C rb ${MAKE_RULES} ${MAKE_RULES_RB} || die "emake rb failed" + fi + + if use mono ; then + emake -C cs ${MAKE_RULES} ${MAKE_RULES_CS} || die "emake cs failed" + fi +} + +src_install() { + dodoc CHANGES README + + insinto /usr/share/${P} + doins -r slice + + emake -C cpp ${MAKE_RULES} install || die "emake install failed" + + docinto cpp + dodoc CHANGES README + + 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 "${WORKDIR}/${P}.pdf" + fi + + if use python ; then + installation() { + dodir $(python_get_sitedir) + mv py-${PYTHON_ABI} py + emake -C py ${MAKE_RULES} install_pythondir="\"${D}/$(python_get_sitedir)\"" install_libdir="\"${D}/$(python_get_sitedir)\"" install || die "emake py install failed (for py-${PYTHON_ABI})" + mv py py-${PYTHON_ABI} + } + python_execute_function installation + + docinto py + dodoc py.orig/CHANGES py.orig/README + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-py + doins -r py.orig/demo/* + fi + + cd "${D}/$(python_get_sitedir -f)" + PYTHON_MODULES=(*.py) + PYTHON_MODULES+=(IceBox IceGrid IcePatch2 IceStorm) + cd "${S}" + fi + + if use ruby ; then + dodir "${SITERUBY}" + emake -C rb ${MAKE_RULES} ${MAKE_RULES_RB} install || die "emake rb install failed" + + docinto rb + dodoc rb/CHANGES rb/README + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-rb + doins -r rb/demo/* + fi + fi + + if use mono ; then + emake -C cs ${MAKE_RULES} ${MAKE_RULES_CS} install || die "emake cs install failed" + + # TODO: anyone has an idea what those are for? + rm "${D}"/usr/bin/*.xml + + docinto cs + dodoc cs/CHANGES cs/README + + if use examples ; then + insinto /usr/share/doc/${PF}/examples-cs + doins -r cs/demo/* + fi + fi +} + +src_test() { + emake -C cpp ${MAKE_RULES} test || die "emake test failed" + + if use python ; then + testing() { + mv py-${PYTHON_ABI} py + emake -C py ${MAKE_RULES} test || die "emake py test failed (for py-${PYTHON_ABI})" + mv py py-${PYTHON_ABI} + } + python_execute_function testing + fi + + if use ruby ; then + emake -C rb ${MAKE_RULES} ${MAKE_RULES_RB} test || die "emake rb test failed" + fi + + if use mono ; then +# ewarn "Tests for C# are currently disabled." + emake -C cs ${MAKE_RULES} ${MAKE_RULES_CS} test || die "emake cs test failed" + fi +} + +pkg_postinst() { + use python && python_mod_optimize "${PYTHON_MODULES[@]}" +} + +pkg_postrm() { + use python && python_mod_cleanup "${PYTHON_MODULES[@]}" +} diff --git a/dev-libs/Ice/Manifest b/dev-libs/Ice/Manifest index 7533f2eaf717..7e6b47af9f6c 100644 --- a/dev-libs/Ice/Manifest +++ b/dev-libs/Ice/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + AUX Ice-3.2.0-Makefile.patch 4072 RMD160 40098fa6142aba0f08b72d1ab2f50426d3c0e1ed SHA1 2e63175980d2b1ee420a37a36e9b8c570285967b SHA256 78b8c20f7491749c7ff3806d6130110c4d7145ed3c17699792910b877783e1d1 AUX Ice-3.2.1-Makefile.patch 4072 RMD160 40098fa6142aba0f08b72d1ab2f50426d3c0e1ed SHA1 2e63175980d2b1ee420a37a36e9b8c570285967b SHA256 78b8c20f7491749c7ff3806d6130110c4d7145ed3c17699792910b877783e1d1 AUX Ice-3.2.1-gcc43.patch 10027 RMD160 0f0e44eae6eee673628094c7f924e2128f38814c SHA1 31a60a37e50f4d440589e6278f7f29839df5ecf7 SHA256 b86df9b5fa6bc2c15b1479cbec33040fee67551fbf1086e0e697820d18f9b60c @@ -7,6 +10,7 @@ AUX Ice-3.3.1-openssl.patch 590 RMD160 655eabb89994bf8a9baf02386e415a674a67318b AUX Ice-3.4.0-openssl.patch 486 RMD160 2011b7520dc29da8660afff46f3a10a845c574d9 SHA1 31e9e460a5a6040a6f3311c77eac75e07b3a36fc SHA256 33e04b94420ff4f8c06dc6c94c53041a8251b2ed80a3f61d4e21855b001df5b6 AUX Ice-3.4.0-stream1.patch 1300 RMD160 2cc981de643a92e618f1619ba9eee79bcf72c7f5 SHA1 1e856b5ff62185693e7cb123e304a7fa0879edb9 SHA256 b7fd0231b1dce875c007ae5c86cbdf822f83f8b554f011d87a1ac8479bf775f8 AUX Ice-3.4.0-stream2.patch 305 RMD160 13da0516405da5560383cba5d10f2fcd5341bc8e SHA1 31a5c4298d9ee503072e9ed9ad2ff3aa75e72d8d SHA256 091d93c5ea5e4e35ecae95175a0c1158fb33988fe2a34c3da790b2b7f401b53a +AUX Ice-3.4.1-db5.patch 468 RMD160 b1b7e93c30233b8b2356ad70d3d0fdf45445fbef SHA1 141478dd9dd73bc40dc23e1c1521859d177c1e97 SHA256 53d5c688e6ec716c33f427b0efdca0a9da4c5d5e5b2f260e72127a0543875a87 DIST Ice-3.2.0.tar.gz 2060037 RMD160 b11fc5718f4c86b349bf0ddc15d7cf402720a013 SHA1 e3b91f14f280a2df78ec5bfed2d9c7e97890ea51 SHA256 4698326e39342d2526c8780db996e47d35a09cdc6080be4329980ec5766ce81d DIST Ice-3.2.1.tar.gz 2090576 RMD160 c3394486ba13e94c2491b0dc48dc19c3e7565ecd SHA1 69fc7dbdff81d7d9300b57f6e495914f3c9e5c19 SHA256 bd24cfe0296d81e2b04ea8d97b32a4f13fdd949d0f038f4c7e0922b395075149 DIST Ice-3.3.1.pdf.gz 5798120 RMD160 1b162529bc35a716c3713242fad2ccc6b3d639f1 SHA1 1136ec0d1634c34aa7a7c0afba6f871c5b9e5ccb SHA256 816b1cb1fcb675abe33ada3dd2a0bb174a8cc6130f9f5c03b5c623c4956efc5b @@ -15,6 +19,8 @@ DIST Ice-3.4.0.pdf.gz 5899146 RMD160 b7f3f867a55d09e28522a8c752985e19e05c8282 SH DIST Ice-3.4.0.tar.gz 5233156 RMD160 e874749f8d7d1916c1e3b19c006a7f2216e10f53 SHA1 1c8fe296af8d65d16cddac39a8bc24b71e069f75 SHA256 8af7f278722998d2c9e7a2a60b56e230c3a47434d645d6de258aa1f18080b708 DIST Ice-3.4.1.pdf.gz 5916874 RMD160 7bd0e94c634acf2ae68c91c00ffb3e23cf9bc5ec SHA1 76b86221ce6196a54d09ae1b98fbc801dff25687 SHA256 ce7b41769e22ec718d41a3e9eebbe92bee189e9bcab424c3551d2b765bde2e0f DIST Ice-3.4.1.tar.gz 5263510 RMD160 aa756a14421e084336dcecdcbb977aa98c5e1283 SHA1 f3ae394146a36fa6453dc69e80d2ab6ab30f4d9a SHA256 83c76687ac2b1c16a7e51799668531ec794dc8bd81f0daec14765ad3c671b0e6 +DIST Ice-3.4.2.pdf.gz 4232836 RMD160 06319749bc50419ef6ab23d336fee89526e88e0c SHA1 c4469565e7e7074c33e384f7b2d4b19cf76f70c3 SHA256 6400efa65f879f964590759222dd46010bfeb3e430787a4d53e826a54cbc4067 +DIST Ice-3.4.2.tar.gz 5485106 RMD160 7ce680a4eb5fa9d0bb6f8b8910e267dfc2373d75 SHA1 8c84d6e3b227f583d05e08251e07047e6c3a6b42 SHA256 dcf0484495b6df0849ec90a00e8204fe5fe1c0d3882bb438bf2c1d062f15c979 EBUILD Ice-3.2.0.ebuild 1601 RMD160 0565fdf7fcbea5fa165e10dd3eabd53c3fe078b8 SHA1 b3175229e32ee81712c75536650cc98eaa9cbeb9 SHA256 268e0043adff185dff04252df8a01415b4a7bb59c1347edd7782de16246efab2 EBUILD Ice-3.2.1.ebuild 1650 RMD160 c75d19140759039b3d70199030dd438beb8a6ec2 SHA1 cd1813bcde751763fa33098e364b5b3470d8a697 SHA256 a96acbf9ef1778dac2ebf0730cbd31809ad0c2a8da32f1ebcbb9e04bdc45e6ab EBUILD Ice-3.3.1-r1.ebuild 1583 RMD160 efc68597f4f8d4ac3a8b736709e16d8f46882716 SHA1 fe376e253609e919dc334fbc342f172ee4a9908c SHA256 7505eaa0e8dc36c1a3298a1e57c52f6bf82fbdda514411c6d83a9f5f705f24e4 @@ -22,5 +28,23 @@ EBUILD Ice-3.3.1-r2.ebuild 5981 RMD160 e68a18ca6b807d33a85c1fa7f8df42d094a18337 EBUILD Ice-3.3.1.ebuild 1562 RMD160 9385ec0615907af14caf37a9a69b78d3e172b8cd SHA1 4a874c1779529adccfa1960c660b586970366bf9 SHA256 091ff845f78d8795e4d0b3980df51efac6c4c8fca94404debbcdfe1a6938c086 EBUILD Ice-3.4.0.ebuild 6136 RMD160 4a652a1b76466d45302906c20538f92b0a0a19c9 SHA1 8e1836b3b568af2b723314d58e53bfeccf9bcf7e SHA256 f00185d6b18e9ece2f1c54a1021a671457b46335742596724b54e9a9ed105d74 EBUILD Ice-3.4.1.ebuild 6843 RMD160 d5b70009202c664fef24604b4bebec6ef45da9ed SHA1 aec49a84cc37680b4f947c150ac5bdaf9a78021a SHA256 ce9eb8ba8393d672430b89506a9693dc0276eaa43fb160fee839616808e6569a -MISC ChangeLog 7882 RMD160 e9312b5a19c829148ab8679b69970b8a199cd980 SHA1 31cb279ff7ba976c00730162165b958a95f1295e SHA256 b83eaaf567f31316b9f96911b73af47dacf8199c6df12737cf7aff2b636c3a66 +EBUILD Ice-3.4.2.ebuild 6801 RMD160 f47421d5de3cc61942608be85235ae7d050689dc SHA1 c1a4a357018945522012efc12059db5593e684eb SHA256 3ace92f19fcc42a474be7d4f63bd088210556350b5ba1929e236b5557b1c39c9 +MISC ChangeLog 8129 RMD160 e73b6d60b776d0e99c4f11cc9e0f0f12eaf34f46 SHA1 29bd47aee57c18d28c8aab01ba9d0a87e27c5770 SHA256 94f20330abfda6e4943b14c66288e6e7ce28421a9c2f22fc4b542e525bfa80d4 MISC metadata.xml 339 RMD160 f92a68fdab5aad40e9c173ebd1ed26b5963acf9f SHA1 3dfd85c450884b0fb534b7d54cfb6837dfa5c764 SHA256 dec27f6d803819a7791826c1a98a83a1c21a23df0a3384234ac68abf8b8466a3 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.18 (GNU/Linux) + +iQIcBAEBCgAGBQJOQvOBAAoJEPiazRVxLXTF8KgQAIh8KVHaUlU/s1eNi+sdiqlE +7JYGR5loxZXJmvBlD5fpbXv29L2R/8lXZl5U1qKBoI3xIOUVHGdgAGByQ3lOFf11 +f/KZ0nMz9OtKnOvn49iLJCY3NN3oX16mRPhN9BDr9I2HMyWsCIreXfAk1YgEru5p +r7cQT8oSHl97MABXnZRE+A0vYuTTlBlGLdxtYV3wXnVcIh5JsimHUDFRXE8PXSZA +wOZy3PMSTSlaXbr7JyC3WM6IOofpCN4NKKOYIrLO7/fAE8go1LbfxGMlsYvNYAzJ +eVsN6BwZelR2B/uwa82FYGLlVhDGy8Gqhabl0HEua8zRLwcXdiBZgIwzSHfvbESh +WqBkdK8hokX/cAafqPg9se8losj5WwAcUL1T+UpmnKM1PNQyzjuRXuwIUUcrEjA6 +gUIb8aeUHauHYEBKKTOM/C7x4z+mstajgQw6ur9tsVRdsXUeL8URo1e9bEV/5tNd +Z2VOGV+gfkiTstRfvt8ZSW41eK2hoKVd0nbEsMDY5iqlTwzhZXKiM0ISorL9pEmw +DHP5bupwahlJ1KJT8TjvdeGFwn5FpqGdfIc82GsU6fbmbvlSsf/fz19eqgLgm6ZC +jzVXsswe55frehuQLcXhvlu0p91EA6QXE/SFuSh3dQ5IG8BuuOw/szasq6Wh1FdZ +zkIjhNA7uzCUuTmGOFVB +=b66g +-----END PGP SIGNATURE----- diff --git a/dev-libs/Ice/files/Ice-3.4.1-db5.patch b/dev-libs/Ice/files/Ice-3.4.1-db5.patch new file mode 100644 index 000000000000..44183ae997af --- /dev/null +++ b/dev-libs/Ice/files/Ice-3.4.1-db5.patch @@ -0,0 +1,16 @@ +--- ./cpp/src/Freeze/MapI.cpp ++++ ./cpp/src/Freeze/MapI.cpp +@@ -1487,10 +1487,10 @@ Freeze::MapHelperI::size() const + + try + { +-#if DB_VERSION_MAJOR != 4 +-#error Freeze requires DB 4.x ++#if DB_VERSION_MAJOR < 4 ++#error Freeze requires DB 4.x or greater + #endif +-#if DB_VERSION_MINOR < 3 ++#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR < 3 + _db->stat(&s, 0); + #else + _db->stat(_connection->dbTxn(), &s, 0); \ No newline at end of file -- 2.26.2