Gentoo Archives: gentoo-commits

From: Michael Orlitzky <mjo@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-p2p/pybitmessage/, net-p2p/pybitmessage/files/
Date: Fri, 28 Apr 2017 01:06:20
Message-Id: 1493341502.cd06526466c9f14b5abce4730843a1452c028819.mjo@gentoo
1 commit: cd06526466c9f14b5abce4730843a1452c028819
2 Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 28 01:02:32 2017 +0000
4 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 28 01:05:02 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd065264
7
8 net-p2p/pybitmessage: new version 0.6.2 thanks to Dmitri Bogomolov.
9
10 This new version updates the build system significantly. First, we are
11 now able to use the distutils-r1 eclass, which fixes bug 573198. A
12 number of optional dependencies have also been added and made truly
13 optional behind USE flags.
14
15 Much of the work for this (upstream too!) was done by Dmitri Bogomolov
16 on bug 582862. The version I'm committing is close to his, with a few
17 minor differences:
18
19 * I don't think SSL is optional, so I've left out that USE flag.
20
21 * I have not added support for LINGUAS, since the translations
22 are already there and don't take much additional time/space.
23
24 * No (optional) dependency on dev-python/qrcode, because I couldn't
25 figure out where or even if it's used.
26
27 * No optional dependency on media-libs/gst-plugins-base for the same
28 reason.
29
30 I've also updated the ebuild to EAPI=6 and dropped the eutils
31 eclass. There is one new temporary patch to work around a problem in
32 the build system.
33
34 Gentoo-Bug: 573198
35 Gentoo-Bug: 582862
36
37 Package-Manager: Portage-2.3.3, Repoman-2.3.1
38
39 net-p2p/pybitmessage/Manifest | 2 +-
40 .../pybitmessage/files/noninteractive-build.patch | 18 +++++
41 net-p2p/pybitmessage/metadata.xml | 45 +++++++------
42 net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild | 74 --------------------
43 net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild | 78 ++++++++++++++++++++++
44 5 files changed, 122 insertions(+), 95 deletions(-)
45
46 diff --git a/net-p2p/pybitmessage/Manifest b/net-p2p/pybitmessage/Manifest
47 index 7ca16fd36e0..fe7502e7c33 100644
48 --- a/net-p2p/pybitmessage/Manifest
49 +++ b/net-p2p/pybitmessage/Manifest
50 @@ -1,2 +1,2 @@
51 DIST pybitmessage-0.4.2.tar.gz 547565 SHA256 c69cef72adbdfa2a0ff8c5c7e5d15e640bf3283b9089c388ea48e893d564a573 SHA512 5e783243db4f507ec221092f6da18d25bb15a8c83f28aab7c1796a063d2608c0115c9d636cc73b66a09264a4ff69dda9ba373eff81640b1dd9595100dcdc4917 WHIRLPOOL 22c1ca5e5132248dc8492bd1ea327e81b8567b0ec271c774a07141579a63365dd4cc7fbd066dbba6153ce471057cead1f0763b4ae209789991b7c3b2cb5ebaa4
52 -DIST pybitmessage-0.4.4.tar.gz 611490 SHA256 2fe2b1ad4d7426c8777fb429129b7a07c717ea5f00cc3041a03ac19fd3259b3a SHA512 977d901525864557fcb6deada27d45a0cc90a40090f9f70f7a1cf27ffcc93ab69ef3d369375414988c519211b6d19a1ad7a0e9b38eec26f3fea02b386c652711 WHIRLPOOL d3da00d5b1bfe5ae9361a78d8a251567d2a06cd7009da9f1af58e0d06f3d2830f0133fc559b16cd10620cc5933292027bebc6f20abe026f5a63e6cfc1057bc28
53 +DIST pybitmessage-0.6.2.tar.gz 1053815 SHA256 bc209725ef7c1b913ec8560557e3e862a11f664bd8c5fd2eea5adcd915acc2c6 SHA512 4aaa0f6b1cc04de01154bb5c90416901e51abb4465c62269ab07abb7da980ac07f2f548ae7a3780da9f3efe89d3b841b004996c5e33bc2638e58efcbecc8baef WHIRLPOOL 490be7f22a4d5494313c79fb5af396b08344e18bfecbe9c33243b70b9546f177a59a88b403306356fa328c3a559865a355edaf6a998a1dfc9f0caa6f85544d8e
54
55 diff --git a/net-p2p/pybitmessage/files/noninteractive-build.patch b/net-p2p/pybitmessage/files/noninteractive-build.patch
56 new file mode 100644
57 index 00000000000..889711a7dce
58 --- /dev/null
59 +++ b/net-p2p/pybitmessage/files/noninteractive-build.patch
60 @@ -0,0 +1,18 @@
61 +Temporary workaround for a build system that wants you to press
62 +"Return" interactively.
63 +
64 +https://github.com/Bitmessage/PyBitmessage/issues/993
65 +
66 +diff --git a/setup.py b/setup.py
67 +index 2c769a6..166ab14 100644
68 +--- a/setup.py
69 ++++ b/setup.py
70 +@@ -163,7 +163,7 @@ if __name__ == "__main__":
71 + print "Press Return to continue"
72 + try:
73 + nothing = raw_input()
74 +- except NameError:
75 ++ except EOFError,NameError:
76 + pass
77 +
78 + here = os.path.abspath(os.path.dirname(__file__))
79
80 diff --git a/net-p2p/pybitmessage/metadata.xml b/net-p2p/pybitmessage/metadata.xml
81 index 079cf86a893..72a9c818738 100644
82 --- a/net-p2p/pybitmessage/metadata.xml
83 +++ b/net-p2p/pybitmessage/metadata.xml
84 @@ -1,24 +1,29 @@
85 <?xml version="1.0" encoding="UTF-8"?>
86 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
87 <pkgmetadata>
88 - <!-- maintainer-needed -->
89 - <longdescription lang="en">
90 - Bitmessage is a P2P communications protocol used to send encrypted
91 - messages to another person or to many subscribers. It is
92 - decentralized and trustless, meaning that you need-not inherently
93 - trust any entities like root certificate authorities. It uses
94 - strong authentication which means that the sender of a message
95 - cannot be spoofed, and it aims to hide "non-content" data, like
96 - the sender and receiver of messages, from passive eavesdroppers
97 - like those running warrantless wiretapping programs.
98 - </longdescription>
99 - <upstream>
100 - <bugs-to>
101 - https://github.com/Bitmessage/PyBitmessage/issues
102 - </bugs-to>
103 - <doc lang="en">
104 - https://bitmessage.org/wiki/PyBitmessage_Help
105 - </doc>
106 - <remote-id type="github">Bitmessage/PyBitmessage</remote-id>
107 - </upstream>
108 + <!-- maintainer-needed -->
109 + <longdescription lang="en">
110 + Bitmessage is a P2P communications protocol used to send encrypted
111 + messages to another person or to many subscribers. It is
112 + decentralized and trustless, meaning that you need-not inherently
113 + trust any entities like root certificate authorities. It uses
114 + strong authentication which means that the sender of a message
115 + cannot be spoofed, and it aims to hide "non-content" data, like
116 + the sender and receiver of messages, from passive eavesdroppers
117 + like those running warrantless wiretapping programs.
118 + </longdescription>
119 + <upstream>
120 + <bugs-to>
121 + https://github.com/Bitmessage/PyBitmessage/issues
122 + </bugs-to>
123 + <doc lang="en">
124 + https://bitmessage.org/wiki/PyBitmessage_Help
125 + </doc>
126 + <remote-id type="github">Bitmessage/PyBitmessage</remote-id>
127 + </upstream>
128 + <use>
129 + <flag name="opencl">
130 + Uses <pkg>dev-python/pyopencl</pkg> for GPU acceleration.
131 + </flag>
132 + </use>
133 </pkgmetadata>
134
135 diff --git a/net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild b/net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild
136 deleted file mode 100644
137 index fb0b0da289a..00000000000
138 --- a/net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild
139 +++ /dev/null
140 @@ -1,74 +0,0 @@
141 -# Copyright 1999-2016 Gentoo Foundation
142 -# Distributed under the terms of the GNU General Public License v2
143 -
144 -EAPI=5
145 -
146 -PYTHON_COMPAT=( python2_7 )
147 -PYTHON_REQ_USE="sqlite"
148 -
149 -inherit eutils python-r1 gnome2-utils
150 -
151 -DESCRIPTION="P2P communications protocol"
152 -HOMEPAGE="https://bitmessage.org"
153 -SRC_URI="https://github.com/Bitmessage/PyBitmessage/archive/v${PV}.tar.gz -> ${P}.tar.gz"
154 -
155 -LICENSE="MIT"
156 -SLOT="0"
157 -KEYWORDS="~amd64 ~x86"
158 -IUSE="libressl"
159 -REQUIRED_USE="${PYTHON_REQUIRED_USE}"
160 -
161 -DEPEND="${PYTHON_DEPS}"
162 -RDEPEND="${DEPEND}
163 - !libressl? ( dev-libs/openssl:0[-bindist] )
164 - libressl? ( dev-libs/libressl )
165 - dev-python/PyQt4[${PYTHON_USEDEP}]"
166 -
167 -S=${WORKDIR}/PyBitmessage-${PV}
168 -
169 -src_compile() { :; }
170 -
171 -src_install () {
172 - cat >> "${T}"/${PN}-wrapper <<-EOF || die
173 - #!/usr/bin/env python
174 - import os
175 - import sys
176 - sys.path.append("@SITEDIR@")
177 - os.chdir("@SITEDIR@")
178 - os.execl('@PYTHON@', '@EPYTHON@', '@SITEDIR@/bitmessagemain.py')
179 - EOF
180 -
181 - touch src/__init__.py || die
182 -
183 - install_python() {
184 - python_moduleinto ${PN}
185 - python_domodule src/*
186 - sed \
187 - -e "s#@SITEDIR@#$(python_get_sitedir)/${PN}#" \
188 - -e "s#@EPYTHON@#${EPYTHON}#" \
189 - -e "s#@PYTHON@#${PYTHON}#" \
190 - "${T}"/${PN}-wrapper > ${PN} || die
191 - python_doscript ${PN}
192 - }
193 -
194 - python_foreach_impl install_python
195 -
196 - dodoc README.md debian/changelog
197 - doman man/*
198 -
199 - newicon -s 24 desktop/icon24.png ${PN}.png
200 - newicon -s scalable desktop/can-icon.svg ${PN}.svg
201 - domenu desktop/${PN}.desktop
202 -}
203 -
204 -pkg_preinst() {
205 - gnome2_icon_savelist
206 -}
207 -
208 -pkg_postinst() {
209 - gnome2_icon_cache_update
210 -}
211 -
212 -pkg_postrm() {
213 - gnome2_icon_cache_update
214 -}
215
216 diff --git a/net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild b/net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild
217 new file mode 100644
218 index 00000000000..93db12aefd7
219 --- /dev/null
220 +++ b/net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild
221 @@ -0,0 +1,78 @@
222 +# Copyright 1999-2017 Gentoo Foundation
223 +# Distributed under the terms of the GNU General Public License v2
224 +
225 +EAPI=6
226 +
227 +PYTHON_COMPAT=( python2_7 )
228 +
229 +# See https://github.com/Bitmessage/PyBitmessage/pull/952 for
230 +# why ipv6 is needed at the moment.
231 +PYTHON_REQ_USE="ipv6,sqlite"
232 +
233 +inherit distutils-r1 gnome2-utils
234 +
235 +MY_PN="PyBitmessage"
236 +MY_P="${MY_PN}-${PV}"
237 +
238 +DESCRIPTION="P2P communications protocol"
239 +HOMEPAGE="https://bitmessage.org/"
240 +SRC_URI="https://github.com/Bitmessage/${MY_PN}/archive/v${PV}.tar.gz
241 + -> ${P}.tar.gz"
242 +LICENSE="MIT"
243 +SLOT="0"
244 +KEYWORDS="~amd64 ~x86"
245 +IUSE="libressl ncurses opencl qt4 sound"
246 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
247 +
248 +DEPEND="${PYTHON_DEPS}"
249 +
250 +# Some of these can be determined from src/depends.py.
251 +# The sound deps were found in src/bitmessageqt/__init__.py.
252 +# And src/openclpow.py imports numpy directly, so throw that in too.
253 +#
254 +# All of the dependencies that are behind USE flags are detected
255 +# and enabled automagically, so maybe it would be better if we
256 +# required them unconditionally?
257 +RDEPEND="${DEPEND}
258 + dev-python/msgpack[${PYTHON_USEDEP}]
259 + !libressl? ( dev-libs/openssl:0[-bindist] )
260 + libressl? ( dev-libs/libressl )
261 + ncurses? ( dev-python/pythondialog[${PYTHON_USEDEP}] )
262 + opencl? (
263 + dev-python/numpy[${PYTHON_USEDEP}]
264 + dev-python/pyopencl[${PYTHON_USEDEP}]
265 + )
266 + qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
267 + sound? (
268 + media-sound/alsa-utils
269 + media-sound/gst123
270 + media-sound/mpg123
271 + )"
272 +
273 +S="${WORKDIR}/${MY_P}"
274 +
275 +PATCHES=( "${FILESDIR}/noninteractive-build.patch")
276 +
277 +src_install () {
278 + distutils-r1_src_install
279 + dodoc README.md
280 + doman man/pybitmessage.1.gz
281 +
282 + if use qt4 ; then
283 + newicon -s 24 desktop/icon24.png "${PN}.png"
284 + newicon -s scalable desktop/can-icon.svg "${PN}.svg"
285 + domenu "desktop/${PN}.desktop"
286 + fi
287 +}
288 +
289 +pkg_preinst() {
290 + gnome2_icon_savelist
291 +}
292 +
293 +pkg_postinst() {
294 + gnome2_icon_cache_update
295 +}
296 +
297 +pkg_postrm() {
298 + gnome2_icon_cache_update
299 +}