summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2011-06-16 09:13:27 +0000
committerPeter Volkov <pva@gentoo.org>2011-06-16 09:13:27 +0000
commitb73d84bca873ad0553c6ff5449f9038d0853e8d4 (patch)
tree0d50aa42324ef4666c218761f0bf96adf07fbdf8 /net-p2p/transmission
parentversion bump. Remove old (diff)
downloadhistorical-b73d84bca873ad0553c6ff5449f9038d0853e8d4.tar.gz
historical-b73d84bca873ad0553c6ff5449f9038d0853e8d4.tar.bz2
historical-b73d84bca873ad0553c6ff5449f9038d0853e8d4.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.
Package-Manager: portage-2.1.10.3/cvs/Linux x86_64
Diffstat (limited to 'net-p2p/transmission')
-rw-r--r--net-p2p/transmission/ChangeLog15
-rw-r--r--net-p2p/transmission/Manifest7
-rw-r--r--net-p2p/transmission/files/0001-configure.ac-Drop-redudant-code-indentation.patch47
-rw-r--r--net-p2p/transmission/files/0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch72
-rw-r--r--net-p2p/transmission/files/0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch290
-rw-r--r--net-p2p/transmission/files/transmission-daemon.initd.873
-rw-r--r--net-p2p/transmission/transmission-2.31-r1.ebuild152
7 files changed, 654 insertions, 2 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/Manifest b/net-p2p/transmission/Manifest
index 06292953158c..62ac74b7b6e9 100644
--- a/net-p2p/transmission/Manifest
+++ b/net-p2p/transmission/Manifest
@@ -1,10 +1,15 @@
+AUX 0001-configure.ac-Drop-redudant-code-indentation.patch 1513 RMD160 dc538328560cc1d470bdd33b5f26989b95b035e5 SHA1 26392849d5284a30174506d343f87f1404e4211b SHA256 d7cb0336a665d1ce1728cd07f6920e991eece9e6bc3eb7c84e1ae9209bd57d22
+AUX 0002-Add-qt-config-to-make-qmake-aware-about-.-configure-.patch 2434 RMD160 364eca9a6144e53a7208da1c0b17f11b13b7a27f SHA1 850eb2e80518be9b04312369980830f5635bcc34 SHA256 fca9ebed543990728b6884b9249ab86023bee7da4fe77d1b206d46413af54210
+AUX 0003-Allow-usage-of-system-miniupnp.-Rename-miniupnp-mini.patch 22326 RMD160 9042f531db97c5caec503ef8a560ad172d0fb922 SHA1 7fd5b162da193a1b4abd029756c676a40bd9c66d SHA256 79c2128a2e399d8cad19a885a7cc3c12b09d9cd3cdbff83c2aa07eb1d3e8ce10
AUX transmission-2.31-qt-libutp.patch 707 RMD160 cf81e7cd4361e09ef1d4cdfcb75e2e2c40d4582b SHA1 99dc8c8b0ab96c85ff6e0f42c2e31c40975d3f71 SHA256 475c085ef50fe4c0a1634530f57feca39d6285ed2cd63d13a7018a4f49caed12
AUX transmission-daemon.confd.3 703 RMD160 482953d2bd8e9c69300af3389615764649954a63 SHA1 a4d16dde4e2408b48620cc89c4a8759b042797f2 SHA256 4b47acf195a14a322550cfcaa735a59aac38410d1c2c63ffa824ff131c55ca70
AUX transmission-daemon.initd.6 2209 RMD160 2ed6f67e83a04eef148b39204dc4a6281bff0680 SHA1 4c6c0ce20d71e398b7254332e3afef6349f1f8a0 SHA256 61ece2b8307b0ee7ce637428f6871176f03873eff1871f34baf8c2627982f36a
AUX transmission-daemon.initd.7 2196 RMD160 e2a1aa4c2e39fe360d39fa72b16994aecd53485a SHA1 4d7b59f9540cd9045ac00013cd9abb7726f85984 SHA256 0e7268ac3b8ea74afeb1d39871b3e5ee675575c517ebccd1f3ba67340deed6df
+AUX transmission-daemon.initd.8 2235 RMD160 2848770ae93c597ea5cd6e8d22857bb99578b9e5 SHA1 683a27b11c84033de6efa831c6dabd1c487feb33 SHA256 370ec8a257a5bea28f9bb9d607e76676db94159def8be83932c7bda473f59012
DIST transmission-2.22.tar.bz2 4802843 RMD160 e87b560f81fc8bc422dc7071a4b27bdcf2b2d6ac SHA1 ddd515bdcc201193b45f58b705f6e8fde9fcb5d1 SHA256 5a4079194f45260c143f21ea6f33ce2660d89fca02ad8f1e65169968d365e4d4
DIST transmission-2.31.tar.xz 2558880 RMD160 e777e32e5d02e8a93a64e4821ea0f9ccd8724f2c SHA1 84cfbc4e6a8db437d3c5b7eb983ce763b2879b62 SHA256 82cd04c93c65df818d38dcec154f5864520ab3147fac372e11d8e9d12506deba
EBUILD transmission-2.22.ebuild 3905 RMD160 fa3fb412e80762df5ea9f586e306d3d78f7940a2 SHA1 c8abfcb6c950ebe7946b912fc5246d6f950f7bd1 SHA256 bc88d99b145cd04958b0b7c34533e2e730a247d3b87423010886178e542b0a4d
+EBUILD transmission-2.31-r1.ebuild 4230 RMD160 193a478584e298362eaca9cdb653dbeccc1be1d5 SHA1 8958ee2b9d4160b7d59f61ffad2cb25dd7678998 SHA256 f26af441db2f61811eee853076d44f6382360ec92ae758e8db461a3f76b877f8
EBUILD transmission-2.31.ebuild 3614 RMD160 6aea3b61e03e52aa67dc93a3fad133e9b4804aa1 SHA1 1efec7a48458a81996572e4e18eb9c336a37b66f SHA256 46928432ead81af791d9f5f258d34ec8cfbc767f91dd7b6e458713dfa765fd2f
-MISC ChangeLog 25114 RMD160 c368f2695536f794c871892ae74f0c200d9ab03a SHA1 e321c598792cb265f17f74472b5b4e7d5ce6a50b SHA256 1736e7acbdd9ce915809846cf8209d33dd0b26f440235e0b7a54f9a4f49ee0e6
+MISC ChangeLog 25775 RMD160 1134d8bef2a3e229cf1cfa01cd77ca0a5bc683a7 SHA1 b3e31289983834ef2e4d52077d64b9995c3d7e89 SHA256 544fc45b2520903a8a722435b4282f1f37a18cbe936e91a607b66a5556fdde5a
MISC metadata.xml 444 RMD160 eb5aae9bdea645819e40b675f8372ded120d5783 SHA1 4b0f30908cea35a0fc8aca9cbe29599a0f833ab4 SHA256 ae66598063f3fa803005a3daf431d4dc4171e6988c38c128e6565910855dfaa9
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
+}