--- /dev/null
+# 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[@]}"
+}
+-----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
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
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
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-----