| # Copyright 1999-2016 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="5" |
| |
| PYTHON_COMPAT=( python2_7 ) |
| PYTHON_REQ_USE="ncurses?" |
| |
| inherit eutils distutils-r1 gnome2-utils |
| |
| MY_P="Electrum-${PV}" |
| DESCRIPTION="User friendly Bitcoin client" |
| HOMEPAGE="https://electrum.org/" |
| SRC_URI="https://download.electrum.org/${PV}/${MY_P}.tar.gz" |
| |
| LICENSE="GPL-3" |
| SLOT="0" |
| KEYWORDS="~amd64 ~x86" |
| LINGUAS="ar_SA cs_CZ de_DE eo_UY fr_FR hy_AM it_IT ky_KG nb_NO no_NO pt_BR ro_RO sk_SK ta_IN vi_VN bg_BG da_DK el_GR es_ES hu_HU id_ID ja_JP lv_LV nl_NL pl_PL pt_PT ru_RU sl_SI th_TH zh_CN" |
| |
| IUSE="cli cosign email +fiat greenaddress_it gtk3 ncurses qrcode +qt4 sync trustedcoin_com vkb" |
| |
| for lingua in ${LINGUAS}; do |
| IUSE+=" linguas_${lingua}" |
| done |
| |
| REQUIRED_USE=" |
| || ( cli gtk3 ncurses qt4 ) |
| cosign? ( qt4 ) |
| email? ( qt4 ) |
| fiat? ( qt4 ) |
| greenaddress_it? ( qt4 ) |
| qrcode? ( qt4 ) |
| sync? ( qt4 ) |
| trustedcoin_com? ( qt4 ) |
| vkb? ( qt4 ) |
| " |
| |
| RDEPEND=" |
| dev-python/setuptools[${PYTHON_USEDEP}] |
| dev-python/ecdsa[${PYTHON_USEDEP}] |
| dev-python/pbkdf2[${PYTHON_USEDEP}] |
| dev-python/pyasn1[${PYTHON_USEDEP}] |
| dev-python/pyasn1-modules[${PYTHON_USEDEP}] |
| dev-python/qrcode[${PYTHON_USEDEP}] |
| dev-python/requests[${PYTHON_USEDEP}] |
| dev-python/slowaes[${PYTHON_USEDEP}] |
| dev-python/six[${PYTHON_USEDEP}] |
| dev-python/PySocks[${PYTHON_USEDEP}] |
| dev-python/tlslite[${PYTHON_USEDEP}] |
| dev-libs/protobuf[python,${PYTHON_USEDEP}] |
| virtual/python-dnspython[${PYTHON_USEDEP}] |
| qrcode? ( media-gfx/zbar[python,v4l,${PYTHON_USEDEP}] ) |
| gtk3? ( |
| dev-python/pygobject:3[${PYTHON_USEDEP}] |
| x11-libs/gtk+:3[introspection] |
| ) |
| qt4? ( |
| dev-python/PyQt4[${PYTHON_USEDEP}] |
| ) |
| ncurses? ( dev-lang/python ) |
| " |
| |
| S="${WORKDIR}/${MY_P}" |
| |
| DOCS="RELEASE-NOTES" |
| |
| src_prepare() { |
| # Don't advise using PIP |
| sed -i "s/On Linux, try 'sudo pip install zbar'/Re-emerge Electrum with the qrcode USE flag/" lib/qrscanner.py || die |
| |
| # Prevent icon from being installed in the wrong location |
| sed -i '/icons/d' setup.py || die |
| |
| validate_desktop_entries |
| |
| # Remove unrequested localization files: |
| for lang in ${LINGUAS}; do |
| use "linguas_${lang}" && continue |
| rm -r "lib/locale/${lang}" || die |
| done |
| |
| local wordlist= |
| for wordlist in \ |
| $(usex linguas_ja_JP '' japanese) \ |
| $(usex linguas_pt_BR '' portuguese) \ |
| $(usex linguas_pt_PT '' portuguese) \ |
| $(usex linguas_es_ES '' spanish) \ |
| $(usex linguas_zh_CN '' chinese_simplified) \ |
| ; do |
| rm -f "lib/wordlist/${wordlist}.txt" || die |
| sed -i "/${wordlist}\\.txt/d" lib/mnemonic.py || die |
| done |
| |
| # Remove unrequested GUI implementations: |
| rm -rf gui/android* |
| rm -rf gui/jsonrpc* |
| rm -rf gui/kivy* |
| local gui |
| for gui in \ |
| $(usex cli '' stdio) \ |
| $(usex gtk3 '' gtk ) \ |
| $(usex qt4 '' qt ) \ |
| $(usex ncurses '' text ) \ |
| ; do |
| rm gui/"${gui}"* -r || die |
| done |
| |
| if ! use qt4; then |
| sed -i "s/'electrum_gui\\.qt',//" setup.py || die |
| local bestgui=$(usex gtk3 gtk $(usex ncurses text stdio)) |
| sed -i "s/\(config.get('gui', \?\)'classic'/\1'${bestgui}'/" electrum || die |
| fi |
| |
| local plugin |
| # btchipwallet requires python btchip module (and dev-python/pyusb) |
| # trezor requires python trezorlib module |
| # keepkey requires trezor |
| for plugin in \ |
| $(usex cosign '' cosigner_pool ) \ |
| $(usex email '' email_requests ) \ |
| $(usex fiat '' exchange_rate ) \ |
| $(usex greenaddress_it '' greenaddress_instant) \ |
| keepkey \ |
| $(usex sync '' labels ) \ |
| trezor \ |
| $(usex trustedcoin_com '' trustedcoin ) \ |
| $(usex vkb '' virtualkeyboard ) \ |
| ; do |
| rm -r plugins/"${plugin}"* || die |
| done |
| |
| distutils-r1_src_prepare |
| } |
| |
| src_install() { |
| doicon -s 128 icons/${PN}.png |
| distutils-r1_src_install |
| } |
| |
| pkg_preinst() { |
| gnome2_icon_savelist |
| } |
| |
| pkg_postinst() { |
| gnome2_icon_cache_update |
| } |
| |
| pkg_postrm() { |
| gnome2_icon_cache_update |
| } |