summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2012-04-08 17:52:15 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2012-04-08 17:52:15 +0000
commit37c3e2fee1453f07ca2345385ff62ffd5a1cf653 (patch)
tree5632acfe33879cc989846dc92dfd584d4e24cb77 /net-p2p/transmission
parentStable for HPPA (bug #410931). (diff)
downloadgentoo-2-37c3e2fee1453f07ca2345385ff62ffd5a1cf653.tar.gz
gentoo-2-37c3e2fee1453f07ca2345385ff62ffd5a1cf653.tar.bz2
gentoo-2-37c3e2fee1453f07ca2345385ff62ffd5a1cf653.zip
Fix segmentation fault when opening a torrent file on systems that don't define G_USER_DIRECTORY_DOWNLOAD wrt #408067 by Elijah El Lazkani
(Portage version: 2.2.0_alpha99/cvs/Linux x86_64)
Diffstat (limited to 'net-p2p/transmission')
-rw-r--r--net-p2p/transmission/ChangeLog9
-rw-r--r--net-p2p/transmission/files/transmission-2.50-segfault.patch19
-rw-r--r--net-p2p/transmission/transmission-2.50-r2.ebuild198
3 files changed, 225 insertions, 1 deletions
diff --git a/net-p2p/transmission/ChangeLog b/net-p2p/transmission/ChangeLog
index 03f779e4e5bb..d74ecdfde689 100644
--- a/net-p2p/transmission/ChangeLog
+++ b/net-p2p/transmission/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-p2p/transmission
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/ChangeLog,v 1.186 2012/03/21 06:21:26 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/ChangeLog,v 1.187 2012/04/08 17:52:15 ssuominen Exp $
+
+*transmission-2.50-r2 (08 Apr 2012)
+
+ 08 Apr 2012; Samuli Suominen <ssuominen@gentoo.org>
+ +transmission-2.50-r2.ebuild, +files/transmission-2.50-segfault.patch:
+ Fix segmentation fault when opening a torrent file on systems that don't
+ define G_USER_DIRECTORY_DOWNLOAD wrt #408067 by Elijah El Lazkani
21 Mar 2012; Samuli Suominen <ssuominen@gentoo.org>
-transmission-2.22.ebuild, -transmission-2.42-r1.ebuild,
diff --git a/net-p2p/transmission/files/transmission-2.50-segfault.patch b/net-p2p/transmission/files/transmission-2.50-segfault.patch
new file mode 100644
index 000000000000..90d4ff2f0246
--- /dev/null
+++ b/net-p2p/transmission/files/transmission-2.50-segfault.patch
@@ -0,0 +1,19 @@
+http://bugs.gentoo.org/408067
+http://trac.transmissionbt.com/ticket/4573
+
+--- gtk/conf.c
++++ gtk/conf.c
+@@ -68,4 +68,5 @@
+ {
+ const char * str;
++ const char * special_dl_dir = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD );
+
+ cf_check_older_configs( );
+@@ -107,6 +108,5 @@
+ tr_bencDictAddInt( d, PREF_KEY_MAIN_WINDOW_Y, 50 );
+
+- str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD );
+- tr_bencDictAddStr( d, TR_PREFS_KEY_DOWNLOAD_DIR, str );
++ tr_bencDictAddStr( d, TR_PREFS_KEY_DOWNLOAD_DIR, special_dl_dir ? special_dl_dir : str );
+
+ tr_bencDictAddStr( d, PREF_KEY_SORT_MODE, "sort-by-name" );
diff --git a/net-p2p/transmission/transmission-2.50-r2.ebuild b/net-p2p/transmission/transmission-2.50-r2.ebuild
new file mode 100644
index 000000000000..5aed60f37a11
--- /dev/null
+++ b/net-p2p/transmission/transmission-2.50-r2.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/transmission-2.50-r2.ebuild,v 1.1 2012/04/08 17:52:15 ssuominen Exp $
+
+EAPI=4
+LANGS="en es kk lt pt_BR ru"
+
+unset _live_inherits
+
+if [[ ${PV} == *9999* ]]; then
+ ESVN_REPO_URI="svn://svn.transmissionbt.com/Transmission/trunk"
+ _live_inherits=subversion
+else
+ SRC_URI="http://download.transmissionbt.com/${PN}/files/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
+fi
+
+inherit autotools eutils fdo-mime gnome2-utils qt4-r2 ${_live_inherits}
+
+DESCRIPTION="A Fast, Easy and Free BitTorrent client"
+HOMEPAGE="http://www.transmissionbt.com/"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+IUSE="ayatana gtk lightweight qt4 xfs"
+
+RDEPEND="
+ >=dev-libs/libevent-2.0.10
+ dev-libs/openssl:0
+ net-libs/libnatpmp
+ >=net-libs/miniupnpc-1.6
+ >=net-misc/curl-7.16.3[ssl]
+ sys-libs/zlib
+ gtk? (
+ >=dev-libs/dbus-glib-0.98
+ >=dev-libs/glib-2.28
+ >=x11-libs/gtk+-3.2:3
+ ayatana? ( dev-libs/libappindicator:3 )
+ )
+ qt4? (
+ x11-libs/qt-core:4
+ x11-libs/qt-gui:4[dbus]
+ )"
+
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ dev-util/pkgconfig
+ sys-devel/gettext
+ virtual/os-headers
+ xfs? ( sys-fs/xfsprogs )"
+
+REQUIRED_USE="ayatana? ( gtk )"
+
+DOCS="AUTHORS NEWS qt/README.txt"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ subversion_src_unpack
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} == *9999* ]]; then
+ subversion_src_prepare
+ ./update-version-h.sh
+ fi
+
+ epatch "${FILESDIR}"/${PN}-2.50-build-with-natpmp1.patch #376647
+ epatch "${FILESDIR}"/${PN}-2.50-punt_broken_CXX_check.patch #407137
+ epatch "${FILESDIR}"/${PN}-2.50-segfault.patch #408067
+
+ sed -i -e '/CFLAGS/s:-ggdb3::' configure.ac
+ use ayatana || sed -i -e '/^LIBAPPINDICATOR_MINIMUM/s:=.*:=9999:' configure.ac
+
+ # http://trac.transmissionbt.com/ticket/4324
+ sed -i -e 's|noinst\(_PROGRAMS = $(TESTS)\)|check\1|' lib${PN}/Makefile.am || die
+
+ eautoreconf
+ intltoolize --copy --force --automake || die
+
+ if use qt4; then
+ cat <<-EOF > "${T}"/${PN}-magnet.protocol
+ [Protocol]
+ exec=${PN}-qt '%u'
+ protocol=magnet
+ Icon=${PN}
+ input=none
+ output=none
+ helper=true
+ listing=
+ reading=false
+ writing=false
+ makedir=false
+ deleting=false
+ EOF
+ fi
+}
+
+src_configure() {
+ export ac_cv_header_xfs_xfs_h=$(usex xfs)
+
+ econf \
+ --enable-external-natpmp \
+ $(use_enable lightweight) \
+ $(use_with gtk)
+
+ if use qt4; then
+ pushd qt >/dev/null
+ eqmake4 qtr.pro
+ popd >/dev/null
+ fi
+}
+
+src_compile() {
+ default
+
+ if use qt4; then
+ pushd qt >/dev/null
+ emake
+
+ local l
+ for l in ${LANGS}; do
+ if use linguas_${l}; then
+ lrelease translations/${PN}_${l}.ts
+ fi
+ done
+ popd >/dev/null
+ fi
+}
+
+src_install() {
+ default
+
+ rm -f "${ED}"/usr/share/${PN}/web/LICENSE
+
+ newinitd "${FILESDIR}"/${PN}-daemon.initd.8 ${PN}-daemon
+ newconfd "${FILESDIR}"/${PN}-daemon.confd.3 ${PN}-daemon
+
+ keepdir /var/{${PN}/{config,downloads},log/${PN}}
+ fowners -R ${PN}:${PN} /var/{${PN}/{,config,downloads},log/${PN}}
+
+ if use qt4; then
+ pushd qt >/dev/null
+ emake INSTALL_ROOT="${D}"/usr install
+
+ domenu ${PN}-qt.desktop
+
+ local res
+ for res in 16 22 24 32 48; do
+ insinto /usr/share/icons/hicolor/${res}x${res}/apps
+ newins icons/hicolor_apps_${res}x${res}_${PN}.png ${PN}-qt.png
+ done
+
+ insinto /usr/share/kde4/services
+ doins "${T}"/${PN}-magnet.protocol
+
+ insinto /usr/share/qt4/translations
+ local l
+ for l in ${LANGS}; do
+ if use linguas_${l}; then
+ doins translations/${PN}_${l}.qm
+ fi
+ done
+ popd >/dev/null
+ fi
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+
+ elog "If you use ${PN}-daemon, please, set 'rpc-username' and"
+ elog "'rpc-password' (in plain text, ${PN}-daemon will hash it on"
+ elog "start) in settings.json file located at /var/${PN}/config or"
+ elog "any other appropriate config directory."
+ elog
+ elog "Since µTP is enabled by default, ${PN} needs large kernel buffers for"
+ elog "the UDP socket. You can append following lines into /etc/sysctl.conf:"
+ elog " net.core.rmem_max = 4194304"
+ elog " net.core.wmem_max = 1048576"
+ elog "and run sysctl -p"
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}