Support Windows/MSYS2

This commit is contained in:
The MMGen Project 2023-11-27 09:18:43 +00:00
commit 55fdcb29f7
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
5 changed files with 73 additions and 21 deletions

View file

@ -4,36 +4,66 @@
Requires modules from the [MMGen online/offline cryptocurrency wallet][6].
Currently tested on Linux only. Some scripts may not work under Windows/MSYS2.
## Install:
If installing as user (without venv), make sure that `~/.local/bin` is in `PATH`.
#### Windows/MSYS2:
> Install [MSYS2 and the MMGen Wallet dependencies][8], skipping installation of
> scrypt, libsecp256k1 and the wallet itself if desired.
> Install some additional dependencies:
```bash
$ pacman -S \
mingw-w64-ucrt-x86_64-python-pandas \
mingw-w64-ucrt-x86_64-python-tqdm \
mingw-w64-ucrt-x86_64-python-lxml
$ python3 -m pip install requests-futures
$ python3 -m pip install --no-deps yahooquery
```
#### Linux:
> Install the [required MMGen Wallet packages][7] for your Linux distribution.
### Stable version:
First, install the [required MMGen Wallet packages][7] for your Linux distribution:
Then,
$ python3 -m pip install --upgrade mmgen-node-tools
```bash
$ python3 -m pip install --upgrade mmgen-node-tools
```
### Development version:
First, install the latest development version of [MMGen Wallet][6].
Install the latest development version of [MMGen Wallet][6] for your platform.
Then,
$ git clone https://github.com/mmgen/mmgen-node-tools
$ cd mmgen-node-tools
$ python3 -m build --no-isolation
$ python3 -m pip install dist/*.whl
```bash
$ git clone https://github.com/mmgen/mmgen-node-tools
$ cd mmgen-node-tools
$ python3 -m build --no-isolation
$ python3 -m pip install dist/*.whl
```
## Test:
*NOTE: the tests require that the MMGen Wallet and MMGen Node Tools repositories be
located in the same directory.*
#### Windows/MSYS2:
> *Tested only on NTFS – with ReFS your mileage may vary*
> Turn on Developer Mode to enable symlinks:
```
Settings -> Update & Security -> For developers -> Developer Mode: On
```
> and add this to your `~/.bashrc`:
```bash
export MSYS=winsymlinks:nativestrict
```
> Close and reopen the MSYS2 terminal to update your environment.
Initialize the test framework (must be run at least once after cloning, and
possibly again after a pull if tests have been updated):
@ -49,11 +79,29 @@ Full testing:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[**Forum**][4] |
[PGP Public Key][5] |
Donate: 15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w
Homepage:
[Clearnet](https://mmgen-wallet.cc) |
[I2P](http://mmgen-wallet.i2p) |
[Onion](http://mmgen55rtcahqfp2hn3v7syqv2wqanks5oeezqg3ykwfkebmouzjxlad.onion)
Code repository:
[Clearnet](https://mmgen.org/project/mmgen/mmgen-wallet) |
[I2P](http://mmgen-wallet.i2p/project/mmgen/mmgen-wallet) |
[Onion](http://mmgen55rtcahqfp2hn3v7syqv2wqanks5oeezqg3ykwfkebmouzjxlad.onion/project/mmgen/mmgen-wallet)
Code repository mirrors:
[Github](https://github.com/mmgen/mmgen-wallet) |
[Gitlab](https://gitlab.com/mmgen/mmgen-wallet) |
[Gitflic](https://gitflic.ru/project/mmgen/mmgen-wallet)
[Keybase](https://keybase.io/mmgen) |
[Reddit](https://www.reddit.com/user/mmgen-py) |
[Bitcointalk](https://bitcointalk.org/index.php?topic=567069.new#new)
[PGP Signing Key][5]: 5C84 CB45 AEE2 250F 31A6 A570 3F8B 1861 E32B 7DA2
Donate:
 ⊙ BTC: *bc1qxmymxf8p5ckvlxkmkwgw8ap5t2xuaffmrpexap*
 ⊙ BCH: *15TLdmi5NYLdqmtCqczUs5pBPkJDXRs83w*
 ⊙ XMR: *8B14zb8wgLuKDdse5p8f3aKpFqRdB4i4xj83b7BHYABHMvHifWxiDXeKRELnaxL5FySfeRRS5girgUvgy8fQKsYMEzPUJ8h*
[4]: https://bitcointalk.org/index.php?topic=567069.0
[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
[8]: https://github.com/mmgen/mmgen-wallet/wiki/Install-MMGen-on-Microsoft-Windows#a_m

View file

@ -1 +1 @@
3.2.dev8
3.2.dev9

View file

@ -28,7 +28,7 @@ python_requires = >=3.8
include_package_data = True
install_requires =
mmgen-wallet>=14.0.dev22
mmgen-wallet>=14.0.dev25
pyyaml
yahooquery

View file

@ -35,7 +35,7 @@ class CmdTestMain(CmdTestBase):
"'mmnode-peerblocks' script",
('peerblocks1', '--help'),
('peerblocks2', 'interactive (popen spawn)'),
('peerblocks3', 'interactive, 80 columns (pexpect_spawn)'),
('peerblocks3', 'interactive, 80 columns (pexpect_spawn [on Linux])'),
),
}
@ -94,4 +94,6 @@ class CmdTestMain(CmdTestBase):
return t
def peerblocks3(self):
return self.peerblocks2(['--columns=80'],pexpect_spawn=True)
return self.peerblocks2(
['--columns=80'],
pexpect_spawn = sys.platform != 'win32' )

View file

@ -12,7 +12,7 @@
test.cmdtest_py_d.ct_regtest: Regtest tests for the cmdtest.py test suite
"""
import os
import sys,os
from mmgen.util import msg_r,die,gmsg
from mmgen.protocol import init_proto
@ -134,6 +134,8 @@ class CmdTestRegtest(CmdTestBase):
def netrate2(self):
t = self.netrate( [], r'sent:.*' )
t.kill(15)
if sys.platform == 'win32':
return 'ok'
t.req_exit_val = -15
return t