1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python2_7 )
7 PYTHON_REQ_USE="ncurses?"
9 inherit distutils-r1 gnome2-utils
12 DESCRIPTION="User friendly Bitcoin client"
13 HOMEPAGE="https://electrum.org/"
14 SRC_URI="https://download.electrum.org/${PV}/${MY_P}.tar.gz"
18 KEYWORDS="~amd64 ~x86"
19 LINGUAS="ar_SA bg_BG cs_CZ da_DK de_DE el_GR eo_UY es_ES fr_FR hu_HU hy_AM id_ID it_IT ja_JP ko_KR ky_KG lv_LV nb_NO nl_NL no_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK sl_SI ta_IN th_TH tr_TR vi_VN zh_CN"
21 IUSE="audio_modem cli cosign digitalbitbox email greenaddress_it ncurses qrcode +qt4 sync trustedcoin_com vkb"
23 for lingua in ${LINGUAS}; do
24 IUSE+=" linguas_${lingua}"
28 || ( cli ncurses qt4 )
31 digitalbitbox? ( qt4 )
33 greenaddress_it? ( qt4 )
36 trustedcoin_com? ( qt4 )
41 dev-python/ecdsa[${PYTHON_USEDEP}]
42 dev-python/jsonrpclib[${PYTHON_USEDEP}]
43 dev-python/pbkdf2[${PYTHON_USEDEP}]
44 dev-python/pyaes[${PYTHON_USEDEP}]
45 dev-python/PySocks[${PYTHON_USEDEP}]
46 dev-python/qrcode[${PYTHON_USEDEP}]
47 dev-python/requests[${PYTHON_USEDEP}]
48 dev-python/setuptools[${PYTHON_USEDEP}]
49 dev-python/six[${PYTHON_USEDEP}]
50 dev-python/tlslite[${PYTHON_USEDEP}]
52 dev-python/protobuf-python[${PYTHON_USEDEP}]
53 dev-libs/protobuf[python,${PYTHON_USEDEP}]
55 virtual/python-dnspython[${PYTHON_USEDEP}]
56 qrcode? ( media-gfx/zbar[python,v4l,${PYTHON_USEDEP}] )
58 dev-python/PyQt4[X,${PYTHON_USEDEP}]
60 ncurses? ( dev-lang/python )
63 S="${WORKDIR}/${MY_P}"
68 eapply "${FILESDIR}/2.8.0-no-user-root.patch"
70 # Don't advise using PIP
71 sed -i "s/On Linux, try 'sudo pip install zbar'/Re-emerge Electrum with the qrcode USE flag/" lib/qrscanner.py || die
73 # Prevent icon from being installed in the wrong location
74 sed -i '/icons/d' setup.py || die
76 # Remove unrequested localization files:
77 for lang in ${LINGUAS}; do
78 use "linguas_${lang}" && continue
79 rm -r "lib/locale/${lang}" || die
84 $(usex linguas_ja_JP '' japanese) \
85 $(usex linguas_pt_BR '' $(usex linguas_pt_PT '' portuguese)) \
86 $(usex linguas_es_ES '' spanish) \
87 $(usex linguas_zh_CN '' chinese_simplified) \
89 rm -f "lib/wordlist/${wordlist}.txt" || die
90 sed -i "/${wordlist}\\.txt/d" lib/mnemonic.py || die
93 # Remove unrequested GUI implementations:
94 local gui setup_py_gui
96 $(usex cli '' stdio) \
99 $(usex ncurses '' text ) \
101 rm gui/"${gui}"* -r || die
104 # And install requested ones...
108 setup_py_gui="${setup_py_gui}'electrum_gui.${gui}',"
111 sed -i "s/'electrum_gui\\.qt',/${setup_py_gui}/" setup.py || die
116 elif use ncurses; then
121 sed -i 's/^\([[:space:]]*\)\(config_options\['\''cwd'\''\] = .*\)$/\1\2\n\1config_options.setdefault("gui", "'"${bestgui}"'")\n/' electrum || die
124 # trezor requires python trezorlib module
125 # keepkey requires trezor
127 $(usex audio_modem '' audio_modem ) \
128 $(usex cosign '' cosigner_pool ) \
129 $(usex digitalbitbox '' digitalbitbox ) \
130 $(usex email '' email_requests ) \
131 $(usex greenaddress_it '' greenaddress_instant ) \
135 $(usex sync '' labels ) \
137 $(usex trustedcoin_com '' trustedcoin ) \
138 $(usex vkb '' virtualkeyboard ) \
140 rm -r plugins/"${plugin}"* || die
141 sed -i "/${plugin}/d" setup.py || die
146 distutils-r1_src_prepare
150 doicon -s 128 icons/${PN}.png
151 distutils-r1_src_install
159 gnome2_icon_cache_update
163 gnome2_icon_cache_update