commit: c5af5f0d482540243b7c92d636fd5982aa51353a Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sat Dec 23 23:15:06 2017 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Sat Dec 23 23:20:01 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5af5f0d
net-misc/electron-cash: new package Package-Manager: Portage-2.3.19, Repoman-2.3.6 net-misc/electron-cash/Manifest | 1 + net-misc/electron-cash/electron-cash-3.0.ebuild | 155 +++++++++++++++++++++ .../electron-cash/files/2.8.0-no-user-root.patch | 15 ++ net-misc/electron-cash/metadata.xml | 21 +++ 4 files changed, 192 insertions(+) diff --git a/net-misc/electron-cash/Manifest b/net-misc/electron-cash/Manifest new file mode 100644 index 00000000000..9d2539917da --- /dev/null +++ b/net-misc/electron-cash/Manifest @@ -0,0 +1 @@ +DIST electron-cash-3.0.tar.gz 1623371 BLAKE2B 3311ce41dd40de82ce9f96763fd527505eabda0c9ac10e5076c5dbc3ed73c4f1f299a62e39b5fd696468408bd3764c7dceca36b006d18394d72f61e14f6417b5 SHA512 b136d9099e8cc3b248a4cb525c6aeb4a38a57809a66dc8e897bee34fde071b5a14bbe6283ad3bf50087be8544508e078824c249ead0e1914ef7622688fef7e5e diff --git a/net-misc/electron-cash/electron-cash-3.0.ebuild b/net-misc/electron-cash/electron-cash-3.0.ebuild new file mode 100644 index 00000000000..74a0b17301d --- /dev/null +++ b/net-misc/electron-cash/electron-cash-3.0.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2017 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="Lightweight Bitcoin Cash client (BCH fork of Electrum)" +HOMEPAGE="https://github.com/fyookball/electrum/" +SRC_URI="https://github.com/fyookball/electrum/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +LINGUAS="es_ES ja_JP pt_BR pt_PT zh_CN" + +IUSE="audio_modem cli cosign digitalbitbox email ncurses qrcode +qt5 sync vkb" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done + +REQUIRED_USE=" + || ( cli ncurses qt5 ) + audio_modem? ( qt5 ) + cosign? ( qt5 ) + digitalbitbox? ( qt5 ) + email? ( qt5 ) + qrcode? ( qt5 ) + sync? ( 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 + + pyrcc5 icons.qrc -o gui/qt/icons_rc.py || die + + local wordlist= + for wordlist in \ + $(usex linguas_ja_JP '' japanese) \ + $(usex linguas_pt_BR '' $(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: + 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/' "${PN}" || 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 ) \ + hw_wallet \ + ledger \ + keepkey \ + $(usex sync '' labels ) \ + trezor \ + $(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/electron-cash/files/2.8.0-no-user-root.patch b/net-misc/electron-cash/files/2.8.0-no-user-root.patch new file mode 100644 index 00000000000..2ca5363effe --- /dev/null +++ b/net-misc/electron-cash/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/electron-cash/metadata.xml b/net-misc/electron-cash/metadata.xml new file mode 100644 index 00000000000..c3d5eefc5be --- /dev/null +++ b/net-misc/electron-cash/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmed...@gentoo.org</email> + <name>Zac Medico</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="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="vkb">Enable plugin for virtual keyboard</flag> + </use> + <upstream> + <remote-id type="github">fyookball/electrum</remote-id> + </upstream> +</pkgmetadata>