diff options
author | 2011-10-19 10:59:45 +0000 | |
---|---|---|
committer | 2011-10-19 10:59:45 +0000 | |
commit | 69007bc1b678db87789d982aaf40148ecaa82cfc (patch) | |
tree | 3464a68a607d79b9ebfe7816d528aca51634aa6e /net-p2p | |
parent | Version bump, bug #387037 wrt Per Pomsel (diff) | |
download | gentoo-2-69007bc1b678db87789d982aaf40148ecaa82cfc.tar.gz gentoo-2-69007bc1b678db87789d982aaf40148ecaa82cfc.tar.bz2 gentoo-2-69007bc1b678db87789d982aaf40148ecaa82cfc.zip |
Version bump, bug 387035 wrt lexa and Daniel T. Do not reset permissions, bug 349867 thank Tony Levi for report and Nikolaj Sjujskij for getting me back on issue.
(Portage version: 2.1.10.27/cvs/Linux x86_64)
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/transmission/ChangeLog | 10 | ||||
-rw-r--r-- | net-p2p/transmission/files/transmission-2.41-0003-system-miniupnpc.patch | 281 | ||||
-rw-r--r-- | net-p2p/transmission/transmission-2.41.ebuild | 148 |
3 files changed, 438 insertions, 1 deletions
diff --git a/net-p2p/transmission/ChangeLog b/net-p2p/transmission/ChangeLog index b380f289744d..d67a6541c0fb 100644 --- a/net-p2p/transmission/ChangeLog +++ b/net-p2p/transmission/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-p2p/transmission # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/ChangeLog,v 1.156 2011/08/05 21:00:38 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/ChangeLog,v 1.157 2011/10/19 10:59:45 pva Exp $ + +*transmission-2.41 (19 Oct 2011) + + 19 Oct 2011; Peter Volkov <pva@gentoo.org> +transmission-2.41.ebuild, + +files/transmission-2.41-0003-system-miniupnpc.patch: + Version bump, bug 387035 wrt lexa and Daniel T. Do not reset permissions, bug + 349867 thank Tony Levi for report and Nikolaj Sjujskij for getting me back on + issue. *transmission-2.33-r1 (05 Aug 2011) diff --git a/net-p2p/transmission/files/transmission-2.41-0003-system-miniupnpc.patch b/net-p2p/transmission/files/transmission-2.41-0003-system-miniupnpc.patch new file mode 100644 index 000000000000..e4b6271ba771 --- /dev/null +++ b/net-p2p/transmission/files/transmission-2.41-0003-system-miniupnpc.patch @@ -0,0 +1,281 @@ +=== modified file 'cli/Makefile.am' +--- cli/Makefile.am 2011-10-19 10:26:45 +0000 ++++ cli/Makefile.am 2011-10-19 10:37:21 +0000 +@@ -18,8 +18,8 @@ + + transmission_cli_LDADD = \ + $(top_builddir)/libtransmission/libtransmission.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ + @DHT_LIBS@ \ + @LIBUTP_LIBS@ \ + @LIBEVENT_LIBS@ \ + +=== modified file 'configure.ac' +--- configure.ac 2011-10-19 10:36:21 +0000 ++++ configure.ac 2011-10-19 10:37:21 +0000 +@@ -229,6 +229,77 @@ + + dnl ---------------------------------------------------------------------------- + dnl ++dnl Allow usage of system miniupnp library ++LIBUPNP_CFLAGS="-I\$(top_srcdir)/third-party/" ++LIBUPNP_LIBS="\$(top_builddir)/third-party/miniupnp/libminiupnp.a" ++LIBUPNP_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/miniupnp/libminiupnp.a" ++build_bundled_miniupnp="yes" ++AC_ARG_ENABLE([external-miniupnp], ++ AS_HELP_STRING([--enable-external-miniupnp],[Use system external-miniupnp]), ++ [want_external_miniupnp=${enableval}], ++ [want_external_miniupnp=no]) ++if test "x$want_external_miniupnp" != "xno" ; then ++ AC_DEFINE([SYSTEM_MINIUPNP]) ++ ac_save_LIBS="$LIBS" ++ LIBS="-lminiupnpc" ++ # Check miniupnp 1.5 ++ AC_TRY_LINK([ ++ #include <stdlib.h> ++ #include <miniupnpc/miniupnpc.h> ++ #include <miniupnpc/upnpcommands.h> ++ ],[ ++ struct UPNPDev * devlist; ++ struct UPNPUrls urls; ++ struct IGDdatas data; ++ char lanaddr[16]; ++ char portStr[8]; ++ char intPort[8]; ++ char intClient[16]; ++ upnpDiscover( 2000, NULL, NULL, 0 ); ++ UPNP_GetValidIGD( devlist, &urls, &data, lanaddr, sizeof( lanaddr ) ); ++ UPNP_GetSpecificPortMappingEntry( urls.controlURL, data.first.servicetype, ++ portStr, "TCP", intClient, intPort ); ++ ],[ ++ AC_DEFINE(HAVE_MINIUPNP_15, 1, [Define to 1 if you have miniupnpc version 1.5]) ++ build_bundled_miniupnp="no"]) ++ ++ # Check miniupnp 1.6 ++ AC_TRY_LINK([ ++ #include <stdlib.h> ++ #include <errno.h> ++ #include <miniupnpc/miniupnpc.h> ++ #include <miniupnpc/upnpcommands.h> ++ ],[ ++ struct UPNPDev * devlist; ++ struct UPNPUrls urls; ++ struct IGDdatas data; ++ char lanaddr[16]; ++ char portStr[8]; ++ char intPort[8]; ++ char intClient[16]; ++ upnpDiscover( 2000, NULL, NULL, 0, 0, &errno ); ++ UPNP_GetValidIGD( devlist, &urls, &data, lanaddr, sizeof( lanaddr ) ); ++ UPNP_GetSpecificPortMappingEntry( urls.controlURL, data.first.servicetype, ++ portStr, "TCP", intClient, intPort, NULL, NULL, NULL ); ++ ],[ ++ AC_DEFINE(HAVE_MINIUPNP_16, 1, [Define to 1 if you have miniupnpc version 1.6]) ++ build_bundled_miniupnp="no"]) ++ ++ if test "x$build_bundled_miniupnp" = "xno" ; then ++ LIBUPNP_CFLAGS="" ++ LIBUPNP_LIBS="-lminiupnpc" ++ LIBUPNP_LIBS_QT="-lminiupnpc" ++ else ++ AC_MSG_ERROR("Requested system libminiupnp but it is not found") ++ fi ++ LIBS="$ac_save_LIBS" ++fi ++AM_CONDITIONAL([BUILD_MINIUPNP],[test "x$build_bundled_miniupnp" = "xyes"]) ++AC_SUBST(LIBUPNP_CFLAGS) ++AC_SUBST(LIBUPNP_LIBS) ++AC_SUBST(LIBUPNP_LIBS_QT) ++dnl ---------------------------------------------------------------------------- ++dnl + dnl detection for the GTK+ client + + PKG_CHECK_MODULES(GTK, +@@ -401,7 +472,7 @@ + libtransmission/Makefile + utils/Makefile + third-party/Makefile +- third-party/miniupnp/Makefile ++ third-party/miniupnp/Makefile + third-party/libnatpmp/Makefile + third-party/libutp/Makefile + third-party/dht/Makefile + +=== modified file 'daemon/Makefile.am' +--- daemon/Makefile.am 2011-10-19 10:26:45 +0000 ++++ daemon/Makefile.am 2011-10-19 10:37:21 +0000 +@@ -20,7 +20,7 @@ + + LDADD = \ + $(top_builddir)/libtransmission/libtransmission.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ + @DHT_LIBS@ \ + @LIBUTP_LIBS@ \ + +=== modified file 'gtk/Makefile.am' +--- gtk/Makefile.am 2011-10-19 10:26:45 +0000 ++++ gtk/Makefile.am 2011-10-19 10:37:21 +0000 +@@ -84,7 +84,7 @@ + + transmission_gtk_LDADD = \ + $(top_builddir)/libtransmission/libtransmission.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ + @DHT_LIBS@ \ + @LIBUTP_LIBS@ \ + +=== modified file 'libtransmission/Makefile.am' +--- libtransmission/Makefile.am 2011-10-19 10:26:45 +0000 ++++ libtransmission/Makefile.am 2011-10-19 10:37:21 +0000 +@@ -8,6 +8,7 @@ + AM_CFLAGS = \ + @DHT_CFLAGS@ \ + @LIBUTP_CFLAGS@ \ ++ @LIBUPNP_CFLAGS@ \ + @LIBEVENT_CFLAGS@ \ + @LIBCURL_CFLAGS@ \ + @OPENSSL_CFLAGS@ \ +@@ -139,7 +140,7 @@ + + apps_ldadd = \ + ./libtransmission.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ + @INTLLIBS@ \ + @DHT_LIBS@ \ + +=== modified file 'libtransmission/upnp.c' +--- libtransmission/upnp.c 2011-10-19 10:26:45 +0000 ++++ libtransmission/upnp.c 2011-10-19 10:37:21 +0000 +@@ -13,8 +13,13 @@ + #include <assert.h> + #include <errno.h> + ++#ifdef SYSTEM_MINIUPNP ++#include <miniupnpc/miniupnpc.h> ++#include <miniupnpc/upnpcommands.h> ++#else + #include <miniupnp/miniupnpc.h> + #include <miniupnp/upnpcommands.h> ++#endif + + #include "transmission.h" + #include "port-forwarding.h" +@@ -97,7 +102,12 @@ + { + struct UPNPDev * devlist; + errno = 0; +- devlist = upnpDiscover( 2000, NULL, NULL, 0, 0, &errno ); ++#ifdef HAVE_MINIUPNP_16 ++ devlist = upnpDiscover( 2000, NULL, NULL, 0, 0, &errno ); ++#else ++ devlist = upnpDiscover( 2000, NULL, NULL, 0 ); ++#endif ++ + if( devlist == NULL ) + { + tr_ndbg( +@@ -144,9 +154,17 @@ + + tr_snprintf( portStr, sizeof( portStr ), "%d", handle->port ); + if( UPNP_GetSpecificPortMappingEntry( handle->urls.controlURL, handle->data.first.servicetype, +- portStr, "TCP", intClient, intPort, NULL, NULL, NULL ) != UPNPCOMMAND_SUCCESS || ++#ifdef HAVE_MINIUPNP_16 ++ portStr, "TCP", intClient, intPort, NULL, NULL, NULL ) != UPNPCOMMAND_SUCCESS || ++#else ++ portStr, "TCP", intClient, intPort ) != UPNPCOMMAND_SUCCESS || ++#endif + UPNP_GetSpecificPortMappingEntry( handle->urls.controlURL, handle->data.first.servicetype, ++#ifdef HAVE_MINIUPNP_16 + portStr, "UDP", intClient, intPort, NULL, NULL, NULL ) != UPNPCOMMAND_SUCCESS ) ++#else ++ portStr, "UDP", intClient, intPort ) != UPNPCOMMAND_SUCCESS ) ++#endif + { + tr_ninf( getKey( ), _( "Port %d isn't forwarded" ), handle->port ); + handle->isMapped = false; +@@ -198,7 +216,11 @@ + err_tcp = UPNP_AddPortMapping( handle->urls.controlURL, + handle->data.first.servicetype, + portStr, portStr, handle->lanaddr, ++#ifdef HAVE_MINIUPNP_16 + desc, "TCP", NULL, NULL ); ++#else ++ desc, "TCP", NULL ); ++#endif + if( err_tcp ) + tr_ndbg( getKey( ), "TCP Port forwarding failed with error %d (errno %d - %s)", + err_tcp, errno, tr_strerror( errno ) ); +@@ -207,7 +229,11 @@ + err_udp = UPNP_AddPortMapping( handle->urls.controlURL, + handle->data.first.servicetype, + portStr, portStr, handle->lanaddr, ++#ifdef HAVE_MINIUPNP_16 + desc, "UDP", NULL, NULL ); ++#else ++ desc, "UDP", NULL ); ++#endif + if( err_udp ) + tr_ndbg( getKey( ), "UDP Port forwarding failed with error %d (errno %d - %s)", + err_udp, errno, tr_strerror( errno ) ); + +=== modified file 'qt/config.in' +--- qt/config.in 2011-10-19 10:36:21 +0000 ++++ qt/config.in 2011-10-19 10:37:01 +0000 +@@ -1,1 +1,3 @@ + LIBUTP_LIBS = @LIBUTP_LIBS_QT@ ++MINIUPNP_LIBS = @LIBUPNP_LIBS_QT@ ++ + +=== modified file 'qt/qtr.pro' +--- qt/qtr.pro 2011-10-19 10:36:21 +0000 ++++ qt/qtr.pro 2011-10-19 10:37:26 +0000 +@@ -23,7 +23,7 @@ + LIBS += $${TRANSMISSION_TOP}/libtransmission/libtransmission.a + LIBS += $${LIBUTP_LIBS} + LIBS += $${TRANSMISSION_TOP}/third-party/dht/libdht.a +-LIBS += $${TRANSMISSION_TOP}/third-party/miniupnp/libminiupnp.a ++LIBS += $${MINIUPNP_LIBS} + LIBS += $${TRANSMISSION_TOP}/third-party/libnatpmp/libnatpmp.a + unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt + win32:DEFINES += QT_DBUS + +=== modified file 'third-party/Makefile.am' +--- third-party/Makefile.am 2011-10-19 10:26:45 +0000 ++++ third-party/Makefile.am 2011-10-19 10:37:26 +0000 +@@ -1,11 +1,14 @@ + if BUILD_UTP + UTP_DIR = libutp + endif ++if BUILD_MINIUPNP ++ MINIUPNP_DIR = miniupnp ++endif + + SUBDIRS = \ + dht \ + libnatpmp \ +- miniupnp \ ++ $(MINIUPNP_DIR) \ + $(UTP_DIR) + + EXTRA_DIST = \ + +=== modified file 'utils/Makefile.am' +--- utils/Makefile.am 2011-10-19 10:26:45 +0000 ++++ utils/Makefile.am 2011-10-19 10:37:26 +0000 +@@ -26,7 +26,7 @@ + + transmission_create_LDADD = \ + $(top_builddir)/libtransmission/libtransmission.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ + @INTLLIBS@ \ + @DHT_LIBS@ \ + diff --git a/net-p2p/transmission/transmission-2.41.ebuild b/net-p2p/transmission/transmission-2.41.ebuild new file mode 100644 index 000000000000..7e5af81ce3d9 --- /dev/null +++ b/net-p2p/transmission/transmission-2.41.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/transmission-2.41.ebuild,v 1.1 2011/10/19 10:59:45 pva Exp $ + +EAPI=4 +inherit eutils fdo-mime gnome2-utils qt4-r2 autotools + +MY_P="${P/_beta/b}" + +DESCRIPTION="A Fast, Easy and Free BitTorrent client" +HOMEPAGE="http://www.transmissionbt.com/" +SRC_URI="http://download.transmissionbt.com/${PN}/files/${MY_P}.tar.xz" + +LICENSE="MIT GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gtk kde libnotify libcanberra nls qt4 utp" + +RDEPEND=" + sys-libs/zlib + >=dev-libs/libevent-2.0.10 + >=dev-libs/openssl-0.9.4 + || ( >=net-misc/curl-7.16.3[ssl] + >=net-misc/curl-7.16.3[gnutls] ) + >=net-libs/miniupnpc-1.6 + gtk? ( >=dev-libs/glib-2.28:2 + >=x11-libs/gtk+-2.22:2 + >=dev-libs/dbus-glib-0.70 + libnotify? ( >=x11-libs/libnotify-0.4.3 ) + libcanberra? ( >=media-libs/libcanberra-0.10 ) ) + qt4? ( x11-libs/qt-gui:4[dbus] )" +DEPEND="${RDEPEND} + >=sys-devel/libtool-2.2.6b + nls? ( sys-devel/gettext + >=dev-util/intltool-0.40 ) + dev-util/pkgconfig + sys-apps/sed" + +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE="gtk? ( nls )" + +pkg_setup() { + enewgroup transmission + enewuser transmission -1 -1 -1 transmission +} + +src_prepare() { + # https://trac.transmissionbt.com/ticket/4323 + epatch "${FILESDIR}/${PN}-2.33-0001-configure.ac.patch" + epatch "${FILESDIR}/${PN}-2.33-0002-config.in-4-qt.pro.patch" + epatch "${FILESDIR}/${P}-0003-system-miniupnpc.patch" + + # Upstream is not interested in this: https://trac.transmissionbt.com/ticket/4324 + sed -e 's|noinst\(_PROGRAMS = $(TESTS)\)|check\1|' -i libtransmission/Makefile.am || die + + eautoreconf + + sed -i -e 's:-ggdb3::g' configure || die + # Magnet link support + if use kde; then + cat > qt/transmission-magnet.protocol <<-EOF + [Protocol] + exec=transmission-qt '%u' + protocol=magnet + Icon=transmission + input=none + output=none + helper=true + listing= + reading=false + writing=false + makedir=false + deleting=false + EOF + fi +} + +src_configure() { + # cli and daemon doesn't have external deps and are enabled by default + econf \ + $(use_enable nls) \ + $(use_enable utp) \ + $(use_enable gtk) \ + $(use gtk && use_enable libnotify) \ + $(use gtk && use_enable libcanberra) \ + --enable-external-miniupnp + + use qt4 && cd qt && eqmake4 qtr.pro +} + +src_compile() { + emake + use qt4 && cd qt && emake +} + +src_install() { + emake DESTDIR="${D}" install + + dodoc AUTHORS NEWS qt/README.txt + 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/{transmission/{config,downloads},log/transmission} + fowners -R transmission:transmission /var/{transmission/{,config,downloads},log/transmission} + + if use qt4; then + cd qt + emake INSTALL_ROOT="${D}/usr" install + insinto /usr/share/applications/ + doins transmission-qt.desktop + mv icons/transmission{,-qt}.png + doicon icons/transmission-qt.png + if use kde; then + insinto /usr/share/kde4/services/ + doins transmission-magnet.protocol + fi + fi +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update + + ewarn "If you use transmission-daemon, please, set 'rpc-username' and" + ewarn "'rpc-password' (in plain text, transmission-daemon will hash it on" + ewarn "start) in settings.json file located at /var/transmission/config or" + ewarn "any other appropriate config directory." + if use utp; then + ewarn + ewarn "Since uTP is enabled ${PN} needs large kernel buffers for the UDP socket." + ewarn "Please, add into /etc/sysctl.conf following lines:" + ewarn " net.core.rmem_max = 4194304" + ewarn " net.core.wmem_max = 1048576" + ewarn "and run sysctl -p" + fi +} + +pkg_postrm() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} |