diff options
author | Daniel Black <dragonheart@gentoo.org> | 2006-12-12 11:14:36 +0000 |
---|---|---|
committer | Daniel Black <dragonheart@gentoo.org> | 2006-12-12 11:14:36 +0000 |
commit | 847dc04c2bc8f1a06af6b4116a8e15adfe10d633 (patch) | |
tree | 333d0e17e1bfc525ef12d83390efdf7f159369f5 /net-im/twinkle | |
parent | We now require virtual/init, which will provide (diff) | |
download | gentoo-2-847dc04c2bc8f1a06af6b4116a8e15adfe10d633.tar.gz gentoo-2-847dc04c2bc8f1a06af6b4116a8e15adfe10d633.tar.bz2 gentoo-2-847dc04c2bc8f1a06af6b4116a8e15adfe10d633.zip |
upstream memory patch thanks to Zas
(Portage version: 2.1.2_rc3)
Diffstat (limited to 'net-im/twinkle')
-rw-r--r-- | net-im/twinkle/ChangeLog | 8 | ||||
-rw-r--r-- | net-im/twinkle/files/digest-twinkle-0.9-r2 | 3 | ||||
-rw-r--r-- | net-im/twinkle/files/twinkle-0.9-memman.patch | 61 | ||||
-rw-r--r-- | net-im/twinkle/twinkle-0.9-r2.ebuild | 57 |
4 files changed, 128 insertions, 1 deletions
diff --git a/net-im/twinkle/ChangeLog b/net-im/twinkle/ChangeLog index eb4749b16470..5928458cbccb 100644 --- a/net-im/twinkle/ChangeLog +++ b/net-im/twinkle/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-im/twinkle # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/twinkle/ChangeLog,v 1.22 2006/11/03 07:42:05 dragonheart Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/twinkle/ChangeLog,v 1.23 2006/12/12 11:14:36 dragonheart Exp $ + +*twinkle-0.9-r2 (12 Dec 2006) + + 12 Dec 2006; Daniel Black <dragonheart@gentoo.org> + +files/twinkle-0.9-memman.patch, +twinkle-0.9-r2.ebuild: + upstream memory patch thanks to Zas *twinkle-0.9-r1 (03 Nov 2006) diff --git a/net-im/twinkle/files/digest-twinkle-0.9-r2 b/net-im/twinkle/files/digest-twinkle-0.9-r2 new file mode 100644 index 000000000000..0f87aa58bd88 --- /dev/null +++ b/net-im/twinkle/files/digest-twinkle-0.9-r2 @@ -0,0 +1,3 @@ +MD5 74ef85e9f4570cec10bd23d301f5549e twinkle-0.9.tar.gz 1012524 +RMD160 f6b8b70a9630687cf7f100c9dde888289d97f082 twinkle-0.9.tar.gz 1012524 +SHA256 22f536aaf6a7aa6870c31d03190b206509cfc8b6147c3af7080d6dbfa5a992b6 twinkle-0.9.tar.gz 1012524 diff --git a/net-im/twinkle/files/twinkle-0.9-memman.patch b/net-im/twinkle/files/twinkle-0.9-memman.patch new file mode 100644 index 000000000000..ccd7dc7b8f97 --- /dev/null +++ b/net-im/twinkle/files/twinkle-0.9-memman.patch @@ -0,0 +1,61 @@ +Index: src/audits/memman.cpp +=================================================================== +--- src/audits/memman.cpp (revision 223) ++++ src/audits/memman.cpp (working copy) +@@ -114,13 +114,22 @@ + return; + } + +- pointer_map.erase(p); ++ + bool array_mismatch = (is_array != i->second.is_array); +- mtx_memman.unlock(); + + // Check mixing of array new/delete ++ // NOTE: after the pointer has been erased from pointer_map, the ++ // iterator i is invalid. ++ // The mutex mtx_memman should be unlocked before logging to ++ // avoid dead locks. + if (array_mismatch) { + num_array_mixing++; ++ string allocation_filename = i->second.filename; ++ int allocation_lineno = i->second.lineno; ++ bool allocation_is_array = i->second.is_array; ++ pointer_map.erase(p); ++ mtx_memman.unlock(); ++ + log_file->write_header("t_memman::trc_delete", + LOG_MEMORY, LOG_WARNING); + log_file->write_raw(filename); +@@ -130,21 +139,24 @@ + log_file->write_raw(ptr2str(p)); + log_file->write_raw(" is deleted "); + if (is_array) { +- log_file->write_raw(" as array (delete []).\n"); ++ log_file->write_raw("as array (delete []).\n"); + } else { +- log_file->write_raw(" normally (delete).\n"); ++ log_file->write_raw("normally (delete).\n"); + } + log_file->write_raw("But it was allocated "); +- if (i->second.is_array) { +- log_file->write_raw(" as array (new []) \n"); ++ if (allocation_is_array) { ++ log_file->write_raw("as array (new []) \n"); + } else { +- log_file->write_raw(" normally (new) \n"); ++ log_file->write_raw("normally (new) \n"); + } +- log_file->write_raw(i->second.filename); ++ log_file->write_raw(allocation_filename); + log_file->write_raw(", line "); +- log_file->write_raw(i->second.lineno); ++ log_file->write_raw(allocation_lineno); + log_file->write_endl(); + log_file->write_footer(); ++ } else { ++ pointer_map.erase(p); ++ mtx_memman.unlock(); + } + } + diff --git a/net-im/twinkle/twinkle-0.9-r2.ebuild b/net-im/twinkle/twinkle-0.9-r2.ebuild new file mode 100644 index 000000000000..59a33ced3984 --- /dev/null +++ b/net-im/twinkle/twinkle-0.9-r2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-im/twinkle/twinkle-0.9-r2.ebuild,v 1.1 2006/12/12 11:14:36 dragonheart Exp $ + +inherit eutils qt3 + +DESCRIPTION="a soft phone for your VOIP communcations using SIP" +HOMEPAGE="http://www.twinklephone.com/" +SRC_URI="http://www.xs4all.nl/~mfnboer/twinkle/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="arts speex ilbc zrtp" + +# Requires libqt-mt actually... Is that *always* built, or do we need to check? +RDEPEND=">=net-libs/ccrtp-1.5.0 + >=dev-cpp/commoncpp2-1.4.1 + $(qt_min_version 3.3.0) + arts? ( kde-base/arts ) + media-libs/libsndfile + dev-libs/boost + speex? ( media-libs/speex ) + ilbc? ( dev-libs/ilbc-rfc3951 ) + zrtp? ( net-libs/libzrtpcpp )" + +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${PN}-0.4.1-badcflags.patch + epatch "${FILESDIR}"/${P}-dtmf.patch + epatch "${FILESDIR}"/${P}-invite4xx.patch + epatch "${FILESDIR}"/${P}-memman.patch +} + +src_compile() { + econf \ + $(use_with ilbc) \ + $(use_with arts) \ + $(use_with zrtp) \ + $(use_with speex) || die 'Error: conf failed' + emake || die "Error: emake failed!" +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS NEWS README THANKS + domenu twinkle.desktop +} + +pkg_postinst() { + einfo "if you get crashes on startup re-emerge commoncpp2 ccrtp and twinkle" + einfo "see http://www.xs4all.nl/~mfnboer/twinkle/faq.html#crash_startup" +} |