Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jun 2013 22:49:28 GMT
From:      Neil Booth <kyuupichan@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/179446: New port: finance/electrum An easy to use Bitcoin client in Python
Message-ID:  <201306092249.r59MnSYg045539@oldred.freebsd.org>
Resent-Message-ID: <201306092250.r59Mo0Vq040175@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         179446
>Category:       ports
>Synopsis:       New port: finance/electrum An easy to use Bitcoin client in Python
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 09 22:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Neil Booth
>Release:        DragonFly
>Organization:
N/A
>Environment:
DragonFly athlon2.akihabara.co.uk 3.5-DEVELOPMENT DragonFly v3.5.0.301.ga29ef-DEVELOPMENT #1: Fri Jun  7 19:05:53 JST 2013     root@athlon2.akihabara.co.uk:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64
>Description:
Electrum is an easy to use Bitcoin client. It protects you from
losing coins in a backup mistake or computer failure, because your
wallet can be recovered from a secret phrase that you can write on
paper or learn by heart. There is no waiting time when you start
the client, because it does not download the Bitcoin blockchain.

This port requires the two new libraries devel/py-slowaes and devel/py-ecdsa which I have also submitted PRs for.

portlint reports no problems and installed cleanly in poudriere in test mode.

SHAR file attached (.txt extension)
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	electrum
#	electrum/files
#	electrum/files/patch-setup.py
#	electrum/files/patch-lib__util.py
#	electrum/pkg-descr
#	electrum/distinfo
#	electrum/Makefile
#	electrum/pkg-plist
#
echo c - electrum
mkdir -p electrum > /dev/null 2>&1
echo c - electrum/files
mkdir -p electrum/files > /dev/null 2>&1
echo x - electrum/files/patch-setup.py
sed 's/^X//' >electrum/files/patch-setup.py << 'END-of-electrum/files/patch-setup.py'
X--- ./setup.py.orig	2013-06-09 19:36:25.355293000 +0900
X+++ ./setup.py	2013-06-09 19:45:13.675386000 +0900
X@@ -15,14 +15,14 @@
X if (len(sys.argv) > 1 and (sys.argv[1] == "sdist")) or (platform.system() != 'Windows' and platform.system() != 'Darwin'):
X     print "Including all files"
X     data_files += [
X-        ('/usr/share/applications/',['electrum.desktop']),
X-        ('/usr/share/app-install/icons/',['icons/electrum.png'])
X+        (os.path.join(sys.prefix, 'share', 'applications'),['electrum.desktop']),
X+        (os.path.join(sys.prefix, 'share', 'app-install', 'icons'),['icons/electrum.png'])
X     ]
X     if not os.path.exists('locale'):
X         os.mkdir('locale')
X     for lang in os.listdir('locale'):
X         if os.path.exists('locale/%s/LC_MESSAGES/electrum.mo'%lang):
X-            data_files.append(  ('/usr/share/locale/%s/LC_MESSAGES'%lang, ['locale/%s/LC_MESSAGES/electrum.mo'%lang]) )
X+            data_files.append( (os.path.join(sys.prefix, 'share/locale/%s/LC_MESSAGES'%lang), ['locale/%s/LC_MESSAGES/electrum.mo'%lang]) )
X 
X data_files += [
X     (util.appdata_dir(), ["data/README"]),
END-of-electrum/files/patch-setup.py
echo x - electrum/files/patch-lib__util.py
sed 's/^X//' >electrum/files/patch-lib__util.py << 'END-of-electrum/files/patch-lib__util.py'
X--- ./lib/util.py.orig	2013-04-07 21:30:06.000000000 +0900
X+++ ./lib/util.py	2013-06-09 19:36:01.945732000 +0900
X@@ -59,8 +59,10 @@
X         return os.path.join(os.environ["APPDATA"], "Electrum")
X     elif platform.system() == "Linux":
X         return os.path.join(sys.prefix, "share", "electrum")
X+    elif (sys.platform.startswith("dragonfly") or
X+          sys.platform.startswith("freebsd")):
X+	return os.path.join(sys.prefix, "share", "electrum")
X     elif (platform.system() == "Darwin" or
X-          platform.system() == "DragonFly" or
X 	  platform.system() == "NetBSD"):
X         return "/Library/Application Support/Electrum"
X     else:
END-of-electrum/files/patch-lib__util.py
echo x - electrum/pkg-descr
sed 's/^X//' >electrum/pkg-descr << 'END-of-electrum/pkg-descr'
XElectrum is an easy to use Bitcoin client. It protects you from
Xlosing coins in a backup mistake or computer failure, because your
Xwallet can be recovered from a secret phrase that you can write on
Xpaper or learn by heart. There is no waiting time when you start
Xthe client, because it does not download the Bitcoin blockchain.
END-of-electrum/pkg-descr
echo x - electrum/distinfo
sed 's/^X//' >electrum/distinfo << 'END-of-electrum/distinfo'
XSHA256 (Electrum-1.7.3.tar.gz) = bd16afafa70c6c104eb82723bf4555405774c48f6723593e95ef49de0b8f3e51
XSIZE (Electrum-1.7.3.tar.gz) = 492076
END-of-electrum/distinfo
echo x - electrum/Makefile
sed 's/^X//' >electrum/Makefile << 'END-of-electrum/Makefile'
X# Created by: Neil Booth
X# $FreeBSD$
X
XPORTNAME=		Electrum
XPORTVERSION=    	1.7.3
XCATEGORIES=		finance python
XMASTER_SITES=		http://download.electrum.org/download/
X
XMAINTAINER=		kyuupichan@gmail.com
XCOMMENT=		Electrum is an easy to use Bitcoin client
X
XLICENSE=		GPLv3
X
XUSE_PYTHON=		2.6+
XUSE_PYDISTUTILS=	yes
X
XRUN_DEPENDS+=		${PYTHON_PKGNAMEPREFIX}slowaes>0:${PORTSDIR}/devel/py-slowaes \
X			${PYTHON_PKGNAMEPREFIX}ecdsa>0:${PORTSDIR}/devel/py-ecdsa \
X			${PYTHON_PKGNAMEPREFIX}qt4>=4.9:${PORTSDIR}/devel/py-qt4
X
X.include <bsd.port.mk>
END-of-electrum/Makefile
echo x - electrum/pkg-plist
sed 's/^X//' >electrum/pkg-plist << 'END-of-electrum/pkg-plist'
Xbin/electrum
X%%PYTHON_SITELIBDIR%%/electrum/__init__.py
X%%PYTHON_SITELIBDIR%%/electrum/__init__.pyc
X%%PYTHON_SITELIBDIR%%/electrum/__init__.pyo
X%%PYTHON_SITELIBDIR%%/electrum/bitcoin.py
X%%PYTHON_SITELIBDIR%%/electrum/bitcoin.pyc
X%%PYTHON_SITELIBDIR%%/electrum/bitcoin.pyo
X%%PYTHON_SITELIBDIR%%/electrum/commands.py
X%%PYTHON_SITELIBDIR%%/electrum/commands.pyc
X%%PYTHON_SITELIBDIR%%/electrum/commands.pyo
X%%PYTHON_SITELIBDIR%%/electrum/deserialize.py
X%%PYTHON_SITELIBDIR%%/electrum/deserialize.pyc
X%%PYTHON_SITELIBDIR%%/electrum/deserialize.pyo
X%%PYTHON_SITELIBDIR%%/electrum/interface.py
X%%PYTHON_SITELIBDIR%%/electrum/interface.pyc
X%%PYTHON_SITELIBDIR%%/electrum/interface.pyo
X%%PYTHON_SITELIBDIR%%/electrum/mnemonic.py
X%%PYTHON_SITELIBDIR%%/electrum/mnemonic.pyc
X%%PYTHON_SITELIBDIR%%/electrum/mnemonic.pyo
X%%PYTHON_SITELIBDIR%%/electrum/msqr.py
X%%PYTHON_SITELIBDIR%%/electrum/msqr.pyc
X%%PYTHON_SITELIBDIR%%/electrum/msqr.pyo
X%%PYTHON_SITELIBDIR%%/electrum/simple_config.py
X%%PYTHON_SITELIBDIR%%/electrum/simple_config.pyc
X%%PYTHON_SITELIBDIR%%/electrum/simple_config.pyo
X%%PYTHON_SITELIBDIR%%/electrum/socks.py
X%%PYTHON_SITELIBDIR%%/electrum/socks.pyc
X%%PYTHON_SITELIBDIR%%/electrum/socks.pyo
X%%PYTHON_SITELIBDIR%%/electrum/util.py
X%%PYTHON_SITELIBDIR%%/electrum/util.pyc
X%%PYTHON_SITELIBDIR%%/electrum/util.pyo
X%%PYTHON_SITELIBDIR%%/electrum/verifier.py
X%%PYTHON_SITELIBDIR%%/electrum/verifier.pyc
X%%PYTHON_SITELIBDIR%%/electrum/verifier.pyo
X%%PYTHON_SITELIBDIR%%/electrum/version.py
X%%PYTHON_SITELIBDIR%%/electrum/version.pyc
X%%PYTHON_SITELIBDIR%%/electrum/version.pyo
X%%PYTHON_SITELIBDIR%%/electrum/wallet.py
X%%PYTHON_SITELIBDIR%%/electrum/wallet.pyc
X%%PYTHON_SITELIBDIR%%/electrum/wallet.pyo
X%%PYTHON_SITELIBDIR%%/electrum/wallet_bitkey.py
X%%PYTHON_SITELIBDIR%%/electrum/wallet_bitkey.pyc
X%%PYTHON_SITELIBDIR%%/electrum/wallet_bitkey.pyo
X%%PYTHON_SITELIBDIR%%/electrum/wallet_factory.py
X%%PYTHON_SITELIBDIR%%/electrum/wallet_factory.pyc
X%%PYTHON_SITELIBDIR%%/electrum/wallet_factory.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/__init__.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/__init__.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/__init__.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/amountedit.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/amountedit.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/amountedit.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/bmp.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/bmp.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/bmp.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/exchange_rate.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/exchange_rate.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/exchange_rate.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_classic.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_classic.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_classic.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_gtk.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_gtk.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_gtk.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_lite.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_lite.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_lite.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_text.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_text.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/gui_text.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/history_widget.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/history_widget.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/history_widget.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/i18n.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/i18n.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/i18n.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/icons_rc.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/icons_rc.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/icons_rc.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/plugins.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/plugins.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/plugins.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/pyqrnative.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/pyqrnative.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/pyqrnative.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/qrcodewidget.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/qrcodewidget.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/qrcodewidget.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/qt_console.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/qt_console.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/qt_console.pyo
X%%PYTHON_SITELIBDIR%%/electrum_gui/receiving_widget.py
X%%PYTHON_SITELIBDIR%%/electrum_gui/receiving_widget.pyc
X%%PYTHON_SITELIBDIR%%/electrum_gui/receiving_widget.pyo
X%%PYTHON_SITELIBDIR%%/electrum_plugins/__init__.py
X%%PYTHON_SITELIBDIR%%/electrum_plugins/__init__.pyc
X%%PYTHON_SITELIBDIR%%/electrum_plugins/__init__.pyo
X%%PYTHON_SITELIBDIR%%/electrum_plugins/aliases.py
X%%PYTHON_SITELIBDIR%%/electrum_plugins/aliases.pyc
X%%PYTHON_SITELIBDIR%%/electrum_plugins/aliases.pyo
X%%PYTHON_SITELIBDIR%%/electrum_plugins/labels.py
X%%PYTHON_SITELIBDIR%%/electrum_plugins/labels.pyc
X%%PYTHON_SITELIBDIR%%/electrum_plugins/labels.pyo
X%%PYTHON_SITELIBDIR%%/electrum_plugins/pointofsale.py
X%%PYTHON_SITELIBDIR%%/electrum_plugins/pointofsale.pyc
X%%PYTHON_SITELIBDIR%%/electrum_plugins/pointofsale.pyo
X%%PYTHON_SITELIBDIR%%/electrum_plugins/qrscanner.py
X%%PYTHON_SITELIBDIR%%/electrum_plugins/qrscanner.pyc
X%%PYTHON_SITELIBDIR%%/electrum_plugins/qrscanner.pyo
X%%PYTHON_SITELIBDIR%%/electrum_plugins/virtualkeyboard.py
X%%PYTHON_SITELIBDIR%%/electrum_plugins/virtualkeyboard.pyc
X%%PYTHON_SITELIBDIR%%/electrum_plugins/virtualkeyboard.pyo
X@dirrm %%PYTHON_SITELIBDIR%%/electrum_plugins
X@dirrm %%PYTHON_SITELIBDIR%%/electrum_gui
X@dirrm %%PYTHON_SITELIBDIR%%/electrum
X@dirrm %%PYTHON_SITELIBDIR%%
X@dirrm lib/python2.7
END-of-electrum/pkg-plist
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306092249.r59MnSYg045539>