commit b0a000f0fb019043a4d8bde0d78fe8ebd4852e86
parent 17f5e94947af00226ffa5f9f2eeef2e509fbdfd5
Author: parazyd <parazyd@dyne.org>
Date: Fri, 12 Jan 2018 19:05:10 +0100
net-misc/electrum: Add 3.0.5
Diffstat:
5 files changed, 233 insertions(+), 0 deletions(-)
diff --git a/net-misc/electrum/Manifest b/net-misc/electrum/Manifest
@@ -0,0 +1 @@
+DIST Electrum-3.0.5.tar.gz 2639766 BLAKE2B 28587ca056247a5671d84c0b79824e8eea8df8ca2e3204333e6edd7db98ecbeebdf81f4ac819de8b87c7593e83f948d091d48d55cdff08af76322d94bacec0fd SHA512 27cfa44ce8eeb5eef8038f1f68b4a42d173daaf7a940ffc9e9b1dad16a8f7f49bd53d5eefdbaf242e5e09aa2f887bce536f17941c2250225cd92c78f62c52e39
diff --git a/net-misc/electrum/electrum-3.0.5.ebuild b/net-misc/electrum/electrum-3.0.5.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python3_{4,5} )
+PYTHON_REQ_USE="ncurses?"
+
+inherit distutils-r1 gnome2-utils xdg-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="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+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"
+
+my_langs_to_l10n() {
+ # Map all except pt_* and zh_* to their generic codes
+ case $1 in
+ pt_*|zh_*) echo ${1/_/-} ;;
+ *) echo ${1%%_*} ;;
+ esac
+}
+
+IUSE="audio_modem cli cosign digitalbitbox email greenaddress_it ncurses qrcode +qt5 sync trustedcoin_com vkb"
+
+for lang in ${MY_LANGS}; do
+ IUSE+=" l10n_$(my_langs_to_l10n ${lang})"
+done
+unset lang
+
+REQUIRED_USE="
+ || ( cli ncurses qt5 )
+ audio_modem? ( qt5 )
+ cosign? ( qt5 )
+ digitalbitbox? ( qt5 )
+ email? ( qt5 )
+ greenaddress_it? ( qt5 )
+ qrcode? ( qt5 )
+ sync? ( qt5 )
+ trustedcoin_com? ( qt5 )
+ vkb? ( qt5 )
+"
+
+RDEPEND="
+ dev-python/ecdsa[${PYTHON_USEDEP}]
+ dev-python/jsonrpclib[${PYTHON_USEDEP}]
+ dev-python/pbkdf2[${PYTHON_USEDEP}]
+ dev-python/pyaes[${PYTHON_USEDEP}]
+ dev-python/PySocks[${PYTHON_USEDEP}]
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/tlslite[${PYTHON_USEDEP}]
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ virtual/python-dnspython[${PYTHON_USEDEP}]
+ qrcode? ( media-gfx/zbar[v4l] )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ ncurses? ( dev-lang/python )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+DOCS="RELEASE-NOTES"
+
+src_prepare() {
+ eapply "${FILESDIR}/2.8.0-no-user-root.patch"
+
+ # Prevent icon from being installed in the wrong location
+ sed -i '/icons/d' setup.py || die
+
+ # Remove unrequested localization files:
+ local lang
+ for lang in ${MY_LANGS}; do
+ use l10n_$(my_langs_to_l10n ${lang}) && continue
+ rm -r "lib/locale/${lang}" || die
+ done
+
+ local wordlist=
+ for wordlist in \
+ $(usex l10n_ja '' japanese) \
+ $(usex l10n_pt-BR '' $(usex l10n_pt-PT '' portuguese)) \
+ $(usex l10n_es '' spanish) \
+ $(usex l10n_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:
+ local gui setup_py_gui
+ for gui in \
+ $(usex cli '' stdio) \
+ kivy \
+ $(usex qt5 '' qt ) \
+ $(usex ncurses '' text ) \
+ ; do
+ rm gui/"${gui}"* -r || die
+ done
+
+ # And install requested ones...
+ for gui in \
+ $(usex qt5 qt '') \
+ ; do
+ setup_py_gui="${setup_py_gui}'electrum_gui.${gui}',"
+ done
+
+ sed -i "s/'electrum_gui\\.qt',/${setup_py_gui}/" setup.py || die
+
+ local bestgui
+ if use qt5; then
+ bestgui=qt
+ elif use ncurses; then
+ bestgui=text
+ else
+ bestgui=stdio
+ fi
+ sed -i 's/^\([[:space:]]*\)\(config_options\['\''cwd'\''\] = .*\)$/\1\2\n\1config_options.setdefault("gui", "'"${bestgui}"'")\n/' electrum || die
+
+ local plugin
+ # trezor requires python trezorlib module
+ # keepkey requires trezor
+ for plugin in \
+ $(usex audio_modem '' audio_modem ) \
+ $(usex cosign '' cosigner_pool ) \
+ $(usex digitalbitbox '' digitalbitbox ) \
+ $(usex email '' email_requests ) \
+ $(usex greenaddress_it '' greenaddress_instant ) \
+ hw_wallet \
+ ledger \
+ keepkey \
+ $(usex sync '' labels ) \
+ revealer \
+ trezor \
+ $(usex trustedcoin_com '' trustedcoin ) \
+ $(usex vkb '' virtualkeyboard ) \
+ ; do
+ rm -r plugins/"${plugin}"* || die
+ sed -i "/${plugin}/d" setup.py || die
+ done
+
+ eapply_user
+
+ 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
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/net-misc/electrum/files/2.7.15-no-user-root.patch b/net-misc/electrum/files/2.7.15-no-user-root.patch
@@ -0,0 +1,15 @@
+--- setup.py.orig 2017-01-06 19:17:44.294137848 +0000
++++ setup.py 2017-01-06 19:17:50.093161327 +0000
+@@ -21,12 +21,6 @@
+ parser.add_argument('--root=', dest='root_path', metavar='dir', default='/')
+ opts, _ = parser.parse_known_args(sys.argv[1:])
+ usr_share = os.path.join(sys.prefix, "share")
+- if not os.access(opts.root_path + usr_share, os.W_OK) and \
+- not os.access(opts.root_path, os.W_OK):
+- if 'XDG_DATA_HOME' in os.environ.keys():
+- usr_share = os.environ['XDG_DATA_HOME']
+- else:
+- usr_share = os.path.expanduser('~/.local/share')
+ data_files += [
+ (os.path.join(usr_share, 'applications/'), ['electrum.desktop']),
+ ]
diff --git a/net-misc/electrum/files/2.8.0-no-user-root.patch b/net-misc/electrum/files/2.8.0-no-user-root.patch
@@ -0,0 +1,15 @@
+--- ./setup.py.orig 2017-01-06 19:17:44.294137848 +0000
++++ ./setup.py 2017-01-06 19:17:50.093161327 +0000
+@@ -21,12 +21,6 @@
+ parser.add_argument('--root=', dest='root_path', metavar='dir', default='/')
+ opts, _ = parser.parse_known_args(sys.argv[1:])
+ usr_share = os.path.join(sys.prefix, "share")
+- if not os.access(opts.root_path + usr_share, os.W_OK) and \
+- not os.access(opts.root_path, os.W_OK):
+- if 'XDG_DATA_HOME' in os.environ.keys():
+- usr_share = os.environ['XDG_DATA_HOME']
+- else:
+- usr_share = os.path.expanduser('~/.local/share')
+ data_files += [
+ (os.path.join(usr_share, 'applications/'), ['electrum.desktop']),
+ ]
diff --git a/net-misc/electrum/metadata.xml b/net-misc/electrum/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>blueness@gentoo.org</email>
+ <name>Anthony G. Basile</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>luke-jr+gentoobugs@utopios.org</email>
+ <name>Luke Dashjr</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>maksverver@geocities.com</email>
+ <name>Maks Verver</name>
+ </maintainer>
+ <use>
+ <flag name="cli">Enables the CLI interface</flag>
+ <flag name="audio_modem">Enable plugin to support Audio Modem</flag>
+ <flag name="cosign">Enable plugin to support multisig wallets between multiple Electrum clients</flag>
+ <flag name="digitalbitbox">Enable plugin to support Digital Bitbox hardware wallet</flag>
+ <flag name="email">Enable plugin to support emailing invoices</flag>
+ <flag name="greenaddress_it">Enable plugin to verify GreenAddress.it instant transactions</flag>
+ <flag name="qrcode">Enable QR code scanning with <pkg>media-gfx/zbar</pkg></flag>
+ <flag name="sync">Enable plugin to sync wallet metadata across multiple Electrum clients</flag>
+ <flag name="trustedcoin_com">Enable plugin to use two-factor service by TrustedCoin.com</flag>
+ <flag name="vkb">Enable plugin for virtual keyboard</flag>
+ </use>
+</pkgmetadata>