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-misc/electrum/, net-misc/electrum/files/
Date: Mon, 16 Jul 2018 19:19:04
Message-Id: 1531768730.e0253f95a22f6ae291a1bb09f7a4e9e26e715087.blueness@gentoo
1 commit: e0253f95a22f6ae291a1bb09f7a4e9e26e715087
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 16 18:43:39 2018 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 16 19:18:50 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0253f95
7
8 net-misc/electrum: version bump to 3.2.2
9
10 Package-Manager: Portage-2.3.40, Repoman-2.3.9
11
12 net-misc/electrum/Manifest | 1 +
13 net-misc/electrum/electrum-3.2.2.ebuild | 174 +++++++++++++++++++++
14 .../electrum/files/3.2.2-pip-optional-pkgs.patch | 23 +++
15 net-misc/electrum/metadata.xml | 1 +
16 4 files changed, 199 insertions(+)
17
18 diff --git a/net-misc/electrum/Manifest b/net-misc/electrum/Manifest
19 index 87dd1d74b54..d4e5d315b7c 100644
20 --- a/net-misc/electrum/Manifest
21 +++ b/net-misc/electrum/Manifest
22 @@ -3,3 +3,4 @@ DIST Electrum-3.0.6.tar.gz 2640475 BLAKE2B 2e10417fb59629b9e3af8ba10893fb85b3b0d
23 DIST Electrum-3.1.1.tar.gz 2722902 BLAKE2B 31628d18a26f552469454c4f2712eee1aaba6ff5114a7cf0b7f261def5ed5731a267ae369ec3460c7f9bb5ad2b1713b2b464ef05fadb5e0e9ffd563adeee0ce8 SHA512 d7f987dde4a4fe5b2b0e576328c20b56ca650047321ac101dc6c3edd5bcbeedd569870d951262583a5ef1d1e40d6107ac46aa4fe031cc63d3a759d332db056cb
24 DIST Electrum-3.1.2.tar.gz 2800714 BLAKE2B 0932932125f1fd7099c090806c669a998c00a70a8f34b20d0afe4b1f6c5c24ced8743a60923e466c3507d29c75ac58e2e3e01b422701be76bbcd8abf54497276 SHA512 e4e6d674817bacefaf9c64acfdf16c4c215264e825dd8b1bcf1d99429963b0da18d442b966ba986cf0ad2d621543c3e0e68e8ba023cca23b6626781c2e69a61e
25 DIST Electrum-3.1.3.tar.gz 2806178 BLAKE2B e03a6ee8d7b211b26d99adfbaf42a9d43317e5a4ca887f62f5ef0e57d8f990c18ff07e15d4ac8faea33322cd7ae25d7544e59e9ff1fbe883b3b7be138d990421 SHA512 745d00ec944e46040a4ae21d23c5919b943696a85baf84ee553616ca73cd21f2fa95999212a23f9a96ad5606def2890ee057e5f5f18e82591fd4a9e497ba5439
26 +DIST Electrum-3.2.2.tar.gz 5617363 BLAKE2B aae6e12644c55542fb1e0ff702e751dc5ebcb3d1da6ef58c3509be248208c38b10f43bed555a1228f9e9f397350765d24544d89f56ffbfccda71ec39fe2256d3 SHA512 32c4a24c2d3e2e38b9d66f6102176533a991b1c1fd25173bcd3bdd2e78cf42fc5fd2f0d2ee0c6a8d99db1b17d47bd3e7f3cf1303964f0566f4eef4edb3c87f15
27
28 diff --git a/net-misc/electrum/electrum-3.2.2.ebuild b/net-misc/electrum/electrum-3.2.2.ebuild
29 new file mode 100644
30 index 00000000000..d6633f14775
31 --- /dev/null
32 +++ b/net-misc/electrum/electrum-3.2.2.ebuild
33 @@ -0,0 +1,174 @@
34 +# Copyright 1999-2018 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI="6"
38 +
39 +PYTHON_COMPAT=( python3_{4,5,6} )
40 +PYTHON_REQ_USE="ncurses?"
41 +
42 +inherit desktop distutils-r1 gnome2-utils xdg-utils
43 +
44 +MY_P="Electrum-${PV}"
45 +DESCRIPTION="User friendly Bitcoin client"
46 +HOMEPAGE="https://electrum.org/"
47 +SRC_URI="https://download.electrum.org/${PV}/${MY_P}.tar.gz"
48 +
49 +LICENSE="MIT"
50 +SLOT="0"
51 +KEYWORDS="~amd64 ~x86"
52 +MY_LANGS="ar_SA bg_BG cs_CZ da_DK de_DE el_GR eo_UY es_ES fa_IR fr_FR hu_HU hy_AM id_ID it_IT ja_JP ko_KR ky_KG lv_LV nb_NO nl_NL pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK sl_SI ta_IN th_TH tr_TR uk_UA vi_VN zh_CN zh_TW"
53 +
54 +my_langs_to_l10n() {
55 + # Map all except pt_* and zh_* to their generic codes
56 + case $1 in
57 + pt_*|zh_*) echo ${1/_/-} ;;
58 + *) echo ${1%%_*} ;;
59 + esac
60 +}
61 +
62 +IUSE="audio_modem cli cosign digitalbitbox email greenaddress_it ncurses qrcode +qt5 sync revealer trustedcoin_com vkb"
63 +
64 +for lang in ${MY_LANGS}; do
65 + IUSE+=" l10n_$(my_langs_to_l10n ${lang})"
66 +done
67 +unset lang
68 +
69 +REQUIRED_USE="
70 + || ( cli ncurses qt5 )
71 + audio_modem? ( qt5 )
72 + cosign? ( qt5 )
73 + digitalbitbox? ( qt5 )
74 + email? ( qt5 )
75 + greenaddress_it? ( qt5 )
76 + qrcode? ( qt5 )
77 + sync? ( qt5 )
78 + trustedcoin_com? ( qt5 )
79 + vkb? ( qt5 )
80 +"
81 +
82 +RDEPEND="${PYTHON_DEPS}
83 + dev-python/ecdsa[${PYTHON_USEDEP}]
84 + dev-python/jsonrpclib[${PYTHON_USEDEP}]
85 + dev-python/pbkdf2[${PYTHON_USEDEP}]
86 + dev-python/pyaes[${PYTHON_USEDEP}]
87 + dev-python/PySocks[${PYTHON_USEDEP}]
88 + dev-python/qrcode[${PYTHON_USEDEP}]
89 + dev-python/requests[${PYTHON_USEDEP}]
90 + dev-python/setuptools[${PYTHON_USEDEP}]
91 + dev-python/six[${PYTHON_USEDEP}]
92 + dev-python/tlslite[${PYTHON_USEDEP}]
93 + dev-python/protobuf-python[${PYTHON_USEDEP}]
94 + virtual/python-dnspython[${PYTHON_USEDEP}]
95 + qrcode? ( media-gfx/zbar[v4l] )
96 + qt5? (
97 + dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
98 + )
99 + ncurses? ( dev-lang/python )
100 +"
101 +
102 +S="${WORKDIR}/${MY_P}"
103 +
104 +DOCS="RELEASE-NOTES"
105 +
106 +src_prepare() {
107 + eapply "${FILESDIR}/3.1.2-no-user-root.patch"
108 + eapply "${FILESDIR}/3.2.2-pip-optional-pkgs.patch"
109 + eapply "${FILESDIR}/3.1.3-desktop.patch"
110 +
111 + # Prevent icon from being installed in the wrong location
112 + sed -i '/icons/d' setup.py || die
113 +
114 + # Remove unrequested localization files:
115 + local lang
116 + for lang in ${MY_LANGS}; do
117 + use l10n_$(my_langs_to_l10n ${lang}) && continue
118 + rm -r "lib/locale/${lang}" || die
119 + done
120 +
121 + local wordlist=
122 + for wordlist in \
123 + $(usex l10n_ja '' japanese) \
124 + $(usex l10n_pt-BR '' $(usex l10n_pt-PT '' portuguese)) \
125 + $(usex l10n_es '' spanish) \
126 + $(usex l10n_zh-CN '' chinese_simplified) \
127 + ; do
128 + rm -f "lib/wordlist/${wordlist}.txt" || die
129 + sed -i "/${wordlist}\\.txt/d" lib/mnemonic.py || die
130 + done
131 +
132 + # Remove unrequested GUI implementations:
133 + local gui setup_py_gui
134 + for gui in \
135 + $(usex cli '' stdio) \
136 + kivy \
137 + $(usex qt5 '' qt ) \
138 + $(usex ncurses '' text ) \
139 + ; do
140 + rm gui/"${gui}"* -r || die
141 + done
142 +
143 + # And install requested ones...
144 + for gui in \
145 + $(usex qt5 qt '') \
146 + ; do
147 + setup_py_gui="${setup_py_gui}'electrum_gui.${gui}',"
148 + done
149 +
150 + sed -i "s/'electrum_gui\\.qt',/${setup_py_gui}/" setup.py || die
151 +
152 + local bestgui
153 + if use qt5; then
154 + bestgui=qt
155 + elif use ncurses; then
156 + bestgui=text
157 + else
158 + bestgui=stdio
159 + fi
160 + sed -i 's/^\([[:space:]]*\)\(config_options\['\''cwd'\''\] = .*\)$/\1\2\n\1config_options.setdefault("gui", "'"${bestgui}"'")\n/' electrum || die
161 +
162 + local plugin
163 + # trezor requires python trezorlib module
164 + # keepkey requires trezor
165 + for plugin in \
166 + $(usex audio_modem '' audio_modem ) \
167 + $(usex cosign '' cosigner_pool ) \
168 + $(usex digitalbitbox '' digitalbitbox ) \
169 + $(usex email '' email_requests ) \
170 + $(usex greenaddress_it '' greenaddress_instant ) \
171 + hw_wallet \
172 + ledger \
173 + keepkey \
174 + $(usex sync '' labels ) \
175 + $(usex revealer '' revealer ) \
176 + trezor \
177 + $(usex trustedcoin_com '' trustedcoin ) \
178 + $(usex vkb '' virtualkeyboard ) \
179 + ; do
180 + rm -r plugins/"${plugin}"* || die
181 + sed -i "/${plugin}/d" setup.py || die
182 + done
183 +
184 + eapply_user
185 +
186 + xdg_environment_reset
187 + distutils-r1_src_prepare
188 +}
189 +
190 +src_install() {
191 + doicon -s 128 icons/${PN}.png
192 + distutils-r1_src_install
193 +}
194 +
195 +pkg_preinst() {
196 + gnome2_icon_savelist
197 +}
198 +
199 +pkg_postinst() {
200 + gnome2_icon_cache_update
201 + xdg_desktop_database_update
202 +}
203 +
204 +pkg_postrm() {
205 + gnome2_icon_cache_update
206 + xdg_desktop_database_update
207 +}
208
209 diff --git a/net-misc/electrum/files/3.2.2-pip-optional-pkgs.patch b/net-misc/electrum/files/3.2.2-pip-optional-pkgs.patch
210 new file mode 100644
211 index 00000000000..0f54f477adc
212 --- /dev/null
213 +++ b/net-misc/electrum/files/3.2.2-pip-optional-pkgs.patch
214 @@ -0,0 +1,23 @@
215 +diff -Naur Electrum-3.2.2.orig/setup.py Electrum-3.2.2/setup.py
216 +--- Electrum-3.2.2.orig/setup.py 2018-07-01 08:00:11.000000000 -0400
217 ++++ Electrum-3.2.2/setup.py 2018-07-16 14:09:10.790238994 -0400
218 +@@ -40,19 +40,10 @@
219 + (os.path.join(usr_share, icons_dirname), ['icons/electrum.png'])
220 + ]
221 +
222 +-extras_require = {
223 +- 'hardware': requirements_hw,
224 +- 'fast': ['pycryptodomex'],
225 +- ':python_version < "3.5"': ['typing>=3.0.0'],
226 +-}
227 +-extras_require['full'] = extras_require['hardware'] + extras_require['fast']
228 +-
229 +-
230 + setup(
231 + name="Electrum",
232 + version=version.ELECTRUM_VERSION,
233 + install_requires=requirements,
234 +- extras_require=extras_require,
235 + packages=[
236 + 'electrum',
237 + 'electrum_gui',
238
239 diff --git a/net-misc/electrum/metadata.xml b/net-misc/electrum/metadata.xml
240 index 4e86014c54f..41040e7157e 100644
241 --- a/net-misc/electrum/metadata.xml
242 +++ b/net-misc/electrum/metadata.xml
243 @@ -17,6 +17,7 @@
244 <flag name="email">Enable plugin to support emailing invoices</flag>
245 <flag name="greenaddress_it">Enable plugin to verify GreenAddress.it instant transactions</flag>
246 <flag name="qrcode">Enable QR code scanning with <pkg>media-gfx/zbar</pkg></flag>
247 + <flag name="revealer">Enable revealer plugin for extra security. https://revealer.cc/</flag>
248 <flag name="sync">Enable plugin to sync wallet metadata across multiple Electrum clients</flag>
249 <flag name="trustedcoin_com">Enable plugin to use two-factor service by TrustedCoin.com</flag>
250 <flag name="vkb">Enable plugin for virtual keyboard</flag>