Version bump (thanks to Philip Kovacs for the note and Arfrever for the help with...
authorTiziano Müller <dev-zero@gentoo.org>
Sun, 13 Jun 2010 16:14:26 +0000 (16:14 +0000)
committerTiziano Müller <dev-zero@gentoo.org>
Sun, 13 Jun 2010 16:14:26 +0000 (16:14 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

dev-libs/Ice/ChangeLog
dev-libs/Ice/Ice-3.4.1.ebuild [new file with mode: 0644]
dev-libs/Ice/Manifest

index 12cb46fe9321563e3f0f943c44463fabdcb18372..f9007b03d6c8142c1f69bf8afe6c686639c25d70 100644 (file)
@@ -1,6 +1,12 @@
 # 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.3 2010/06/10 19:07:33 polynomial-c Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/Ice/ChangeLog,v 1.4 2010/06/13 16:14:26 dev-zero Exp $
+
+*Ice-3.4.1 (13 Jun 2010)
+
+  13 Jun 2010; Tiziano Müller <dev-zero@gentoo.org> +Ice-3.4.1.ebuild:
+  Version bump (thanks to Philip Kovacs for the note and Arfrever for the
+  help with the python stuff). Fixes bugs #323495, #323653 and bug #312133.
 
   10 Jun 2010; Lars Wendler <polynomial-c@gentoo.org> Ice-3.4.0.ebuild:
   non-maintainer commit: Fixing compilation against sys-libs/db:4.8 (see bug
diff --git a/dev-libs/Ice/Ice-3.4.1.ebuild b/dev-libs/Ice/Ice-3.4.1.ebuild
new file mode 100644 (file)
index 0000000..52d1263
--- /dev/null
@@ -0,0 +1,264 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/Ice/Ice-3.4.1.ebuild,v 1.1 2010/06/13 16:14:26 dev-zero 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
+
+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:4.8[-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() {
+#      if tc-is-cross-compiler ; then
+#              export CROSS_COMPILE=yes
+#              epatch "${FILESDIR}/${P}-cross-compile.patch"
+#      fi
+
+       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/usr/include/db4.8"
+       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-4.8|" \
+               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[@]}"
+}
index cfaca030a987640b4f27f10933bb64faa204ad3c..6dab4bad02432871d8a4560123819b44452a09b9 100644 (file)
@@ -13,11 +13,14 @@ DIST Ice-3.3.1.pdf.gz 5798120 RMD160 1b162529bc35a716c3713242fad2ccc6b3d639f1 SH
 DIST Ice-3.3.1.tar.gz 4455154 RMD160 d64d52c35640cebe1145e62f57618473d17cbeb5 SHA1 08d0f32bdb7d909b4a531d45cccfa97bdde649aa SHA256 7b90477303ea2668e8f2cc7bb4506e3a596699e092c4e622746ea42d8286abd0
 DIST Ice-3.4.0.pdf.gz 5899146 RMD160 b7f3f867a55d09e28522a8c752985e19e05c8282 SHA1 f1215e3cf09a413a884ed3a264ffd5fc5079f88b SHA256 4b0abfd3ac68cf728bfbfe23b591aa6982c170996a9d0232e06d2330a1e46399
 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
 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
 EBUILD Ice-3.3.1-r2.ebuild 5981 RMD160 e68a18ca6b807d33a85c1fa7f8df42d094a18337 SHA1 f5b236c53bb8b0a3b73b6b95b1401d16fab74a25 SHA256 64d9452537fd3b8fbaf830095e562c5bbe2185b38c9fbfc0f3bdeca529429d90
 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
-MISC ChangeLog 7404 RMD160 b90be86aa1d3299df262bcb12193f47dc8a8d00f SHA1 b28eb779c79dac120c6058f3ea613fd2ed9519f9 SHA256 d73b9700269aa2cb3e9cdcd5b459c05379ed0face29fb1aa9916d57813c53c96
+EBUILD Ice-3.4.1.ebuild 6845 RMD160 71eb7ded32cee9db69b825da735be977cf152721 SHA1 92d550d199371354f6977af51f8b6734dae51c81 SHA256 2e56b663c0b961b91221f4ce290ee919954eda93e9182ee58a85a2c76fb8db54
+MISC ChangeLog 7649 RMD160 ec9f94bc7ba3b988b29542d675751b5239a92cf5 SHA1 ad4bb295bf5fb4399c1a690a5b60e99485c0bf93 SHA256 6b3d6da1a3e3af165594835df183c041947d7b2b12bd0270c1231db8992c3719
 MISC metadata.xml 339 RMD160 f92a68fdab5aad40e9c173ebd1ed26b5963acf9f SHA1 3dfd85c450884b0fb534b7d54cfb6837dfa5c764 SHA256 dec27f6d803819a7791826c1a98a83a1c21a23df0a3384234ac68abf8b8466a3