From c9d6d8f0475f003a7a86f7d5d005ed94495d5bbd Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Sun, 22 Sep 2024 16:10:08 +0000 Subject: [PATCH] Version 3.4.0 - released concurrently with MMGen Wallet v15.0.0 - adds macOS support --- README.md | 6 +++--- mmgen_node_tools/data/keywords | 2 +- mmgen_node_tools/data/version | 2 +- setup.cfg | 16 +++++++++++++--- test/cmdtest_py_d/cfg.py | 7 ++++++- test/cmdtest_py_d/ct_main.py | 2 +- test/init.sh | 13 ++++++++++--- 7 files changed, 35 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f72051f..2751da7 100644 --- a/README.md +++ b/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-Wallet-on-Linux-or-macOS [8]: https://github.com/mmgen/mmgen-wallet/wiki/Install-MMGen-on-Microsoft-Windows#a_m diff --git a/mmgen_node_tools/data/keywords b/mmgen_node_tools/data/keywords index 3c3c563..f26b502 100644 --- a/mmgen_node_tools/data/keywords +++ b/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 diff --git a/mmgen_node_tools/data/version b/mmgen_node_tools/data/version index 49cbc5f..1809198 100644 --- a/mmgen_node_tools/data/version +++ b/mmgen_node_tools/data/version @@ -1 +1 @@ -3.4.dev0 +3.4.0 diff --git a/setup.cfg b/setup.cfg index def5f65..9a0ab04 100644 --- a/setup.cfg +++ b/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 diff --git a/test/cmdtest_py_d/cfg.py b/test/cmdtest_py_d/cfg.py index 96bfe9f..ef52880 100755 --- a/test/cmdtest_py_d/cfg.py +++ b/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() diff --git a/test/cmdtest_py_d/ct_main.py b/test/cmdtest_py_d/ct_main.py index 7c38bcf..d52a2e3 100755 --- a/test/cmdtest_py_d/ct_main.py +++ b/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') diff --git a/test/init.sh b/test/init.sh index 51e4e9e..a379adf 100755 --- a/test/init.sh +++ b/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 @@ -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