Browse Source

Version 3.4.0

- released concurrently with MMGen Wallet v15.0.0
- adds macOS support
The MMGen Project 2 months ago
parent
commit
525518cbc0
7 changed files with 35 additions and 13 deletions
  1. 3 3
      README.md
  2. 1 1
      mmgen_node_tools/data/keywords
  3. 1 1
      mmgen_node_tools/data/version
  4. 13 3
      setup.cfg
  5. 6 1
      test/cmdtest_py_d/cfg.py
  6. 1 1
      test/cmdtest_py_d/ct_main.py
  7. 10 3
      test/init.sh

+ 3 - 3
README.md

@@ -20,9 +20,9 @@ If installing as user (without venv), make sure that `~/.local/bin` is in `PATH`
 > $ python3 -m pip install --no-deps yahooquery
 > ```
 
-#### Linux:
+#### Linux, macOS:
 
-> Install the [required MMGen Wallet packages][7] for your Linux distribution.
+> Install some [required packages][7] with your package manager and pip.
 
 ### Stable version:
 
@@ -100,5 +100,5 @@ Donate:
 
 [5]: https://github.com/mmgen/mmgen-wallet/wiki/MMGen-Signing-Keys
 [6]: https://github.com/mmgen/mmgen-wallet/
-[7]: https://github.com/mmgen/mmgen-wallet/wiki/Install-MMGen-on-Linux
+[7]: https://github.com/mmgen/mmgen-wallet/wiki/Install-MMGen-on-Linux-or-macOS
 [8]: https://github.com/mmgen/mmgen-wallet/wiki/Install-MMGen-on-Microsoft-Windows#a_m

+ 1 - 1
mmgen_node_tools/data/keywords

@@ -1 +1 @@
-Bitcoin, BTC, Ethereum, ETH, Monero, XMR, ERC20, cryptocurrency, wallet, BIP32, cold storage, offline, online, spending, open-source, command-line, Python, Linux, Bitcoin Core, bitcoind, hd, deterministic, hierarchical, secure, anonymous, Electrum, seed, mnemonic, brainwallet, Scrypt, utility, script, scriptable, blockchain, raw, transaction, permissionless, console, terminal, curses, ansi, color, tmux, remote, client, daemon, RPC, json, entropy, xterm, rxvt, PowerShell, MSYS, MSYS2, MinGW, MinGW64, MSWin, Armbian, Raspbian, Raspberry Pi, Orange Pi, BCash, BCH, Litecoin, LTC, altcoin, ZEC, Zcash, DASH, Dashpay, SHA256Compress, monerod, EMC, Emercoin, token, deploy, contract, gas, fee, smart contract, solidity, Parity, OpenEthereum, testnet, devmode, Kovan
+Bitcoin, BTC, Ethereum, ETH, Monero, XMR, ERC20, cryptocurrency, wallet, cold storage, offline, signing, online, security, privacy, spending, financial, investment, open-source, command-line, Python, Linux, Microsoft Windows, macOS, Bitcoin Core, BIP32, BIP39, BIP44, BIP69, BIP125, bitcoind, hd, deterministic, hierarchical, secure, anonymous, Electrum, seed, mnemonic, brainwallet, Scrypt, utility, script, scriptable, blockchain, raw, transaction, permissionless, console, terminal, curses, ansi, color, tmux, remote, client, daemon, RPC, json, entropy, xterm, rxvt, MSYS2, MSWin, Armbian, Raspbian, Raspberry Pi, Orange Pi, Rock Pi, BCash, Bitcoin Cash Node, BCH, Litecoin, LTC, altcoin, ZEC, Zcash, SHA256Compress, monerod, token, deploy, contract, gas, fee, smart contract, solidity, Parity, OpenEthereum, testnet, devmode, regtest

+ 1 - 1
mmgen_node_tools/data/version

@@ -1 +1 @@
-3.4.dev0
+3.4.0

+ 13 - 3
setup.cfg

@@ -8,19 +8,29 @@ author       = The MMGen Project
 author_email = mmgen@tuta.io
 url          = https://github.com/mmgen/mmgen-node-tools
 license      = GNU GPL v3
-platforms    = Linux, Armbian, Raspbian, MS Windows
+platforms    = Linux, Armbian, Raspbian, MS Windows, MacOS
 keywords     = file: mmgen_node_tools/data/keywords
 project_urls =
 	Website = https://mmgen.org
 	Bug Tracker = https://github.com/mmgen/mmgen-node-tools/issues
 classifiers  =
-	Programming Language :: Python :: 3
 	License :: OSI Approved :: GNU General Public License v3 (GPLv3)
 	Operating System :: POSIX :: Linux
 	Operating System :: Microsoft :: Windows
+	Operating System :: MacOS
 	Environment :: Console
+	Programming Language :: Python :: 3
+	Programming Language :: C
+	Framework :: AsyncIO
+	Framework :: aiohttp
 	Topic :: Office/Business :: Financial
 	Topic :: Security :: Cryptography
+	Topic :: Software Development :: Libraries :: Python Modules
+	Topic :: Utilities
+	Intended Audience :: Developers
+	Intended Audience :: End Users/Desktop
+	Intended Audience :: Financial and Insurance Industry
+	Intended Audience :: System Administrators
 	Development Status :: 5 - Production/Stable
 
 [options]
@@ -28,7 +38,7 @@ python_requires = >=3.9
 include_package_data = True
 
 install_requires =
-	mmgen-wallet>=14.1.0
+	mmgen-wallet==15.0.0
 	pyyaml
 	yahooquery
 

+ 6 - 1
test/cmdtest_py_d/cfg.py

@@ -30,4 +30,9 @@ cfgs = {
 }
 
 def fixup_cfgs():
-	pass
+	import os
+
+	for k in cfgs:
+		cfgs[k]['tmpdir'] = os.path.join('test', 'tmp', str(k))
+
+fixup_cfgs()

+ 1 - 1
test/cmdtest_py_d/ct_main.py

@@ -96,4 +96,4 @@ class CmdTestMain(CmdTestBase):
 	def peerblocks3(self):
 		return self.peerblocks2(
 			['--columns=80'],
-			pexpect_spawn = sys.platform != 'win32' )
+			pexpect_spawn = sys.platform == 'linux')

+ 10 - 3
test/init.sh

@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #
 # mmgen = Multi-Mode GENerator, a command-line cryptocurrency wallet
 # Copyright (C)2013-2022 The MMGen Project <mmgen@tuta.io>
@@ -18,6 +18,12 @@ trap 'echo -e "${GREEN}Exiting at user request$RESET"; exit' INT
 trap 'echo -e "${RED}Node Tools test suite initialization exited with error (line $BASH_LINENO) $RESET"' ERR
 umask 0022
 
+for i in '-c' '-f'; do
+	stat $i %i / >/dev/null 2>&1 && stat_fmt_opt=$i
+done
+
+[ "$stat_fmt_opt" ] || { echo 'No suitable ‘stat’ binary found. Cannot proceed'; exit; }
+
 STDOUT_DEVNULL='>/dev/null'
 STDERR_DEVNULL='2>/dev/null'
 
@@ -77,6 +83,7 @@ create_test_links() {
 		test/overlay/__init__.py       symbolic
 		test/overlay/fakemods/mmgen    symbolic
 		test/__init__.py               symbolic
+		test/clean.py                  symbolic
 		test/cmdtest.py                hard
 		test/unit_tests.py             hard
 		test/test-release.sh           symbolic
@@ -87,7 +94,7 @@ create_test_links() {
 	while read path type; do
 		[ "$path" ] || continue
 		pfx=$(echo $path | sed -r 's/[^/]//g' | sed 's/\//..\//g')
-		symlink_arg=$(if [ $type == 'symbolic' ]; then echo --symbolic; fi)
+		symlink_arg=$(if [ $type == 'symbolic' ]; then echo -s; fi)
 		target="$wallet_repo/$path"
 		if [ ! -e "$target" ]; then
 			echo "Target path $target is missing! Cannot proceed"
@@ -99,7 +106,7 @@ create_test_links() {
 				[ "$VERBOSE" ] && printf "$fs" "Deleting" "symbolic link:" $path $target
 				rm -rf $path
 			elif [ -e $path ]; then
-				if [ "$(stat --printf=%i $path)" -ne "$(stat --printf=%i $target)" ]; then
+				if [ "$(stat $stat_fmt_opt %i $path)" -ne "$(stat $stat_fmt_opt %i $target)" ]; then
 					[ "$VERBOSE" ] && printf "$fs" "Deleting" "stale hard link:" $path "?"
 					rm -rf $path
 				fi