Version bump. Added patch to let Ice compile against >=sys-libs/db-5.0 (bug #376263)
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 10 Aug 2011 21:09:15 +0000 (21:09 +0000)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 10 Aug 2011 21:09:15 +0000 (21:09 +0000)
Package-Manager: portage-2.2.0_alpha50/cvs/Linux x86_64

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

index 96fa0746c2b2d9b3877aa927f642050fe2bda5a0..28868fdcfe9a6518aaf0540ec791519020f7f407 100644 (file)
@@ -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 <polynomial-c@gentoo.org>
+  +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 <hwoarang@gentoo.org> 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 (file)
index 0000000..2e3910d
--- /dev/null
@@ -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[@]}"
+}
index 7533f2eaf71787b9ace1a1ca160c2b2e0e0f1bec..7e6b47af9f6cf788c3e2e5966db5594b44365299 100644 (file)
@@ -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 (file)
index 0000000..44183ae
--- /dev/null
@@ -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