Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-p2p/transmission/
Date: Thu, 31 Dec 2015 20:00:45
Message-Id: 1451592477.45ba77ab1dee61a2590c9f4903e620c5cf4d5f68.blueness@gentoo
1 commit: 45ba77ab1dee61a2590c9f4903e620c5cf4d5f68
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 31 20:07:33 2015 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 31 20:07:57 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45ba77ab
7
8 net-p2p/transmission: add libressl support, bug #567352
9
10 Package-Manager: portage-2.2.24
11
12 net-p2p/transmission/transmission-2.84-r5.ebuild | 168 +++++++++++++++++++++++
13 1 file changed, 168 insertions(+)
14
15 diff --git a/net-p2p/transmission/transmission-2.84-r5.ebuild b/net-p2p/transmission/transmission-2.84-r5.ebuild
16 new file mode 100644
17 index 0000000..0844fa8
18 --- /dev/null
19 +++ b/net-p2p/transmission/transmission-2.84-r5.ebuild
20 @@ -0,0 +1,168 @@
21 +# Copyright 1999-2015 Gentoo Foundation
22 +# Distributed under the terms of the GNU General Public License v2
23 +# $Id$
24 +
25 +EAPI=5
26 +inherit autotools eutils fdo-mime gnome2-utils qmake-utils systemd user
27 +
28 +DESCRIPTION="A Fast, Easy and Free BitTorrent client"
29 +HOMEPAGE="http://www.transmissionbt.com/"
30 +SRC_URI="http://download.transmissionbt.com/${PN}/files/${P}.tar.xz"
31 +
32 +# web/LICENSE is always GPL-2 whereas COPYING allows either GPL-2 or GPL-3 for the rest
33 +# transmission in licenses/ is for mentioning OpenSSL linking exception
34 +# MIT is in several libtransmission/ headers
35 +LICENSE="|| ( GPL-2 GPL-3 Transmission-OpenSSL-exception ) GPL-2 MIT"
36 +SLOT=0
37 +IUSE="ayatana gtk libressl lightweight systemd qt4 qt5 xfs"
38 +KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux"
39 +
40 +RDEPEND=">=dev-libs/libevent-2.0.10:=
41 + !libressl? ( dev-libs/openssl:0= )
42 + libressl? ( dev-libs/libressl )
43 + net-libs/libnatpmp:=
44 + >=net-libs/miniupnpc-1.7:=
45 + >=net-misc/curl-7.16.3:=[ssl]
46 + sys-libs/zlib:=
47 + gtk? (
48 + >=dev-libs/dbus-glib-0.100:=
49 + >=dev-libs/glib-2.32:2=
50 + >=x11-libs/gtk+-3.4:3=
51 + ayatana? ( >=dev-libs/libappindicator-0.4.90:3= )
52 + )
53 + systemd? ( sys-apps/systemd:= )
54 + qt4? (
55 + dev-qt/qtcore:4
56 + dev-qt/qtgui:4
57 + dev-qt/qtdbus:4
58 + )
59 + qt5? (
60 + dev-qt/qtcore:5
61 + dev-qt/qtdbus:5
62 + dev-qt/qtgui:5
63 + dev-qt/qtnetwork:5
64 + dev-qt/qtwidgets:5
65 + )"
66 +DEPEND="${RDEPEND}
67 + >=dev-libs/glib-2.32
68 + dev-util/intltool
69 + sys-devel/gettext
70 + virtual/os-headers
71 + virtual/pkgconfig
72 + qt5? ( dev-qt/linguist-tools:5 )
73 + xfs? ( sys-fs/xfsprogs )"
74 +
75 +REQUIRED_USE="ayatana? ( gtk ) ?? ( qt4 qt5 )"
76 +
77 +DOCS="AUTHORS NEWS qt/README.txt"
78 +
79 +pkg_setup() {
80 + enewgroup ${PN}
81 + enewuser ${PN} -1 -1 -1 ${PN}
82 +}
83 +
84 +src_prepare() {
85 + sed -i -e '/CFLAGS/s:-ggdb3::' configure.ac || die
86 + # Trick to avoid automagic dependency
87 + use ayatana || { sed -i -e '/^LIBAPPINDICATOR_MINIMUM/s:=.*:=9999:' configure.ac || die; }
88 + # Pass our configuration dir to systemd unit file
89 + sed -i '/ExecStart/ s|$| -g /var/lib/transmission/config|' daemon/${PN}-daemon.service || die
90 + # http://trac.transmissionbt.com/ticket/4324
91 + sed -i -e 's|noinst\(_PROGRAMS = $(TESTS)\)|check\1|' lib${PN}/Makefile.am || die
92 + # Fix for broken translations path
93 + epatch "${FILESDIR}"/${PN}-2.80-translations-path-fix.patch
94 + # http://trac.transmissionbt.com/ticket/5700
95 + sed -i -e '1iQMAKE_CXXFLAGS += -std=c++11' qt/qtr.pro || die
96 +
97 + epatch "${FILESDIR}/2.84-miniupnp14.patch"
98 + epatch "${FILESDIR}/2.84-libevent-2.1.5.patch"
99 + epatch "${FILESDIR}/2.84-node_alloc-segfault.patch"
100 +
101 + epatch_user
102 + eautoreconf
103 +}
104 +
105 +src_configure() {
106 + export ac_cv_header_xfs_xfs_h=$(usex xfs)
107 +
108 + econf \
109 + --enable-external-natpmp \
110 + $(use_enable lightweight) \
111 + $(use_with systemd systemd-daemon) \
112 + $(use_with gtk)
113 +
114 + if use qt4 || use qt5; then
115 + pushd qt >/dev/null || die
116 + use qt4 && eqmake4 qtr.pro
117 + use qt5 && eqmake5 qtr.pro
118 + popd >/dev/null || die
119 + fi
120 +}
121 +
122 +src_compile() {
123 + emake
124 +
125 + if use qt4 || use qt5; then
126 + local qt_bindir
127 + use qt4 && qt_bindir=$(qt4_get_bindir)
128 + use qt5 && qt_bindir=$(qt5_get_bindir)
129 + emake -C qt
130 + "${qt_bindir}"/lrelease qt/translations/*.ts || die
131 + fi
132 +}
133 +
134 +src_install() {
135 + default
136 +
137 + rm -f "${ED}"/usr/share/${PN}/web/LICENSE
138 +
139 + newinitd "${FILESDIR}"/${PN}-daemon.initd.9 ${PN}-daemon
140 + newconfd "${FILESDIR}"/${PN}-daemon.confd.4 ${PN}-daemon
141 + systemd_dounit daemon/${PN}-daemon.service
142 +
143 + keepdir /var/{lib/${PN}/{config,downloads},log/${PN}}
144 + fowners -R ${PN}:${PN} /var/{lib/${PN}/{,config,downloads},log/${PN}}
145 +
146 + if use qt4 || use qt5; then
147 + pushd qt >/dev/null || die
148 + emake INSTALL_ROOT="${ED}"/usr install
149 +
150 + domenu ${PN}-qt.desktop
151 +
152 + local res
153 + for res in 16 22 24 32 48 64 72 96 128 192 256; do
154 + doicon -s ${res} icons/hicolor/${res}x${res}/${PN}-qt.png
155 + done
156 + doicon -s scalable icons/hicolor/scalable/${PN}-qt.svg
157 +
158 + use qt4 && insinto /usr/share/qt4/translations
159 + use qt5 && insinto /usr/share/qt5/translations
160 + doins translations/*.qm
161 + popd >/dev/null || die
162 + fi
163 +}
164 +
165 +pkg_preinst() {
166 + gnome2_icon_savelist
167 +}
168 +
169 +pkg_postinst() {
170 + fdo-mime_desktop_database_update
171 + gnome2_icon_cache_update
172 +
173 + elog "If you use ${PN}-daemon, please, set 'rpc-username' and"
174 + elog "'rpc-password' (in plain text, ${PN}-daemon will hash it on"
175 + elog "start) in settings.json file located at /var/lib/${PN}/config or"
176 + elog "any other appropriate config directory."
177 + elog
178 + elog "Since µTP is enabled by default, ${PN} needs large kernel buffers for"
179 + elog "the UDP socket. You can append following lines into /etc/sysctl.conf:"
180 + elog " net.core.rmem_max = 4194304"
181 + elog " net.core.wmem_max = 1048576"
182 + elog "and run sysctl -p"
183 +}
184 +
185 +pkg_postrm() {
186 + fdo-mime_desktop_database_update
187 + gnome2_icon_cache_update
188 +}