diff options
author | Peter Volkov <pva@gentoo.org> | 2011-06-16 09:13:27 +0000 |
---|---|---|
committer | Peter Volkov <pva@gentoo.org> | 2011-06-16 09:13:27 +0000 |
commit | 9a36b66847be378b02e6cec50df46505103c1616 (patch) | |
tree | c429f2b9c6c3f81845d2675032aae7ecb24629b6 /net-p2p/transmission | |
parent | version bump. Remove old (diff) | |
download | gentoo-2-9a36b66847be378b02e6cec50df46505103c1616.tar.gz gentoo-2-9a36b66847be378b02e6cec50df46505103c1616.tar.bz2 gentoo-2-9a36b66847be378b02e6cec50df46505103c1616.zip |
Fixed utp related build issue reported in bug #368523, thank jhdtl for report. Suggest sysctl settings for utp, bug 369211, thank jhdtl for report. Allow multiple transmission-daemon instanses through init script, bug #363559 thank Oleg Gawriloff for this work. Use system libminiupnpc.
(Portage version: 2.1.10.3/cvs/Linux x86_64)
Diffstat (limited to 'net-p2p/transmission')
6 files changed, 648 insertions, 1 deletions
diff --git a/net-p2p/transmission/ChangeLog b/net-p2p/transmission/ChangeLog index 1ec702d8ed03..ee05d09f483c 100644 --- a/net-p2p/transmission/ChangeLog +++ b/net-p2p/transmission/ChangeLog @@ -1,6 +1,19 @@ # 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.152 2011/05/23 07:32:00 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/ChangeLog,v 1.153 2011/06/16 09:13:27 pva Exp $ + +*transmission-2.31-r1 (16 Jun 2011) + + 16 Jun 2011; Peter Volkov <pva@gentoo.org> + +files/0001-configure.ac-Drop-redudant-code-indentation.patch, + +files/0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch, + +transmission-2.31-r1.ebuild, + +files/0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch, + +files/transmission-daemon.initd.8: + Fixed utp related build issue reported in bug #368523, thank jhdtl for + report. Suggest sysctl settings for utp, bug 369211, thank jhdtl for report. + Allow multiple transmission-daemon instanses through init script, bug #363559 + thank Oleg Gawriloff for this work. Use system libminiupnpc. 23 May 2011; Peter Volkov <pva@gentoo.org> -transmission-2.13.ebuild, -files/transmission-2.13-libnotify-0.7.patch, transmission-2.31.ebuild, diff --git a/net-p2p/transmission/files/0001-configure.ac-Drop-redudant-code-indentation.patch b/net-p2p/transmission/files/0001-configure.ac-Drop-redudant-code-indentation.patch new file mode 100644 index 000000000000..1ccaf4392559 --- /dev/null +++ b/net-p2p/transmission/files/0001-configure.ac-Drop-redudant-code-indentation.patch @@ -0,0 +1,47 @@ +From 5ca762c520be7e0182ed3cb8371c227d6e38d93a Mon Sep 17 00:00:00 2001 +From: Peter Volkov <pva@gentoo.org> +Date: Thu, 16 Jun 2011 12:46:48 +0400 +Subject: [PATCH 1/3] configure.ac: Drop redudant code/indentation. + +--- + configure.ac | 16 ++++------------ + 1 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7e239bf..7f17a55 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -217,26 +217,18 @@ AC_CHECK_LIB([rt], + + AC_MSG_CHECKING([µTP]) + build_utp="no" +-if test "x$CXX" = "x" ; then +- have_utp="no" +-else +- have_utp="yes" +-fi + AC_ARG_ENABLE([utp], + AS_HELP_STRING([--enable-utp],[build µTP support]), + [want_utp=${enableval}], +- [want_utp=${have_utp}]) ++ [want_utp="yes"]) + if test "x$want_utp" = "xyes" ; then +- if test "x$have_utp" = "xyes"; then ++ if test "x$CXX" != "x" ; then + LIBUTP_CFLAGS="-I\$(top_srcdir)/third-party/" +- LIBUTP_LIBS="\$(top_builddir)/third-party/libutp/libutp.a" +- if test "x$libutp_extra_libs" != "x" ; then +- LIBUTP_LIBS="$LIBUTP_LIBS $libutp_extra_libs" +- fi ++ LIBUTP_LIBS="\$(top_builddir)/third-party/libutp/libutp.a $libutp_extra_libs" + AC_DEFINE([WITH_UTP],[1]) + build_utp="yes" + else +- AC_MSG_ERROR("Unable to build uTP support -- C++ compiler not found") ++ AC_MSG_ERROR("Unable to build uTP support -- C++ compiler not found; consider --disable-utp") + fi + fi + AC_SUBST(LIBUTP_CFLAGS) +-- +1.7.3.4 + diff --git a/net-p2p/transmission/files/0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch b/net-p2p/transmission/files/0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch new file mode 100644 index 000000000000..eeef9d87e8a2 --- /dev/null +++ b/net-p2p/transmission/files/0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch @@ -0,0 +1,72 @@ +From f742757aa1e4419d2d5cb77425bc6b694e511ad6 Mon Sep 17 00:00:00 2001 +From: Peter Volkov <pva@gentoo.org> +Date: Thu, 16 Jun 2011 12:48:11 +0400 +Subject: [PATCH 2/3] Add qt/config to make qmake aware about ./configure results. This simplifies use of system third-party tools. Fixes build issue caused by ordering of make/qmake run: bugs.gentoo.org/368523. + +--- + configure.ac | 5 ++++- + qt/config.in | 1 + + qt/qtr.pro | 6 +++--- + 3 files changed, 8 insertions(+), 4 deletions(-) + create mode 100644 qt/config.in + +diff --git a/configure.ac b/configure.ac +index 7f17a55..f4ec7d1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -225,6 +225,7 @@ if test "x$want_utp" = "xyes" ; then + if test "x$CXX" != "x" ; then + LIBUTP_CFLAGS="-I\$(top_srcdir)/third-party/" + LIBUTP_LIBS="\$(top_builddir)/third-party/libutp/libutp.a $libutp_extra_libs" ++ LIBUTP_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/libutp/libutp.a $libutp_extra_libs" + AC_DEFINE([WITH_UTP],[1]) + build_utp="yes" + else +@@ -233,6 +234,7 @@ if test "x$want_utp" = "xyes" ; then + fi + AC_SUBST(LIBUTP_CFLAGS) + AC_SUBST(LIBUTP_LIBS) ++AC_SUBST(LIBUTP_LIBS_QT) + AM_CONDITIONAL([BUILD_UTP],[test "x$build_utp" = "xyes"]) + AC_MSG_RESULT([$build_utp]) + +@@ -505,7 +507,8 @@ AC_CONFIG_FILES([Makefile + web/javascript/Makefile + web/javascript/jquery/Makefile + web/stylesheets/Makefile +- po/Makefile.in]) ++ po/Makefile.in ++ qt/config]) + + AC_OUTPUT + +diff --git a/qt/config.in b/qt/config.in +new file mode 100644 +index 0000000..3340d1a +--- /dev/null ++++ b/qt/config.in +@@ -0,0 +1 @@ ++LIBUTP_LIBS = @LIBUTP_LIBS_QT@ +diff --git a/qt/qtr.pro b/qt/qtr.pro +index ce138a2..4e28e98 100644 +--- a/qt/qtr.pro ++++ b/qt/qtr.pro +@@ -16,12 +16,12 @@ QT += network + PKGCONFIG = fontconfig libcurl openssl libevent + + TRANSMISSION_TOP = .. ++include(config) ++ + INCLUDEPATH = $${EVENT_TOP}/include $${INCLUDEPATH} + INCLUDEPATH += $${TRANSMISSION_TOP} + LIBS += $${TRANSMISSION_TOP}/libtransmission/libtransmission.a +-exists( $${TRANSMISSION_TOP}/third-party/libutp/libutp.a ) { +- LIBS += $${TRANSMISSION_TOP}/third-party/libutp/libutp.a +-} ++LIBS += $${LIBUTP_LIBS} + LIBS += $${TRANSMISSION_TOP}/third-party/dht/libdht.a + LIBS += $${TRANSMISSION_TOP}/third-party/miniupnp/libminiupnp.a + LIBS += $${TRANSMISSION_TOP}/third-party/libnatpmp/libnatpmp.a +-- +1.7.3.4 + diff --git a/net-p2p/transmission/files/0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch b/net-p2p/transmission/files/0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch new file mode 100644 index 000000000000..6a022f8c2782 --- /dev/null +++ b/net-p2p/transmission/files/0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch @@ -0,0 +1,290 @@ +From efd40a3adc1568c2494ce51845accd9d94f8e527 Mon Sep 17 00:00:00 2001 +From: Peter Volkov <pva@gentoo.org> +Date: Thu, 16 Jun 2011 12:58:04 +0400 +Subject: [PATCH 3/3] Allow usage of system miniupnp. Rename miniupnp -> miniupnpc since upstream suggests miniupnpc name for headers. + +--- + Transmission.xcodeproj/project.pbxproj | 50 ++++++++++++++++---------------- + cli/Makefile.am | 2 +- + configure.ac | 27 ++++++++++++++++- + daemon/Makefile.am | 2 +- + gtk/Makefile.am | 2 +- + libtransmission/Makefile.am | 3 +- + libtransmission/upnp.c | 4 +- + qt/config.in | 2 + + qt/qtr.pro | 2 +- + third-party/Makefile.am | 5 ++- + utils/Makefile.am | 2 +- + 11 files changed, 66 insertions(+), 35 deletions(-) + +diff --git a/Transmission.xcodeproj/project.pbxproj b/Transmission.xcodeproj/project.pbxproj +index 99febe7..e477df4 100644 +--- a/Transmission.xcodeproj/project.pbxproj ++++ b/Transmission.xcodeproj/project.pbxproj +@@ -620,8 +620,8 @@ + A223AA830D220CEB00840069 /* nl */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = nl; path = macosx/nl.lproj/PrefsWindow.xib; sourceTree = "<group>"; }; + A2265F3F0B5EF5F40093DDA5 /* FileNameCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = FileNameCell.h; path = macosx/FileNameCell.h; sourceTree = "<group>"; }; + A2265F400B5EF5F40093DDA5 /* FileNameCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = FileNameCell.m; path = macosx/FileNameCell.m; sourceTree = "<group>"; }; +- A22B00AE116A9E90003315FC /* connecthostport.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = connecthostport.c; path = "third-party/miniupnp/connecthostport.c"; sourceTree = "<group>"; }; +- A22B00AF116A9E90003315FC /* connecthostport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = connecthostport.h; path = "third-party/miniupnp/connecthostport.h"; sourceTree = "<group>"; }; ++ A22B00AE116A9E90003315FC /* connecthostport.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = connecthostport.c; path = "third-party/miniupnpc/connecthostport.c"; sourceTree = "<group>"; }; ++ A22B00AF116A9E90003315FC /* connecthostport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = connecthostport.h; path = "third-party/miniupnpc/connecthostport.h"; sourceTree = "<group>"; }; + A22CF7AC0FA3505F0009BD3E /* it */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = it; path = macosx/it.lproj/GroupRules.xib; sourceTree = "<group>"; }; + A22CF7B90FA352740009BD3E /* fr */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = fr; path = macosx/fr.lproj/GroupRules.xib; sourceTree = "<group>"; }; + A22CF7C90FA5D3F90009BD3E /* es */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = es; path = macosx/es.lproj/GroupRules.xib; sourceTree = "<group>"; }; +@@ -665,7 +665,7 @@ + A251A65D0F9E8FD5004F5973 /* pt */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = pt; path = macosx/pt.lproj/PrefsWindow.xib; sourceTree = "<group>"; }; + A251A65E0F9E8FDA004F5973 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = macosx/pt.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + A251A6620F9E8FED004F5973 /* pt */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = pt; path = macosx/pt.lproj/Localizable.strings; sourceTree = "<group>"; }; +- A25485390EB66CBB004539DA /* codelength.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = codelength.h; path = "third-party/miniupnp/codelength.h"; sourceTree = "<group>"; }; ++ A25485390EB66CBB004539DA /* codelength.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = codelength.h; path = "third-party/miniupnpc/codelength.h"; sourceTree = "<group>"; }; + A256588A0A9A695400E8A03B /* MessageWindowController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MessageWindowController.h; path = macosx/MessageWindowController.h; sourceTree = "<group>"; }; + A256588B0A9A695400E8A03B /* MessageWindowController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = MessageWindowController.m; path = macosx/MessageWindowController.m; sourceTree = "<group>"; }; + A257C17F0CAD3003004E121C /* PeerTableView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PeerTableView.h; path = macosx/PeerTableView.h; sourceTree = "<group>"; }; +@@ -895,31 +895,31 @@ + A2F7CF5D13035FFD0016FF10 /* URLSheetWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = URLSheetWindowController.h; path = macosx/URLSheetWindowController.h; sourceTree = "<group>"; }; + A2F7CF5E13035FFD0016FF10 /* URLSheetWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = URLSheetWindowController.m; path = macosx/URLSheetWindowController.m; sourceTree = "<group>"; }; + A2F8951E0A2D4BA500ED2127 /* Credits.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = Credits.rtf; path = macosx/Credits.rtf; sourceTree = "<group>"; }; +- A2F8CD420F3D0F4A00DB356A /* miniupnpcstrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = miniupnpcstrings.h; path = "third-party/miniupnp/miniupnpcstrings.h"; sourceTree = "<group>"; }; ++ A2F8CD420F3D0F4A00DB356A /* miniupnpcstrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = miniupnpcstrings.h; path = "third-party/miniupnpc/miniupnpcstrings.h"; sourceTree = "<group>"; }; + A2FB057C0BFEB6800095564D /* DragOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DragOverlayView.h; path = macosx/DragOverlayView.h; sourceTree = "<group>"; }; + A2FB057D0BFEB6800095564D /* DragOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = DragOverlayView.m; path = macosx/DragOverlayView.m; sourceTree = "<group>"; }; + A2FB06950BFF484A0095564D /* Globe.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Globe.png; path = macosx/Images/Globe.png; sourceTree = "<group>"; }; + A2FB701A0D95CAEA0001F331 /* GroupsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GroupsController.h; path = macosx/GroupsController.h; sourceTree = "<group>"; }; + A2FB701B0D95CAEA0001F331 /* GroupsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GroupsController.m; path = macosx/GroupsController.m; sourceTree = "<group>"; }; + BE1183480CE160960002D0F3 /* libminiupnp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libminiupnp.a; sourceTree = BUILT_PRODUCTS_DIR; }; +- BE11834D0CE160C50002D0F3 /* bsdqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bsdqueue.h; path = "third-party/miniupnp/bsdqueue.h"; sourceTree = "<group>"; }; +- BE11834E0CE160C50002D0F3 /* declspec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = declspec.h; path = "third-party/miniupnp/declspec.h"; sourceTree = "<group>"; }; +- BE11834F0CE160C50002D0F3 /* igd_desc_parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = igd_desc_parse.h; path = "third-party/miniupnp/igd_desc_parse.h"; sourceTree = "<group>"; }; +- BE1183500CE160C50002D0F3 /* minixml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minixml.h; path = "third-party/miniupnp/minixml.h"; sourceTree = "<group>"; }; +- BE1183510CE160C50002D0F3 /* miniwget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = miniwget.h; path = "third-party/miniupnp/miniwget.h"; sourceTree = "<group>"; }; +- BE1183520CE160C50002D0F3 /* minisoap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minisoap.h; path = "third-party/miniupnp/minisoap.h"; sourceTree = "<group>"; }; +- BE1183530CE160C50002D0F3 /* upnpreplyparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = upnpreplyparse.h; path = "third-party/miniupnp/upnpreplyparse.h"; sourceTree = "<group>"; }; +- BE1183540CE160C50002D0F3 /* upnpcommands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = upnpcommands.h; path = "third-party/miniupnp/upnpcommands.h"; sourceTree = "<group>"; }; +- BE1183550CE160C50002D0F3 /* miniupnpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = miniupnpc.h; path = "third-party/miniupnp/miniupnpc.h"; sourceTree = "<group>"; }; +- BE1183560CE160C50002D0F3 /* minissdpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minissdpc.h; path = "third-party/miniupnp/minissdpc.h"; sourceTree = "<group>"; }; +- BE1183610CE160D50002D0F3 /* igd_desc_parse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = igd_desc_parse.c; path = "third-party/miniupnp/igd_desc_parse.c"; sourceTree = "<group>"; }; +- BE1183620CE160D50002D0F3 /* minixml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = minixml.c; path = "third-party/miniupnp/minixml.c"; sourceTree = "<group>"; }; +- BE1183630CE160D50002D0F3 /* miniwget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = miniwget.c; path = "third-party/miniupnp/miniwget.c"; sourceTree = "<group>"; }; +- BE1183640CE160D50002D0F3 /* minissdpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = minissdpc.c; path = "third-party/miniupnp/minissdpc.c"; sourceTree = "<group>"; }; +- BE1183650CE160D50002D0F3 /* minisoap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = minisoap.c; path = "third-party/miniupnp/minisoap.c"; sourceTree = "<group>"; }; +- BE1183660CE160D50002D0F3 /* upnpreplyparse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = upnpreplyparse.c; path = "third-party/miniupnp/upnpreplyparse.c"; sourceTree = "<group>"; }; +- BE1183670CE160D50002D0F3 /* upnpcommands.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = upnpcommands.c; path = "third-party/miniupnp/upnpcommands.c"; sourceTree = "<group>"; }; +- BE1183680CE160D50002D0F3 /* miniupnpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = miniupnpc.c; path = "third-party/miniupnp/miniupnpc.c"; sourceTree = "<group>"; }; ++ BE11834D0CE160C50002D0F3 /* bsdqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bsdqueue.h; path = "third-party/miniupnpc/bsdqueue.h"; sourceTree = "<group>"; }; ++ BE11834E0CE160C50002D0F3 /* declspec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = declspec.h; path = "third-party/miniupnpc/declspec.h"; sourceTree = "<group>"; }; ++ BE11834F0CE160C50002D0F3 /* igd_desc_parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = igd_desc_parse.h; path = "third-party/miniupnpc/igd_desc_parse.h"; sourceTree = "<group>"; }; ++ BE1183500CE160C50002D0F3 /* minixml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minixml.h; path = "third-party/miniupnpc/minixml.h"; sourceTree = "<group>"; }; ++ BE1183510CE160C50002D0F3 /* miniwget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = miniwget.h; path = "third-party/miniupnpc/miniwget.h"; sourceTree = "<group>"; }; ++ BE1183520CE160C50002D0F3 /* minisoap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minisoap.h; path = "third-party/miniupnpc/minisoap.h"; sourceTree = "<group>"; }; ++ BE1183530CE160C50002D0F3 /* upnpreplyparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = upnpreplyparse.h; path = "third-party/miniupnpc/upnpreplyparse.h"; sourceTree = "<group>"; }; ++ BE1183540CE160C50002D0F3 /* upnpcommands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = upnpcommands.h; path = "third-party/miniupnpc/upnpcommands.h"; sourceTree = "<group>"; }; ++ BE1183550CE160C50002D0F3 /* miniupnpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = miniupnpc.h; path = "third-party/miniupnpc/miniupnpc.h"; sourceTree = "<group>"; }; ++ BE1183560CE160C50002D0F3 /* minissdpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minissdpc.h; path = "third-party/miniupnpc/minissdpc.h"; sourceTree = "<group>"; }; ++ BE1183610CE160D50002D0F3 /* igd_desc_parse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = igd_desc_parse.c; path = "third-party/miniupnpc/igd_desc_parse.c"; sourceTree = "<group>"; }; ++ BE1183620CE160D50002D0F3 /* minixml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = minixml.c; path = "third-party/miniupnpc/minixml.c"; sourceTree = "<group>"; }; ++ BE1183630CE160D50002D0F3 /* miniwget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = miniwget.c; path = "third-party/miniupnpc/miniwget.c"; sourceTree = "<group>"; }; ++ BE1183640CE160D50002D0F3 /* minissdpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = minissdpc.c; path = "third-party/miniupnpc/minissdpc.c"; sourceTree = "<group>"; }; ++ BE1183650CE160D50002D0F3 /* minisoap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = minisoap.c; path = "third-party/miniupnpc/minisoap.c"; sourceTree = "<group>"; }; ++ BE1183660CE160D50002D0F3 /* upnpreplyparse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = upnpreplyparse.c; path = "third-party/miniupnpc/upnpreplyparse.c"; sourceTree = "<group>"; }; ++ BE1183670CE160D50002D0F3 /* upnpcommands.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = upnpcommands.c; path = "third-party/miniupnpc/upnpcommands.c"; sourceTree = "<group>"; }; ++ BE1183680CE160D50002D0F3 /* miniupnpc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = miniupnpc.c; path = "third-party/miniupnpc/miniupnpc.c"; sourceTree = "<group>"; }; + BE75C3490C729E9500DBEFE0 /* libevent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libevent.a; sourceTree = BUILT_PRODUCTS_DIR; }; + BEFC1C000C07750000B0BB3C /* transmission-daemon */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "transmission-daemon"; sourceTree = BUILT_PRODUCTS_DIR; }; + BEFC1C0E0C07756200B0BB3C /* daemon.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = daemon.c; path = daemon/daemon.c; sourceTree = "<group>"; }; +@@ -2129,14 +2129,14 @@ + files = ( + ); + inputPaths = ( +- "$(SRCROOT)/third-party/miniupnp/miniupnpcstrings.h.in", ++ "$(SRCROOT)/third-party/miniupnpc/miniupnpcstrings.h.in", + ); + outputPaths = ( +- "$(SRCROOT)/third-party/miniupnp/miniupnpcstrings.h", ++ "$(SRCROOT)/third-party/miniupnpc/miniupnpcstrings.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; +- shellScript = "sh third-party/miniupnp/updateminiupnpcstrings.sh \"$SCRIPT_INPUT_FILE_0\" \"$SCRIPT_OUTPUT_FILE_0\""; ++ shellScript = "sh third-party/miniupnpc/updateminiupnpcstrings.sh \"$SCRIPT_INPUT_FILE_0\" \"$SCRIPT_OUTPUT_FILE_0\""; + }; + BE75C3510C729EE100DBEFE0 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; +diff --git a/cli/Makefile.am b/cli/Makefile.am +index 9d618f2..8af71e6 100644 +--- a/cli/Makefile.am ++++ b/cli/Makefile.am +@@ -18,8 +18,8 @@ transmission_cli_SOURCES = cli.c + + 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@ \ +diff --git a/configure.ac b/configure.ac +index f4ec7d1..a0187a7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -241,6 +241,31 @@ AC_MSG_RESULT([$build_utp]) + + 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_utp" != "xno" ; then ++ AC_CHECK_LIB([miniupnpc], ++ [upnpDiscover], ++ [LIBUPNP_CFLAGS="" ++ LIBUPNP_LIBS="-lminiupnpc" ++ LIBUPNP_LIBS_QT="-lminiupnpc" ++ build_bundled_miniupnp="no"], ++ AC_MSG_ERROR("Requested system libminiupnp but it is not found") ++ ) ++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, +@@ -492,7 +517,7 @@ AC_CONFIG_FILES([Makefile + libtransmission/Makefile + utils/Makefile + third-party/Makefile +- third-party/miniupnp/Makefile ++ third-party/miniupnpc/Makefile + third-party/libnatpmp/Makefile + third-party/libutp/Makefile + third-party/dht/Makefile +diff --git a/daemon/Makefile.am b/daemon/Makefile.am +index 9e2a10a..7a5e085 100644 +--- a/daemon/Makefile.am ++++ b/daemon/Makefile.am +@@ -20,7 +20,7 @@ bin_PROGRAMS = \ + + 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@ \ +diff --git a/gtk/Makefile.am b/gtk/Makefile.am +index a86a440..abf3cd1 100644 +--- a/gtk/Makefile.am ++++ b/gtk/Makefile.am +@@ -93,7 +93,7 @@ dist_man_MANS = transmission-gtk.1 + + transmission_gtk_LDADD = \ + $(top_builddir)/libtransmission/libtransmission.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ + @LIBCANBERRA_LIBS@ \ + @GCONF2_LIBS@ \ +diff --git a/libtransmission/Makefile.am b/libtransmission/Makefile.am +index 0dd244a..a68349b 100644 +--- a/libtransmission/Makefile.am ++++ b/libtransmission/Makefile.am +@@ -8,6 +8,7 @@ AM_CPPFLAGS = \ + AM_CFLAGS = \ + @DHT_CFLAGS@ \ + @LIBUTP_CFLAGS@ \ ++ @LIBUPNP_CFLAGS@ \ + @LIBEVENT_CFLAGS@ \ + @LIBCURL_CFLAGS@ \ + @OPENSSL_CFLAGS@ \ +@@ -139,7 +140,7 @@ apps_ldflags = \ + + apps_ldadd = \ + ./libtransmission.a \ +- $(top_builddir)/third-party/miniupnp/libminiupnp.a \ ++ @LIBUPNP_LIBS@ \ + $(top_builddir)/third-party/libnatpmp/libnatpmp.a \ + @INTLLIBS@ \ + @DHT_LIBS@ \ +diff --git a/libtransmission/upnp.c b/libtransmission/upnp.c +index 2059864..8f43d2a 100644 +--- a/libtransmission/upnp.c ++++ b/libtransmission/upnp.c +@@ -13,8 +13,8 @@ + #include <assert.h> + #include <errno.h> + +-#include <miniupnp/miniupnpc.h> +-#include <miniupnp/upnpcommands.h> ++#include <miniupnpc/miniupnpc.h> ++#include <miniupnpc/upnpcommands.h> + + #include "transmission.h" + #include "port-forwarding.h" +diff --git a/qt/config.in b/qt/config.in +index 3340d1a..25851ea 100644 +--- a/qt/config.in ++++ b/qt/config.in +@@ -1 +1,3 @@ + LIBUTP_LIBS = @LIBUTP_LIBS_QT@ ++MINIUPNP_LIBS = @LIBUPNP_LIBS_QT@ ++ +diff --git a/qt/qtr.pro b/qt/qtr.pro +index 4e28e98..8f6e659 100644 +--- a/qt/qtr.pro ++++ b/qt/qtr.pro +@@ -23,7 +23,7 @@ INCLUDEPATH += $${TRANSMISSION_TOP} + 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 +diff --git a/third-party/Makefile.am b/third-party/Makefile.am +index 39eb5ee..ea2acaa 100644 +--- a/third-party/Makefile.am ++++ b/third-party/Makefile.am +@@ -1,11 +1,14 @@ + if BUILD_UTP + UTP_DIR = libutp + endif ++if BUILD_MINIUPNP ++ MINIUPNP = miniupnpc ++endif + + SUBDIRS = \ + dht \ + libnatpmp \ +- miniupnp \ ++ $(MINIUPNP_DIR) \ + $(UTP_DIR) + + EXTRA_DIST = \ +diff --git a/utils/Makefile.am b/utils/Makefile.am +index 896cb2b..1f687ed 100644 +--- a/utils/Makefile.am ++++ b/utils/Makefile.am +@@ -26,7 +26,7 @@ dist_man_MANS = \ + + 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@ \ +-- +1.7.3.4 + diff --git a/net-p2p/transmission/files/transmission-daemon.initd.8 b/net-p2p/transmission/files/transmission-daemon.initd.8 new file mode 100644 index 000000000000..1641ccebd92a --- /dev/null +++ b/net-p2p/transmission/files/transmission-daemon.initd.8 @@ -0,0 +1,73 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/transmission/files/transmission-daemon.initd.8,v 1.1 2011/06/16 09:13:27 pva Exp $ + +opts="start stop reload" +description="Transmission is a fast, easy and free bittorrent client" +description_start="Start transmission-daemon server and web interface" +description_stop="Stop transmission-daemon server and web interface" +description_reload="Reload transmission-daemon settings" + +rundir=${rundir:-/var/run/transmission} +pidfile=${pidfile:-${rundir}/transmission.pid} +config_dir=${config_dir:-/var/transmission/config} +download_dir=${download_dir:-/var/transmission/downloads} +logfile=${logfile:-/var/log/transmission/transmission.log} +runas_user=${runas_user:-transmission:transmission} + +SSD_OPTIONS="" + +depend() { + need net +} + +check_config() { + if [ ! -d "${rundir}" ]; then + mkdir "${rundir}" + if [ -n "${runas_user}" ]; then + chown -R ${runas_user} "${rundir}" + fi + fi + + # In case no config directory option passed use default + if ! $(echo ${TRANSMISSION_OPTIONS} | grep -q -e '\B-g' -e '\B--config-dir'); then + TRANSMISSION_OPTIONS="${TRANSMISSION_OPTIONS} --config-dir ${config_dir}" + # put download dir location on first run (and take it from config later) + if [ ! -f ${config_dir}/settings.json ]; then + TRANSMISSION_OPTIONS="${TRANSMISSION_OPTIONS} --download-dir ${download_dir}" + fi + fi + + if [ -n "${runas_user}" ]; then + if [ -f /etc/init.d/sysfs ]; then + SSD_OPTIONS="${SSD_OPTIONS} --user ${runas_user}" + else + SSD_OPTIONS="${SSD_OPTIONS} --chuid ${runas_user}" + fi + fi +} + +start() { + check_config + + ebegin "Starting transmission daemon" + start-stop-daemon --start --quiet --pidfile ${pidfile} ${SSD_OPTIONS} \ + --exec /usr/bin/transmission-daemon -- --pid-file ${pidfile} \ + $(test ${logfile} != "syslog" && echo --logfile ${logfile}) \ + ${TRANSMISSION_OPTIONS} + eend $? +} + +stop() { + ebegin "Stopping transmission daemon" + start-stop-daemon --stop --quiet --retry TERM/45/QUIT/15 --pidfile ${pidfile} + eend $? +} + +reload() { + ebegin "Reloading transmission configuration" + start-stop-daemon --signal HUP --pidfile ${pidfile} + eend $? +} + diff --git a/net-p2p/transmission/transmission-2.31-r1.ebuild b/net-p2p/transmission/transmission-2.31-r1.ebuild new file mode 100644 index 000000000000..38b8e88eba97 --- /dev/null +++ b/net-p2p/transmission/transmission-2.31-r1.ebuild @@ -0,0 +1,152 @@ +# 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.31-r1.ebuild,v 1.1 2011/06/16 09:13:27 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 qt4 utp" + +# >=dev-libs/glib-2.28 is required for updated mime support. This makes gconf +# unnecessary for handling magnet links +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 + gtk? ( >=dev-libs/glib-2.28:2 + >=x11-libs/gtk+-2.12: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 + sys-devel/gettext + >=dev-util/intltool-0.40 + dev-util/pkgconfig + sys-apps/sed" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + enewgroup transmission + enewuser transmission -1 -1 -1 transmission +} + +src_prepare() { + epatch "${FILESDIR}/${P}-qt-libutp.patch" #368187 + epatch "${FILESDIR}/0001-configure.ac-Drop-redudant-code-indentation.patch" + epatch "${FILESDIR}/0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch" + epatch "${FILESDIR}/0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch" + mv third-party/miniupnp{,c} || 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 gtk) \ + $(use_enable utp) \ + $(use gtk && use_enable libnotify) \ + $(use gtk && use_enable libcanberra) \ + --enable-external-miniupnp \ + --disable-gconf2 + + 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 + + # Keep default permissions on default dirs + einfo "Seting owners of /var/{transmission/{,config,downloads},log/transmission}" + chown -R transmission:transmission /var/{transmission/{,config,downloads},log/transmission} + + 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." + ewarn + ewarn "You must change download location after you change a user daemon" + ewarn "starts as, or it'll refuse to start, see bug #349867 for details." + 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 +} |