1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python3_{4,5} )
7 PYTHON_REQ_USE="ncurses?"
9 inherit desktop distutils-r1 gnome2-utils xdg-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 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"
22 # Map all except pt_* and zh_* to their generic codes
24 pt_*|zh_*) echo ${1/_/-} ;;
29 IUSE="audio_modem cli cosign digitalbitbox email greenaddress_it ncurses qrcode +qt5 sync trustedcoin_com vkb"
31 for lang in ${MY_LANGS}; do
32 IUSE+=" l10n_$(my_langs_to_l10n ${lang})"
37 || ( cli ncurses qt5 )
40 digitalbitbox? ( qt5 )
42 greenaddress_it? ( qt5 )
45 trustedcoin_com? ( qt5 )
49 RDEPEND="${PYTHON_DEPS}
50 dev-python/ecdsa[${PYTHON_USEDEP}]
51 dev-python/jsonrpclib[${PYTHON_USEDEP}]
52 dev-python/pbkdf2[${PYTHON_USEDEP}]
53 dev-python/pyaes[${PYTHON_USEDEP}]
54 dev-python/PySocks[${PYTHON_USEDEP}]
55 dev-python/qrcode[${PYTHON_USEDEP}]
56 dev-python/requests[${PYTHON_USEDEP}]
57 dev-python/setuptools[${PYTHON_USEDEP}]
58 dev-python/six[${PYTHON_USEDEP}]
59 dev-python/tlslite[${PYTHON_USEDEP}]
60 dev-python/protobuf-python[${PYTHON_USEDEP}]
61 virtual/python-dnspython[${PYTHON_USEDEP}]
62 qrcode? ( media-gfx/zbar[v4l] )
64 dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
66 ncurses? ( dev-lang/python )
69 S="${WORKDIR}/${MY_P}"
74 eapply "${FILESDIR}/2.8.0-no-user-root.patch"
76 # Prevent icon from being installed in the wrong location
77 sed -i '/icons/d' setup.py || die
79 # Remove unrequested localization files:
81 for lang in ${MY_LANGS}; do
82 use l10n_$(my_langs_to_l10n ${lang}) && continue
83 rm -r "lib/locale/${lang}" || die
88 $(usex l10n_ja '' japanese) \
89 $(usex l10n_pt-BR '' $(usex l10n_pt-PT '' portuguese)) \
90 $(usex l10n_es '' spanish) \
91 $(usex l10n_zh-CN '' chinese_simplified) \
93 rm -f "lib/wordlist/${wordlist}.txt" || die
94 sed -i "/${wordlist}\\.txt/d" lib/mnemonic.py || die
97 # Remove unrequested GUI implementations:
98 local gui setup_py_gui
100 $(usex cli '' stdio) \
103 $(usex ncurses '' text ) \
105 rm gui/"${gui}"* -r || die
108 # And install requested ones...
112 setup_py_gui="${setup_py_gui}'electrum_gui.${gui}',"
115 sed -i "s/'electrum_gui\\.qt',/${setup_py_gui}/" setup.py || die
120 elif use ncurses; then
125 sed -i 's/^\([[:space:]]*\)\(config_options\['\''cwd'\''\] = .*\)$/\1\2\n\1config_options.setdefault("gui", "'"${bestgui}"'")\n/' electrum || die
128 # trezor requires python trezorlib module
129 # keepkey requires trezor
131 $(usex audio_modem '' audio_modem ) \
132 $(usex cosign '' cosigner_pool ) \
133 $(usex digitalbitbox '' digitalbitbox ) \
134 $(usex email '' email_requests ) \
135 $(usex greenaddress_it '' greenaddress_instant ) \
139 $(usex sync '' labels ) \
142 $(usex trustedcoin_com '' trustedcoin ) \
143 $(usex vkb '' virtualkeyboard ) \
145 rm -r plugins/"${plugin}"* || die
146 sed -i "/${plugin}/d" setup.py || die
151 distutils-r1_src_prepare
155 doicon -s 128 icons/${PN}.png
156 distutils-r1_src_install
164 gnome2_icon_cache_update
165 xdg_desktop_database_update
169 gnome2_icon_cache_update
170 xdg_desktop_database_update