Compare commits
329 Commits
v0.17.3.2
...
github-bui
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ec4749244 | |||
| 7afe4a3136 | |||
| e3b20fa518 | |||
| 96e8503960 | |||
| c911d0166e | |||
| 4f5d81c88b | |||
| d2a96ccce9 | |||
| 426d9c32de | |||
| 60ad417b9e | |||
| 4ea34bb60d | |||
| 92bdbe8192 | |||
| 93b9b26d1d | |||
| 8b7ee2d8f0 | |||
| 099fc8e394 | |||
| 8c7c1dc9d7 | |||
| 6cfbb8559b | |||
| 8953c8c5f2 | |||
| 4df7f89c84 | |||
| e9c0de9e26 | |||
| 0371a26a56 | |||
| bc6e61c66c | |||
| 6c4c702722 | |||
| f77f96f5a9 | |||
| 53e4bde4c0 | |||
| 651a1a3169 | |||
| 91abd03fd3 | |||
| ab46af6cf9 | |||
| d08422420b | |||
| 0d801f5159 | |||
| f102dad609 | |||
| c6246962d8 | |||
|
|
f0b1b8cd08 | ||
|
|
674f69f131 | ||
|
|
5d5ac6a371 | ||
|
|
0c3e2301ed | ||
|
|
29e831ccec | ||
|
|
df291702df | ||
|
|
ef555a3d72 | ||
|
|
51a43341c5 | ||
|
|
ecec7bc4b6 | ||
|
|
d809370d8a | ||
|
|
cb3d693a26 | ||
|
|
e956b4ff15 | ||
|
|
ca6b38d25a | ||
|
|
8851e71a8b | ||
|
|
dc3441f258 | ||
|
|
7791cb08a9 | ||
|
|
6ed6d6a85e | ||
|
|
df4f68fbf2 | ||
|
|
1cc631d265 | ||
|
|
1fe6765efa | ||
|
|
f284677c17 | ||
|
|
84ea1776ae | ||
|
|
bd6e5b13cc | ||
|
|
de9c53bd8d | ||
|
|
981600c935 | ||
|
|
c692fd1605 | ||
|
|
819c2f57be | ||
|
|
06ed059cba | ||
|
|
e41f3cfd13 | ||
|
|
e9cd4588ae | ||
|
|
fdd406ac95 | ||
|
|
4a7e26b812 | ||
|
|
99d2884802 | ||
|
|
7a754a4dfc | ||
|
|
70a8086366 | ||
|
|
4d39449979 | ||
|
|
a3e05195c0 | ||
|
|
5954d6ba9a | ||
|
|
420d2baec2 | ||
|
|
664d578f30 | ||
|
|
33e3f599e9 | ||
|
|
bea3032df9 | ||
|
|
ab8ac87023 | ||
|
|
588b8435b7 | ||
|
|
8983cae468 | ||
|
|
3612866f9f | ||
|
|
beb336cb93 | ||
|
|
90cbe37846 | ||
|
|
10984a0a37 | ||
|
|
f5cb2443d1 | ||
|
|
8f7de0e9fc | ||
|
|
b60a98ae6c | ||
|
|
7040e3b72f | ||
|
|
12a0966eb9 | ||
|
|
5ff03786c7 | ||
|
|
483b825a2f | ||
|
|
ca304fc63d | ||
|
|
5a1a349977 | ||
|
|
5683f76cd0 | ||
|
|
cc7d7da346 | ||
|
|
d10e4d1e50 | ||
|
|
d338e06abd | ||
|
|
145ea10d93 | ||
|
|
d42caf1fbc | ||
|
|
705cc6573f | ||
|
|
5c3544f211 | ||
|
|
f859664443 | ||
|
|
2d25364f42 | ||
|
|
8323fb02ca | ||
|
|
d442ca38dc | ||
|
|
57409a8c47 | ||
|
|
f002987edd | ||
|
|
866a7b3a78 | ||
|
|
f342d46541 | ||
|
|
f5e016930b | ||
|
|
ac9a305543 | ||
|
|
f824aebfaa | ||
|
|
7765b8b462 | ||
|
|
a65fbee213 | ||
|
|
17e3ed6c97 | ||
|
|
b6e336dbaf | ||
|
|
ddcc17b7b8 | ||
|
|
f6549f328b | ||
|
|
4cbfa5efb2 | ||
|
|
fa2241f1a5 | ||
|
|
6bd11f2270 | ||
|
|
6c4a8fb819 | ||
|
|
ad1b53fa63 | ||
|
|
a9e0affe59 | ||
|
|
371ff6105b | ||
|
|
cad8874724 | ||
|
|
5345dcc11b | ||
|
|
33310786db | ||
|
|
6ac8e7a464 | ||
|
|
434f548a87 | ||
|
|
90c4aa4ec6 | ||
|
|
7a4052f3af | ||
|
|
f650e96363 | ||
|
|
91e3d3ae04 | ||
|
|
9f33c77a47 | ||
|
|
7d9c1284f9 | ||
|
|
84899f4884 | ||
|
|
9c9ff13bd2 | ||
|
|
b117b9be61 | ||
|
|
f0ccf29f48 | ||
|
|
3e80d563df | ||
|
|
e4bdff0a0c | ||
|
|
6b82c01891 | ||
|
|
cd1eab45d0 | ||
|
|
511e2f467a | ||
|
|
4941b494cc | ||
|
|
5e949dbc15 | ||
|
|
bdf14a2520 | ||
|
|
710e3f6948 | ||
|
|
6ec9e24f2f | ||
|
|
cb9af349cd | ||
|
|
c8687a961c | ||
|
|
8a910ad4c7 | ||
|
|
e8020c86df | ||
|
|
a50491d0b2 | ||
|
|
bdd91b053d | ||
|
|
4b23148e68 | ||
|
|
e167bbce20 | ||
|
|
3338bc3741 | ||
|
|
af368c93ce | ||
|
|
5ced4ef547 | ||
|
|
198dfb338c | ||
|
|
587ea68a99 | ||
|
|
7d2f2cacbf | ||
|
|
757bc7d7b9 | ||
|
|
500dc573e4 | ||
|
|
56a91b2d1b | ||
|
|
c437dab90f | ||
|
|
b7ba9437d8 | ||
|
|
76fa06ceab | ||
|
|
4487471ada | ||
|
|
55a0bc46e4 | ||
|
|
3e17445a4d | ||
|
|
fc077fa54e | ||
|
|
70950619b8 | ||
|
|
a01dc06a54 | ||
|
|
a3b54a942c | ||
|
|
c8127f651d | ||
|
|
4cc6bcbd7d | ||
|
|
8b682fbd2b | ||
|
|
48393db2c7 | ||
|
|
faa4473b17 | ||
|
|
9924dfe8af | ||
|
|
47f336bf33 | ||
|
|
07b75fb692 | ||
|
|
6c39e82519 | ||
|
|
f8178f2e54 | ||
|
|
75290d2454 | ||
|
|
b180ac8cab | ||
|
|
58c7c9ab76 | ||
|
|
b8e6cb221b | ||
|
|
ef2e711e15 | ||
|
|
2ade733867 | ||
|
|
1735154b81 | ||
|
|
a9b52f6752 | ||
|
|
7faec48c0a | ||
|
|
9e2ae684ed | ||
|
|
6984bb8113 | ||
|
|
c0a739c9fa | ||
|
|
2d254542f3 | ||
|
|
2fa79c670e | ||
|
|
4743e443dc | ||
|
|
43cc666e77 | ||
|
|
1215a6e5d8 | ||
|
|
499c2a47fc | ||
|
|
c390afd258 | ||
|
|
3b0e66a3d0 | ||
|
|
4cd6652825 | ||
|
|
80ade41905 | ||
|
|
83921a4bc8 | ||
|
|
acf876f4b2 | ||
|
|
7954661100 | ||
|
|
22a1509316 | ||
|
|
499eeee59a | ||
|
|
8cf76cf7c2 | ||
|
|
6441d99279 | ||
|
|
aef4a982dc | ||
|
|
f93c67740c | ||
|
|
4b8e0f36ab | ||
|
|
c247b96c4a | ||
|
|
085f4af1dc | ||
|
|
49a6c8ba9c | ||
|
|
df9b35e947 | ||
|
|
96b6e5972f | ||
|
|
b801ef594b | ||
|
|
ff0c068cb8 | ||
|
|
1b119eb8f5 | ||
|
|
6a8a123da8 | ||
|
|
6f2aafdd6c | ||
|
|
57fefba386 | ||
|
|
64a6ca7fc7 | ||
|
|
8b356605b4 | ||
|
|
131154ba80 | ||
|
|
fa55575973 | ||
|
|
0851609840 | ||
|
|
b1f1080111 | ||
|
|
6c3b1c56f8 | ||
|
|
210f3e301b | ||
|
|
c73bc32f8e | ||
|
|
62878a042c | ||
|
|
84c6d35634 | ||
|
|
0f94f1b416 | ||
|
|
0f43fbe6d4 | ||
|
|
10e28c5ba4 | ||
|
|
a3c25afb66 | ||
|
|
21831c9b24 | ||
|
|
d1f9b0eaf0 | ||
|
|
b0d5584d53 | ||
|
|
bbe4fe3763 | ||
|
|
87f9d28fea | ||
|
|
58ddd8c2bc | ||
|
|
264d3694c5 | ||
|
|
79d56af921 | ||
|
|
e668995673 | ||
|
|
8b2fe88824 | ||
|
|
80830584d1 | ||
|
|
ae21f79040 | ||
|
|
b7ab50759a | ||
|
|
91959d3e2e | ||
|
|
7184c45043 | ||
|
|
fc261502d1 | ||
|
|
f796be37ce | ||
|
|
fa3b49ca91 | ||
|
|
9e6f116bc9 | ||
|
|
b70a9842f5 | ||
|
|
064c145aa8 | ||
|
|
e197544903 | ||
|
|
ca1e66453e | ||
|
|
c795d4b2f1 | ||
|
|
cb28263cb1 | ||
|
|
d2768a4f6b | ||
|
|
c6af02353e | ||
|
|
425623d6d3 | ||
|
|
2a9c6c662f | ||
|
|
bd30c3babb | ||
|
|
aac43e8a1a | ||
|
|
b576b9e4f6 | ||
|
|
8199ef004d | ||
|
|
b26f38d37e | ||
|
|
87f25c49ad | ||
|
|
160eb8e074 | ||
|
|
39f0323a81 | ||
|
|
e9a8b042ab | ||
|
|
07e7628182 | ||
|
|
3d07d80648 | ||
|
|
887688f092 | ||
|
|
0184c3a314 | ||
|
|
b951338642 | ||
|
|
d514845e4a | ||
|
|
9bed4554eb | ||
|
|
a10d41642a | ||
|
|
c0b3789fda | ||
|
|
85d0c7575c | ||
|
|
d4de52974b | ||
|
|
96cca79b70 | ||
|
|
432650008c | ||
|
|
3f3eb643e4 | ||
|
|
6ba617d84f | ||
|
|
1c23ca3a76 | ||
|
|
17f657673f | ||
|
|
35d1546110 | ||
|
|
c4bebbf173 | ||
|
|
a67865b969 | ||
|
|
38a63ddcdb | ||
|
|
17dfd2e9ed | ||
|
|
49d8a6b91d | ||
|
|
953cb8d302 | ||
|
|
e1d3cf1b98 | ||
|
|
b1ee39cd28 | ||
|
|
3031e7c37f | ||
|
|
ab69b9c9b2 | ||
|
|
837f332ac9 | ||
|
|
59f189d264 | ||
|
|
8229979cec | ||
|
|
559106174e | ||
|
|
6e0b5e2be5 | ||
|
|
e16f8c8d07 | ||
|
|
c87482db9c | ||
|
|
7b729fc885 | ||
|
|
5977e61a02 | ||
|
|
372a591ac7 | ||
|
|
cddf3c3cdb | ||
|
|
20c4516c8e | ||
|
|
3ba976638f | ||
|
|
9b7bca6116 | ||
|
|
04c2d8437e | ||
|
|
bcaf9ba61d | ||
|
|
214ba8a34d | ||
|
|
434ac2182a | ||
|
|
1f5b22149c | ||
|
|
ef561949ca | ||
|
|
0ded8dcf25 | ||
|
|
841f061520 |
36
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
name: Build
|
||||||
|
run-name: Build Docker Image
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
# Build image and push to container registry
|
||||||
|
docker-build:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- uses: satackey/action-docker-layer-caching@v0.0.11
|
||||||
|
if: "!startsWith(github.ref, 'refs/tags/v')"
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
key: docker-linux-static-{hash}
|
||||||
|
restore-keys: |
|
||||||
|
docker-linux-static-
|
||||||
|
- name: install dependencies
|
||||||
|
run: sudo apt -y install xvfb libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxcb-shape0 libxkbcommon-x11-0
|
||||||
|
- name: prepare build environment
|
||||||
|
run: docker build --tag monero:build-env-linux --build-arg THREADS=3 --file Dockerfile.linux .
|
||||||
|
- name: build
|
||||||
|
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'make release-static -j3'
|
||||||
|
- name: sha256sum
|
||||||
|
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
|
||||||
|
- name: test qml
|
||||||
|
run: xvfb-run -a /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui --test-qml
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ${{ github.job }}
|
||||||
|
path: |
|
||||||
|
/home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
|
||||||
|
/home/runner/work/monero-gui/monero-gui/build/release/bin/monerod
|
||||||
107
.github/qt_helper.py
vendored
@@ -1,107 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
import defusedxml.ElementTree
|
|
||||||
import hashlib
|
|
||||||
import mmap
|
|
||||||
import pathlib
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
import urllib.parse
|
|
||||||
import urllib.request
|
|
||||||
import xml.etree.ElementTree as ET
|
|
||||||
|
|
||||||
MAX_TRIES = 32
|
|
||||||
|
|
||||||
def fetch_links_to_archives(os, target, major, minor, patch, toolchain):
|
|
||||||
MAX_XML_SIZE = 1024 * 1024 * 1024
|
|
||||||
MIRROR = 'download.qt.io'
|
|
||||||
base_url = f'https://{MIRROR}/online/qtsdkrepository/{os}/{target}/qt{major}_{major}{minor}{patch}'
|
|
||||||
url = f'{base_url}/Updates.xml'
|
|
||||||
for _ in range(MAX_TRIES):
|
|
||||||
try:
|
|
||||||
resp = urllib.request.urlopen(url).read(MAX_XML_SIZE)
|
|
||||||
update_xml = defusedxml.ElementTree.fromstring(resp)
|
|
||||||
break
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
raise
|
|
||||||
except BaseException as e:
|
|
||||||
print('error', e, flush=True)
|
|
||||||
else:
|
|
||||||
return
|
|
||||||
for pkg in update_xml.findall('./PackageUpdate'):
|
|
||||||
name = pkg.find('.//Name')
|
|
||||||
if name == None:
|
|
||||||
continue
|
|
||||||
if name.text != f'qt.qt{major}.{major}{minor}{patch}.{toolchain}':
|
|
||||||
continue
|
|
||||||
version = pkg.find('.//Version')
|
|
||||||
if version == None:
|
|
||||||
continue
|
|
||||||
archives = pkg.find('.//DownloadableArchives')
|
|
||||||
if archives == None or archives.text == None:
|
|
||||||
continue
|
|
||||||
for archive in archives.text.split(', '):
|
|
||||||
url = f'{base_url}/{name.text}/{version.text}{archive}'
|
|
||||||
file_name = pathlib.Path(urllib.parse.urlparse(url).path).name
|
|
||||||
yield {'name': file_name, 'url': url}
|
|
||||||
|
|
||||||
def download(links):
|
|
||||||
metalink = ET.Element('metalink', xmlns = "urn:ietf:params:xml:ns:metalink")
|
|
||||||
for link in links:
|
|
||||||
file = ET.SubElement(metalink, 'file', name = link['name'])
|
|
||||||
ET.SubElement(file, 'url').text = link['url']
|
|
||||||
data = ET.tostring(metalink, encoding='UTF-8', xml_declaration=True)
|
|
||||||
for _ in range(MAX_TRIES):
|
|
||||||
with subprocess.Popen([
|
|
||||||
'aria2c',
|
|
||||||
'--connect-timeout=8',
|
|
||||||
'--console-log-level=warn',
|
|
||||||
'--continue',
|
|
||||||
'--follow-metalink=mem',
|
|
||||||
'--max-concurrent-downloads=100',
|
|
||||||
'--max-connection-per-server=16',
|
|
||||||
'--max-file-not-found=100',
|
|
||||||
'--max-tries=100',
|
|
||||||
'--min-split-size=1MB',
|
|
||||||
'--retry-wait=1',
|
|
||||||
'--split=100',
|
|
||||||
'--summary-interval=0',
|
|
||||||
'--timeout=8',
|
|
||||||
'--user-agent=',
|
|
||||||
'--metalink-file=-',
|
|
||||||
], stdin=subprocess.PIPE) as aria:
|
|
||||||
aria.communicate(data)
|
|
||||||
if aria.wait() == 0:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def calc_hash_sum(files):
|
|
||||||
obj = hashlib.new('sha256')
|
|
||||||
for path in files:
|
|
||||||
with open(path, 'rb') as f:
|
|
||||||
with mmap.mmap(f.fileno(), 0, mmap.MAP_SHARED, mmap.PROT_READ) as m:
|
|
||||||
file_hash = hashlib.new('sha256', m).digest()
|
|
||||||
obj.update(file_hash)
|
|
||||||
return obj.digest().hex()
|
|
||||||
|
|
||||||
def extract_archives(files, out='.', targets=[]):
|
|
||||||
for path in files:
|
|
||||||
if subprocess.Popen(['7z', 'x', '-bd', '-y', '-aoa', f'-o{out}', path] + targets,
|
|
||||||
stdout=subprocess.DEVNULL,
|
|
||||||
).wait() != 0:
|
|
||||||
return False
|
|
||||||
return True
|
|
||||||
|
|
||||||
def main():
|
|
||||||
os, target, version, toolchain, expect = sys.argv[1:]
|
|
||||||
major, minor, patch = version.split('.')
|
|
||||||
links = [*fetch_links_to_archives(os, target, major, minor, patch, toolchain)]
|
|
||||||
print(*[l['url'].encode() for l in links], sep='\n', flush=True)
|
|
||||||
assert download(links)
|
|
||||||
result = calc_hash_sum([l['name'] for l in links])
|
|
||||||
print('result', result, 'expect', expect, flush=True)
|
|
||||||
assert result == expect
|
|
||||||
assert extract_archives([l['name'] for l in links], '.', ['{}.{}.{}'.format(major, minor, patch)])
|
|
||||||
[pathlib.Path(l['name']).unlink() for l in links]
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
||||||
179
.github/workflows/build.yml
vendored
@@ -1,179 +0,0 @@
|
|||||||
name: ci/gh-actions/gui
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-macos:
|
|
||||||
runs-on: macOS-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: install dependencies
|
|
||||||
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm libsodium miniupnpc ldns expat libunwind-headers protobuf qt5 pkg-config
|
|
||||||
- name: build
|
|
||||||
run: DEV_MODE=ON make release -j3
|
|
||||||
- name: test qml
|
|
||||||
run: build/release/bin/monero-wallet-gui.app/Contents/MacOS/monero-wallet-gui --test-qml
|
|
||||||
|
|
||||||
build-ubuntu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: remove bundled boost
|
|
||||||
run: sudo rm -rf /usr/local/share/boost
|
|
||||||
- name: set apt conf
|
|
||||||
run: |
|
|
||||||
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
|
||||||
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
|
||||||
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
|
||||||
- name: update apt
|
|
||||||
run: sudo apt update
|
|
||||||
- name: install monero dependencies
|
|
||||||
run: sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler
|
|
||||||
- name: install monero gui dependencies
|
|
||||||
run: sudo apt -y install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-xmllistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform qml-module-qt-labs-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2 libqt5svg5-dev libgcrypt20-dev xvfb
|
|
||||||
- name: build
|
|
||||||
run: DEV_MODE=ON make release -j3
|
|
||||||
- name: test qml
|
|
||||||
run: xvfb-run -a build/release/bin/monero-wallet-gui --test-qml
|
|
||||||
|
|
||||||
build-windows:
|
|
||||||
runs-on: windows-latest
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: msys2 {0}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- uses: eine/setup-msys2@v2
|
|
||||||
with:
|
|
||||||
update: true
|
|
||||||
install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-unbound git mingw-w64-x86_64-qt5 mingw-w64-x86_64-libgcrypt
|
|
||||||
- name: build
|
|
||||||
run: DEV_MODE=ON make release-win64 -j2
|
|
||||||
- name: deploy
|
|
||||||
run: make deploy
|
|
||||||
working-directory: build/release
|
|
||||||
- name: test qml
|
|
||||||
run: build/release/bin/monero-wallet-gui --test-qml
|
|
||||||
|
|
||||||
macos-bundle:
|
|
||||||
runs-on: macOS-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: install dependencies
|
|
||||||
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc ldns expat libunwind-headers protobuf pkg-config python3 p7zip aria2
|
|
||||||
- name: install dependencies
|
|
||||||
run: pip3 install defusedxml
|
|
||||||
- name: download qt
|
|
||||||
run: python3 monero-gui/.github/qt_helper.py mac_x64 desktop 5.15.2 clang_64 c384008156fe63cc183bade0316828c598ff3e5074397c0c9ccc588d6cdc5aca
|
|
||||||
working-directory: ../
|
|
||||||
- name: build
|
|
||||||
run: CMAKE_PREFIX_PATH=/Users/runner/work/monero-gui/5.15.2/clang_64 make release -j3
|
|
||||||
- name: deploy
|
|
||||||
run: make deploy
|
|
||||||
working-directory: build/release
|
|
||||||
- name: test qml
|
|
||||||
run: build/release/bin/monero-wallet-gui.app/Contents/MacOS/monero-wallet-gui --test-qml
|
|
||||||
- name: create .tar
|
|
||||||
run: tar -cf monero-wallet-gui.tar monero-wallet-gui.app
|
|
||||||
working-directory: build/release/bin
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ github.job }}
|
|
||||||
path: build/release/bin/monero-wallet-gui.tar
|
|
||||||
|
|
||||||
docker-linux-static:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- uses: satackey/action-docker-layer-caching@v0.0.11
|
|
||||||
if: "!startsWith(github.ref, 'refs/tags/v')"
|
|
||||||
continue-on-error: true
|
|
||||||
with:
|
|
||||||
key: docker-linux-static-{hash}
|
|
||||||
restore-keys: |
|
|
||||||
docker-linux-static-
|
|
||||||
- name: install dependencies
|
|
||||||
run: sudo apt -y install xvfb libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0
|
|
||||||
- name: prepare build environment
|
|
||||||
run: docker build --tag monero:build-env-linux --build-arg THREADS=3 --file Dockerfile.linux .
|
|
||||||
- name: build
|
|
||||||
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'make release-static -j3'
|
|
||||||
- name: sha256sum
|
|
||||||
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
|
|
||||||
- name: test qml
|
|
||||||
run: xvfb-run -a /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui --test-qml
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ github.job }}
|
|
||||||
path: |
|
|
||||||
/home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
|
|
||||||
/home/runner/work/monero-gui/monero-gui/build/release/bin/monerod
|
|
||||||
|
|
||||||
docker-windows-static:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- uses: satackey/action-docker-layer-caching@v0.0.11
|
|
||||||
if: "!startsWith(github.ref, 'refs/tags/v')"
|
|
||||||
continue-on-error: true
|
|
||||||
with:
|
|
||||||
key: docker-windows-static-{hash}
|
|
||||||
restore-keys: |
|
|
||||||
docker-windows-static-
|
|
||||||
- name: prepare build environment
|
|
||||||
run: docker build --tag monero:build-env-windows --build-arg THREADS=3 --file Dockerfile.windows .
|
|
||||||
- name: build
|
|
||||||
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui monero:build-env-windows sh -c 'make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j3'
|
|
||||||
- name: sha256sum
|
|
||||||
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monero-wallet-gui.exe
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ github.job }}
|
|
||||||
path: |
|
|
||||||
/home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monero-wallet-gui.exe
|
|
||||||
/home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monerod.exe
|
|
||||||
|
|
||||||
docker-android:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: prepare build environment
|
|
||||||
run: docker build --tag monero:build-env-android --build-arg THREADS=3 --file Dockerfile.android .
|
|
||||||
- name: build
|
|
||||||
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -e THREADS=3 monero:build-env-android
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ github.job }}
|
|
||||||
path: /home/runner/work/monero-gui/monero-gui/build/Android/release/android-build/monero-gui.apk
|
|
||||||
|
|
||||||
source-archive:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
- name: archive
|
|
||||||
run: |
|
|
||||||
pip install git-archive-all
|
|
||||||
export VERSION="monero-gui-$(git describe)"
|
|
||||||
export OUTPUT="$VERSION.tar"
|
|
||||||
echo "OUTPUT=$OUTPUT" >> $GITHUB_ENV
|
|
||||||
/home/runner/.local/bin/git-archive-all --prefix "$VERSION/" --force-submodules "$OUTPUT"
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: ${{ env.OUTPUT }}
|
|
||||||
path: /home/runner/work/monero-gui/monero-gui/${{ env.OUTPUT }}
|
|
||||||
@@ -3,9 +3,9 @@ project(monero-gui)
|
|||||||
|
|
||||||
message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
|
message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
|
||||||
|
|
||||||
set(VERSION_MAJOR "17")
|
set(VERSION_MAJOR "18")
|
||||||
set(VERSION_MINOR "3")
|
set(VERSION_MINOR "3")
|
||||||
set(VERSION_REVISION "2")
|
set(VERSION_REVISION "3")
|
||||||
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
||||||
|
|
||||||
option(STATIC "Link libraries statically, requires static Qt")
|
option(STATIC "Link libraries statically, requires static Qt")
|
||||||
@@ -13,6 +13,7 @@ option(STATIC "Link libraries statically, requires static Qt")
|
|||||||
option(USE_DEVICE_TREZOR "Trezor support compilation" ON)
|
option(USE_DEVICE_TREZOR "Trezor support compilation" ON)
|
||||||
option(WITH_SCANNER "Enable webcam QR scanner" OFF)
|
option(WITH_SCANNER "Enable webcam QR scanner" OFF)
|
||||||
option(WITH_DESKTOP_ENTRY "Ask to install desktop entry on first startup" ON)
|
option(WITH_DESKTOP_ENTRY "Ask to install desktop entry on first startup" ON)
|
||||||
|
option(WITH_UPDATER "Regularly check for new updates" ON)
|
||||||
option(DEV_MODE "Checkout latest monero master on build" OFF)
|
option(DEV_MODE "Checkout latest monero master on build" OFF)
|
||||||
|
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
|
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
@@ -87,6 +88,10 @@ if(WITH_DESKTOP_ENTRY)
|
|||||||
add_definitions(-DWITH_DESKTOP_ENTRY)
|
add_definitions(-DWITH_DESKTOP_ENTRY)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(WITH_UPDATER)
|
||||||
|
add_definitions(-DWITH_UPDATER)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Sodium
|
# Sodium
|
||||||
find_library(SODIUM_LIBRARY sodium)
|
find_library(SODIUM_LIBRARY sodium)
|
||||||
message(STATUS "libsodium: libraries at ${SODIUM_LIBRARY}")
|
message(STATUS "libsodium: libraries at ${SODIUM_LIBRARY}")
|
||||||
|
|||||||
30
DEPLOY.md
@@ -10,7 +10,7 @@ Use macOS 10.12 - 10.13 for better backwards compability.
|
|||||||
|
|
||||||
4. Compile `monero-wallet-gui.app`
|
4. Compile `monero-wallet-gui.app`
|
||||||
|
|
||||||
```
|
```bash
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=~/Qt5.12.8/5.12.8/clang_64 ..
|
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=~/Qt5.12.8/5.12.8/clang_64 ..
|
||||||
make
|
make
|
||||||
@@ -45,3 +45,31 @@ You can check if this step worked by using `codesign -dvvv monero-wallet-gui.app
|
|||||||
5. `xcrun altool --notarization-info aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee -u email@address.org`
|
5. `xcrun altool --notarization-info aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee -u email@address.org`
|
||||||
|
|
||||||
6. `xcrun stapler staple -v monero-gui-mac-x64-v0.X.Y.Z.dmg`
|
6. `xcrun stapler staple -v monero-gui-mac-x64-v0.X.Y.Z.dmg`
|
||||||
|
|
||||||
|
## Compile Qt for Apple Silicon
|
||||||
|
|
||||||
|
Qt does not offer pre-built binaries for Apple Silicon, they have to be manually compiled.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/qt/qt5.git
|
||||||
|
cd qt5
|
||||||
|
git checkout v5.15.9-lts-lgpl
|
||||||
|
./init-repository
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
../configure -prefix /path/to/qt-build-dir/ -opensource -confirm-license -release -nomake examples -nomake tests -no-rpath -skip qtwebengine -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtlocation -skip qtnetworkauth -skip qtpurchasing -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qttools -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip gamepad -skip serialbus -skip location -skip webengine
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
cd ../qttools/src/linguist/lrelease
|
||||||
|
../../../../build/qtbase/bin/qmake
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
cd ../../../../qttools/src/macdeployqt/macdeployqt/
|
||||||
|
../../../../build/qtbase/bin/qmake
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
```
|
||||||
|
|
||||||
|
For compilation with Xcode 15 the following patch has to be applied: https://raw.githubusercontent.com/Homebrew/formula-patches/086e8cf/qt5/qt5-qmake-xcode15.patch
|
||||||
|
|
||||||
|
The `CMAKE_PREFIX_PATH` has to be set to `/path/to/qt-build-dir/` during monero-gui compilation.
|
||||||
|
|||||||
@@ -1,48 +1,51 @@
|
|||||||
FROM debian:stretch
|
FROM debian:buster
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG ANDROID_NDK_REVISION=21d
|
ARG ANDROID_NDK_REVISION=21e
|
||||||
ARG ANDROID_NDK_HASH=bcf4023eb8cb6976a4c7cff0a8a8f145f162bf4d
|
ARG ANDROID_NDK_HASH=c3ebc83c96a4d7f539bd72c241b2be9dcd29bda9
|
||||||
ARG ANDROID_SDK_REVISION=4333796
|
ARG ANDROID_SDK_REVISION=7302050_latest
|
||||||
ARG ANDROID_SDK_HASH=92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
|
ARG ANDROID_SDK_HASH=7a00faadc0864f78edd8f4908a629a46d622375cbe2e5814e82934aebecdb622
|
||||||
ARG QT_VERSION=5.15.2
|
ARG QT_VERSION=v5.15.7-lts-lgpl
|
||||||
|
|
||||||
WORKDIR /opt/android
|
WORKDIR /opt/android
|
||||||
ENV WORKDIR=/opt/android
|
ENV WORKDIR=/opt/android
|
||||||
|
|
||||||
ENV ANDROID_NATIVE_API_LEVEL=28
|
ENV ANDROID_NATIVE_API_LEVEL=30
|
||||||
ENV ANDROID_API=android-${ANDROID_NATIVE_API_LEVEL}
|
ENV ANDROID_API=android-${ANDROID_NATIVE_API_LEVEL}
|
||||||
ENV ANDROID_CLANG=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang
|
ENV ANDROID_CLANG=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang
|
||||||
ENV ANDROID_CLANGPP=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang++
|
ENV ANDROID_CLANGPP=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang++
|
||||||
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
|
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
|
||||||
ENV ANDROID_SDK_ROOT=${WORKDIR}/tools
|
ENV ANDROID_SDK_ROOT=${WORKDIR}/cmdline-tools
|
||||||
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
|
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
||||||
ENV PATH=${JAVA_HOME}/bin:${PATH}
|
ENV PATH=${JAVA_HOME}/bin:${PATH}
|
||||||
ENV PREFIX=${WORKDIR}/prefix
|
ENV PREFIX=${WORKDIR}/prefix
|
||||||
ENV TOOLCHAIN_DIR=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
|
ENV TOOLCHAIN_DIR=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y ant automake build-essential ca-certificates-java file gettext git libc6 libncurses5 \
|
&& apt-get install -y ant automake build-essential ca-certificates-java file gettext git libc6 libncurses5 \
|
||||||
libssl-dev libstdc++6 libtinfo5 libtool libz1 openjdk-8-jdk-headless openjdk-8-jre-headless pkg-config python3 \
|
libssl-dev libstdc++6 libtinfo5 libtool libz1 openjdk-11-jdk-headless openjdk-11-jre-headless pkg-config python3 \
|
||||||
unzip wget
|
unzip wget
|
||||||
|
|
||||||
RUN wget -q https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
RUN PACKAGE_NAME=commandlinetools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||||
&& unzip -q sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
&& wget -q https://dl.google.com/android/repository/${PACKAGE_NAME} \
|
||||||
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
|
&& echo "${ANDROID_SDK_HASH} ${PACKAGE_NAME}" | sha256sum -c \
|
||||||
|
&& unzip -q ${PACKAGE_NAME} \
|
||||||
|
&& rm -f ${PACKAGE_NAME}
|
||||||
|
|
||||||
RUN wget -q https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
RUN PACKAGE_NAME=android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||||
&& unzip -q android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
&& wget -q https://dl.google.com/android/repository/${PACKAGE_NAME} \
|
||||||
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
|
&& echo "${ANDROID_NDK_HASH} ${PACKAGE_NAME}" | sha1sum -c \
|
||||||
|
&& unzip -q ${PACKAGE_NAME} \
|
||||||
|
&& rm -f ${PACKAGE_NAME}
|
||||||
|
|
||||||
RUN cd ${ANDROID_SDK_ROOT} && echo y | ./bin/sdkmanager "platform-tools" "platforms;${ANDROID_API}" "tools" > /dev/null
|
RUN echo y | ${ANDROID_SDK_ROOT}/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} "build-tools;28.0.3" "platforms;${ANDROID_API}" "tools" > /dev/null
|
||||||
RUN cp -r ${WORKDIR}/platforms ${WORKDIR}/platform-tools ${ANDROID_SDK_ROOT}
|
|
||||||
|
|
||||||
ENV HOST_PATH=${PATH}
|
ENV HOST_PATH=${PATH}
|
||||||
ENV PATH=${TOOLCHAIN_DIR}/aarch64-linux-android/bin:${TOOLCHAIN_DIR}/bin:${PATH}
|
ENV PATH=${TOOLCHAIN_DIR}/aarch64-linux-android/bin:${TOOLCHAIN_DIR}/bin:${PATH}
|
||||||
|
|
||||||
ARG ZLIB_VERSION=1.2.12
|
ARG ZLIB_VERSION=1.3.1
|
||||||
ARG ZLIB_HASH=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
|
ARG ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
|
||||||
RUN wget -q https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
RUN wget -q https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zlib-${ZLIB_VERSION}.tar.gz \
|
||||||
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
|
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
|
||||||
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
|
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
|
||||||
&& rm zlib-${ZLIB_VERSION}.tar.gz \
|
&& rm zlib-${ZLIB_VERSION}.tar.gz \
|
||||||
@@ -76,7 +79,6 @@ RUN git clone git://code.qt.io/qt/qt5.git -b ${QT_VERSION} --depth 1 \
|
|||||||
-skip qtpurchasing \
|
-skip qtpurchasing \
|
||||||
-skip qtgamepad -skip qtscript -skip qtdoc \
|
-skip qtgamepad -skip qtscript -skip qtdoc \
|
||||||
-no-warnings-are-errors \
|
-no-warnings-are-errors \
|
||||||
&& sed -i '213,215d' qtbase/src/3rdparty/pcre2/src/sljit/sljitConfigInternal.h \
|
|
||||||
&& PATH=${HOST_PATH} make -j${THREADS} \
|
&& PATH=${HOST_PATH} make -j${THREADS} \
|
||||||
&& PATH=${HOST_PATH} make -j${THREADS} install \
|
&& PATH=${HOST_PATH} make -j${THREADS} install \
|
||||||
&& cd qttools/src/linguist/lrelease \
|
&& cd qttools/src/linguist/lrelease \
|
||||||
@@ -99,7 +101,7 @@ RUN wget -q http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz
|
|||||||
ARG BOOST_VERSION=1_74_0
|
ARG BOOST_VERSION=1_74_0
|
||||||
ARG BOOST_VERSION_DOT=1.74.0
|
ARG BOOST_VERSION_DOT=1.74.0
|
||||||
ARG BOOST_HASH=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
|
ARG BOOST_HASH=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
|
||||||
RUN wget -q https://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 \
|
RUN wget -q https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||||
&& tar -xf boost_${BOOST_VERSION}.tar.bz2 \
|
&& tar -xf boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
@@ -115,15 +117,15 @@ RUN wget -q https://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSIO
|
|||||||
install -j${THREADS} \
|
install -j${THREADS} \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
ARG OPENSSL_VERSION=1.1.1g
|
ARG OPENSSL_VERSION=1.1.1u
|
||||||
ARG OPENSSL_HASH=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
|
ARG OPENSSL_HASH=e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6
|
||||||
RUN wget -q https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
RUN wget -q https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
|
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
&& cd openssl-${OPENSSL_VERSION} \
|
&& cd openssl-${OPENSSL_VERSION} \
|
||||||
&& ANDROID_NDK_HOME=${ANDROID_NDK_ROOT} ./Configure CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} \
|
&& ANDROID_NDK_HOME=${ANDROID_NDK_ROOT} ./Configure CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} \
|
||||||
android-arm64 no-asm no-shared --static \
|
android-arm64 no-shared --static \
|
||||||
--with-zlib-include=${PREFIX}/include --with-zlib-lib=${PREFIX}/lib \
|
--with-zlib-include=${PREFIX}/include --with-zlib-lib=${PREFIX}/lib \
|
||||||
--prefix=${PREFIX} --openssldir=${PREFIX} \
|
--prefix=${PREFIX} --openssldir=${PREFIX} \
|
||||||
&& sed -i 's/CNF_EX_LIBS=-ldl -pthread//g;s/BIN_CFLAGS=-pie $(CNF_CFLAGS) $(CFLAGS)//g' Makefile \
|
&& sed -i 's/CNF_EX_LIBS=-ldl -pthread//g;s/BIN_CFLAGS=-pie $(CNF_CFLAGS) $(CFLAGS)//g' Makefile \
|
||||||
@@ -143,8 +145,8 @@ RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-${
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
ARG UNBOUND_VERSION=1.13.2
|
ARG UNBOUND_VERSION=1.16.2
|
||||||
ARG UNBOUND_HASH=0a13b547f3b92a026b5ebd0423f54c991e5718037fd9f72445817f6a040e1a83
|
ARG UNBOUND_HASH=2e32f283820c24c51ca1dd8afecfdb747c7385a137abe865c99db4b257403581
|
||||||
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.tar.gz && \
|
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.tar.gz && \
|
||||||
echo "${UNBOUND_HASH} unbound-${UNBOUND_VERSION}.tar.gz" | sha256sum -c && \
|
echo "${UNBOUND_HASH} unbound-${UNBOUND_VERSION}.tar.gz" | sha256sum -c && \
|
||||||
tar -xzf unbound-${UNBOUND_VERSION}.tar.gz && \
|
tar -xzf unbound-${UNBOUND_VERSION}.tar.gz && \
|
||||||
@@ -155,8 +157,8 @@ RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.t
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
ARG ZMQ_VERSION=v4.3.3
|
ARG ZMQ_VERSION=v4.3.4
|
||||||
ARG ZMQ_HASH=04f5bbedee58c538934374dc45182d8fc5926fa3
|
ARG ZMQ_HASH=4097855ddaaa65ed7b5e8cb86d143842a594eebd
|
||||||
RUN git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} --depth 1 \
|
RUN git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} --depth 1 \
|
||||||
&& cd libzmq \
|
&& cd libzmq \
|
||||||
&& git checkout ${ZMQ_HASH} \
|
&& git checkout ${ZMQ_HASH} \
|
||||||
@@ -178,38 +180,42 @@ RUN set -ex \
|
|||||||
&& make -j${THREADS} install \
|
&& make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b libgpg-error-1.38 --depth 1 git://git.gnupg.org/libgpg-error.git \
|
RUN git clone -b libgpg-error-1.41 --depth 1 git://git.gnupg.org/libgpg-error.git \
|
||||||
&& cd libgpg-error \
|
&& cd libgpg-error \
|
||||||
&& git reset --hard 71d278824c5fe61865f7927a2ed1aa3115f9e439 \
|
&& git reset --hard 98032624ae89a67ee6fe3b1db5d95032e681d163 \
|
||||||
&& ./autogen.sh \
|
&& ./autogen.sh \
|
||||||
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --host=aarch64-linux-android --prefix=${PREFIX} --disable-rpath --disable-shared --enable-static --disable-doc --disable-tests \
|
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --host=aarch64-linux-android --prefix=${PREFIX} --disable-rpath --disable-shared --enable-static --disable-doc --disable-tests \
|
||||||
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} make -j${THREADS} \
|
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} make -j${THREADS} \
|
||||||
&& make -j${THREADS} install \
|
&& make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b libgcrypt-1.8.5 --depth 1 git://git.gnupg.org/libgcrypt.git \
|
RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git \
|
||||||
&& cd libgcrypt \
|
&& cd libgcrypt \
|
||||||
&& git reset --hard 56606331bc2a80536db9fc11ad53695126007298 \
|
&& git reset --hard ae0e567820c37f9640440b3cff77d7c185aa6742 \
|
||||||
&& ./autogen.sh \
|
&& ./autogen.sh \
|
||||||
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --host=aarch64-linux-android --prefix=${PREFIX} --with-gpg-error-prefix=${PREFIX} --disable-shared --enable-static --disable-doc --disable-tests \
|
&& CC=${ANDROID_CLANG} CXX=${ANDROID_CLANGPP} ./configure --host=aarch64-linux-android --prefix=${PREFIX} --with-gpg-error-prefix=${PREFIX} --disable-shared --enable-static --disable-doc --disable-tests \
|
||||||
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} make -j${THREADS} \
|
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} make -j${THREADS} \
|
||||||
&& make -j${THREADS} install \
|
&& make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
RUN cd tools \
|
RUN git clone -b v3.24.2 --depth 1 https://github.com/Kitware/CMake \
|
||||||
&& wget -q http://dl-ssl.google.com/android/repository/tools_r25.2.5-linux.zip \
|
|
||||||
&& unzip -q tools_r25.2.5-linux.zip \
|
|
||||||
&& rm -f tools_r25.2.5-linux.zip \
|
|
||||||
&& echo y | ${ANDROID_SDK_ROOT}/tools/android update sdk --no-ui --all --filter build-tools-28.0.3
|
|
||||||
|
|
||||||
RUN git clone -b v3.19.7 --depth 1 https://github.com/Kitware/CMake \
|
|
||||||
&& cd CMake \
|
&& cd CMake \
|
||||||
&& git reset --hard 22612dd53a46c7f9b4c3f4b7dbe5c78f9afd9581 \
|
&& git reset --hard 31f835410efeea50acd43512eb9e5646a26ea177 \
|
||||||
&& PATH=${HOST_PATH} ./bootstrap \
|
&& PATH=${HOST_PATH} ./bootstrap \
|
||||||
&& PATH=${HOST_PATH} make -j${THREADS} \
|
&& PATH=${HOST_PATH} make -j${THREADS} \
|
||||||
&& PATH=${HOST_PATH} make -j${THREADS} install \
|
&& PATH=${HOST_PATH} make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
|
RUN GRADLE_VERSION=5.6.4 \
|
||||||
|
&& GRADLE_HASH=1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d \
|
||||||
|
&& wget -q https\://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \
|
||||||
|
&& echo "${GRADLE_HASH} gradle-${GRADLE_VERSION}-bin.zip" | sha256sum -c \
|
||||||
|
&& GRADLE_LOCAL_PATH=gradle/wrapper/dists/gradle-${GRADLE_VERSION}-bin/bxirm19lnfz6nurbatndyydux \
|
||||||
|
&& mkdir -p ${GRADLE_LOCAL_PATH} \
|
||||||
|
&& mv gradle-${GRADLE_VERSION}-bin.zip ${GRADLE_LOCAL_PATH}
|
||||||
|
|
||||||
|
ENV GRADLE_USER_HOME=${WORKDIR}/gradle
|
||||||
|
|
||||||
CMD set -ex \
|
CMD set -ex \
|
||||||
&& cd /monero-gui \
|
&& cd /monero-gui \
|
||||||
&& mkdir -p build/Android/release \
|
&& mkdir -p build/Android/release \
|
||||||
@@ -226,7 +232,9 @@ CMD set -ex \
|
|||||||
-DBoost_USE_STATIC_RUNTIME=ON \
|
-DBoost_USE_STATIC_RUNTIME=ON \
|
||||||
-DLRELEASE_PATH="${PREFIX}/bin" \
|
-DLRELEASE_PATH="${PREFIX}/bin" \
|
||||||
-DQT_ANDROID_APPLICATION_BINARY="monero-wallet-gui" \
|
-DQT_ANDROID_APPLICATION_BINARY="monero-wallet-gui" \
|
||||||
|
-DANDROID_SDK="${ANDROID_SDK_ROOT}" \
|
||||||
-DWITH_SCANNER=ON \
|
-DWITH_SCANNER=ON \
|
||||||
|
-DWITH_DESKTOP_ENTRY=OFF \
|
||||||
../../.. \
|
../../.. \
|
||||||
&& PATH=${HOST_PATH} make generate_translations_header \
|
&& PATH=${HOST_PATH} make generate_translations_header \
|
||||||
&& make -j${THREADS} -C src \
|
&& make -j${THREADS} -C src \
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=v5.15.3-lts-lgpl
|
ARG QT_VERSION=v5.15.13-lts-lgpl
|
||||||
|
|
||||||
ENV CFLAGS="-fPIC"
|
ENV CFLAGS="-fPIC"
|
||||||
ENV CPPFLAGS="-fPIC"
|
ENV CPPFLAGS="-fPIC"
|
||||||
@@ -55,7 +55,7 @@ RUN git clone -b 0.4.0 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-
|
|||||||
git reset --hard acf790d7752f36e450d476ad79807d4012ec863b && \
|
git reset --hard acf790d7752f36e450d476ad79807d4012ec863b && \
|
||||||
git submodule init && \
|
git submodule init && \
|
||||||
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
||||||
git -C m4 reset --hard f662e3a93ebdec3d1c9374382dcc070093a42fed && \
|
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
|
||||||
./autogen.sh --enable-shared --disable-static && \
|
./autogen.sh --enable-shared --disable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -66,7 +66,7 @@ RUN git clone -b 0.4.0 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-
|
|||||||
git reset --hard d882052fb2ce439c6483fce944ba8f16f7294639 && \
|
git reset --hard d882052fb2ce439c6483fce944ba8f16f7294639 && \
|
||||||
git submodule init && \
|
git submodule init && \
|
||||||
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
||||||
git -C m4 reset --hard f662e3a93ebdec3d1c9374382dcc070093a42fed && \
|
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
|
||||||
./autogen.sh --enable-shared --disable-static && \
|
./autogen.sh --enable-shared --disable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -77,7 +77,7 @@ RUN git clone -b 0.4.0 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-
|
|||||||
git reset --hard 0e51ee5570a6a80bdf98770b975dfe8a57f4eeb1 && \
|
git reset --hard 0e51ee5570a6a80bdf98770b975dfe8a57f4eeb1 && \
|
||||||
git submodule init && \
|
git submodule init && \
|
||||||
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
||||||
git -C m4 reset --hard f662e3a93ebdec3d1c9374382dcc070093a42fed && \
|
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
|
||||||
./autogen.sh --enable-shared --disable-static && \
|
./autogen.sh --enable-shared --disable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -88,7 +88,7 @@ RUN git clone -b 0.3.9 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-
|
|||||||
git reset --hard 0317caf63de532fd7a0493ed6afa871a67253747 && \
|
git reset --hard 0317caf63de532fd7a0493ed6afa871a67253747 && \
|
||||||
git submodule init && \
|
git submodule init && \
|
||||||
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
||||||
git -C m4 reset --hard f662e3a93ebdec3d1c9374382dcc070093a42fed && \
|
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
|
||||||
./autogen.sh --enable-shared --disable-static && \
|
./autogen.sh --enable-shared --disable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -99,7 +99,7 @@ RUN git clone -b 0.4.1 --depth 1 https://gitlab.freedesktop.org/xorg/lib/libxcb-
|
|||||||
git reset --hard 24eb17df2e1245885e72c9d4bbb0a0f69f0700f2 && \
|
git reset --hard 24eb17df2e1245885e72c9d4bbb0a0f69f0700f2 && \
|
||||||
git submodule init && \
|
git submodule init && \
|
||||||
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
git clone --depth 1 https://gitlab.freedesktop.org/xorg/util/xcb-util-m4 m4 && \
|
||||||
git -C m4 reset --hard f662e3a93ebdec3d1c9374382dcc070093a42fed && \
|
git -C m4 reset --hard c617eee22ae5c285e79e81ec39ce96862fd3262f && \
|
||||||
./autogen.sh --enable-shared --disable-static && \
|
./autogen.sh --enable-shared --disable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -113,9 +113,9 @@ RUN git clone -b xkbcommon-0.5.0 --depth 1 https://github.com/xkbcommon/libxkbco
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b v1.2.11 --depth 1 https://github.com/madler/zlib && \
|
RUN git clone -b v1.3 --depth 1 https://github.com/madler/zlib && \
|
||||||
cd zlib && \
|
cd zlib && \
|
||||||
git reset --hard cacf7f1d4e3d44d871b605da3b647f07d718623f && \
|
git reset --hard 09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851 && \
|
||||||
./configure --static && \
|
./configure --static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -130,11 +130,12 @@ RUN git clone -b VER-2-10-2 --depth 1 https://git.savannah.gnu.org/git/freetype/
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b R_2_2_9 --depth 1 https://github.com/libexpat/libexpat && \
|
RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.bz2 && \
|
||||||
cd libexpat/expat && \
|
echo "a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16 expat-2.4.8.tar.bz2" | sha256sum -c && \
|
||||||
git reset --hard a7bc26b69768f7fb24f0c7976fae24b157b85b13 && \
|
tar -xf expat-2.4.8.tar.bz2 && \
|
||||||
./buildconf.sh && \
|
rm expat-2.4.8.tar.bz2 && \
|
||||||
./configure --disable-shared --enable-static && \
|
cd expat-2.4.8 && \
|
||||||
|
./configure --enable-static --disable-shared --prefix=/usr && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
@@ -155,40 +156,30 @@ RUN git clone -b release-64-2 --depth 1 https://github.com/unicode-org/icu && \
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN wget https://downloads.sourceforge.net/project/boost/boost/1.73.0/boost_1_73_0.tar.gz && \
|
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz && \
|
||||||
echo "9995e192e68528793755692917f9eb6422f3052a53c5e13ba278a228af6c7acf boost_1_73_0.tar.gz" | sha256sum -c && \
|
echo "4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847 boost_1_80_0.tar.gz" | sha256sum -c && \
|
||||||
tar -xzf boost_1_73_0.tar.gz && \
|
tar -xzf boost_1_80_0.tar.gz && \
|
||||||
rm boost_1_73_0.tar.gz && \
|
rm boost_1_80_0.tar.gz && \
|
||||||
cd boost_1_73_0 && \
|
cd boost_1_80_0 && \
|
||||||
./bootstrap.sh && \
|
./bootstrap.sh && \
|
||||||
./b2 --with-atomic --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-program_options --with-locale variant=release link=static runtime-link=static cflags="${CFLAGS}" cxxflags="${CXXFLAGS}" install -a --prefix=/usr && \
|
./b2 --with-atomic --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-program_options --with-locale variant=release link=static runtime-link=static cflags="${CFLAGS}" cxxflags="${CXXFLAGS}" install -a --prefix=/usr && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz && \
|
RUN wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz && \
|
||||||
echo "ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46 openssl-1.1.1g.tar.gz" | sha256sum -c && \
|
echo "e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6 openssl-1.1.1u.tar.gz" | sha256sum -c && \
|
||||||
tar -xzf openssl-1.1.1g.tar.gz && \
|
tar -xzf openssl-1.1.1u.tar.gz && \
|
||||||
rm openssl-1.1.1g.tar.gz && \
|
rm openssl-1.1.1u.tar.gz && \
|
||||||
cd openssl-1.1.1g && \
|
cd openssl-1.1.1u && \
|
||||||
./config no-asm no-shared no-zlib-dynamic --prefix=/usr --openssldir=/usr && \
|
./config no-shared no-zlib-dynamic --prefix=/usr --openssldir=/usr && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.bz2 && \
|
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-1.16.2.tar.gz && \
|
||||||
echo "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40 expat-2.4.1.tar.bz2" | sha256sum -c && \
|
echo "2e32f283820c24c51ca1dd8afecfdb747c7385a137abe865c99db4b257403581 unbound-1.16.2.tar.gz" | sha256sum -c && \
|
||||||
tar -xf expat-2.4.1.tar.bz2 && \
|
tar -xzf unbound-1.16.2.tar.gz && \
|
||||||
rm expat-2.4.1.tar.bz2 && \
|
rm unbound-1.16.2.tar.gz && \
|
||||||
cd expat-2.4.1 && \
|
cd unbound-1.16.2 && \
|
||||||
./configure --enable-static --disable-shared --prefix=/usr && \
|
|
||||||
make -j$THREADS && \
|
|
||||||
make -j$THREADS install && \
|
|
||||||
rm -rf $(pwd)
|
|
||||||
|
|
||||||
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-1.13.2.tar.gz && \
|
|
||||||
echo "0a13b547f3b92a026b5ebd0423f54c991e5718037fd9f72445817f6a040e1a83 unbound-1.13.2.tar.gz" | sha256sum -c && \
|
|
||||||
tar -xzf unbound-1.13.2.tar.gz && \
|
|
||||||
rm unbound-1.13.2.tar.gz && \
|
|
||||||
cd unbound-1.13.2 && \
|
|
||||||
./configure --disable-shared --enable-static --without-pyunbound --with-libexpat=/usr --with-ssl=/usr --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads --with-libunbound-only --with-pic && \
|
./configure --disable-shared --enable-static --without-pyunbound --with-libexpat=/usr --with-ssl=/usr --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads --with-libunbound-only --with-pic && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
@@ -234,62 +225,62 @@ RUN rm /usr/lib/x86_64-linux-gnu/libX11.a && \
|
|||||||
cd ../../../.. && \
|
cd ../../../.. && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b v1.0.23 --depth 1 https://github.com/libusb/libusb && \
|
RUN git clone -b v1.0.26 --depth 1 https://github.com/libusb/libusb && \
|
||||||
cd libusb && \
|
cd libusb && \
|
||||||
git reset --hard e782eeb2514266f6738e242cdcb18e3ae1ed06fa && \
|
git reset --hard 4239bc3a50014b8e6a5a2a59df1fff3b7469543b && \
|
||||||
./autogen.sh --disable-shared --enable-static && \
|
./autogen.sh --disable-shared --enable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b hidapi-0.11.0 --depth 1 https://github.com/libusb/hidapi && \
|
RUN git clone -b hidapi-0.13.1 --depth 1 https://github.com/libusb/hidapi && \
|
||||||
cd hidapi && \
|
cd hidapi && \
|
||||||
git reset --hard 0ec60c03cbe87cdbfb9fb199c7536fdcbc0a94b8 && \
|
git reset --hard 4ebce6b5059b086d05ca7e091ce04a5fd08ac3ac && \
|
||||||
./bootstrap && \
|
./bootstrap && \
|
||||||
./configure --disable-shared --enable-static && \
|
./configure --disable-shared --enable-static && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b v4.3.2 --depth 1 https://github.com/zeromq/libzmq && \
|
RUN git clone -b v4.3.4 --depth 1 https://github.com/zeromq/libzmq && \
|
||||||
cd libzmq && \
|
cd libzmq && \
|
||||||
git reset --hard a84ffa12b2eb3569ced199660bac5ad128bff1f0 && \
|
git reset --hard 4097855ddaaa65ed7b5e8cb86d143842a594eebd && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
./configure --disable-shared --enable-static --disable-libunwind --with-libsodium && \
|
./configure --disable-shared --enable-static --disable-libunwind --with-libsodium && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b libgpg-error-1.38 --depth 1 git://git.gnupg.org/libgpg-error.git && \
|
RUN git clone -b libgpg-error-1.45 --depth 1 git://git.gnupg.org/libgpg-error.git && \
|
||||||
cd libgpg-error && \
|
cd libgpg-error && \
|
||||||
git reset --hard 71d278824c5fe61865f7927a2ed1aa3115f9e439 && \
|
git reset --hard dbac537e5e865fb6f3aa8596d213aa8c47a9dea1 && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
./configure --disable-shared --enable-static --disable-doc --disable-tests && \
|
./configure --disable-shared --enable-static --disable-doc --disable-tests && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b libgcrypt-1.8.5 --depth 1 git://git.gnupg.org/libgcrypt.git && \
|
RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git && \
|
||||||
cd libgcrypt && \
|
cd libgcrypt && \
|
||||||
git reset --hard 56606331bc2a80536db9fc11ad53695126007298 && \
|
git reset --hard ae0e567820c37f9640440b3cff77d7c185aa6742 && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
./configure --disable-shared --enable-static --disable-doc && \
|
./configure --disable-shared --enable-static --disable-doc && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b v3.10.0 --depth 1 https://github.com/protocolbuffers/protobuf && \
|
RUN git clone -b v21.5 --depth 1 https://github.com/protocolbuffers/protobuf && \
|
||||||
cd protobuf && \
|
cd protobuf && \
|
||||||
git reset --hard 6d4e7fd7966c989e38024a8ea693db83758944f1 && \
|
git reset --hard ab840345966d0fa8e7100d771c92a73bfbadd25c && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
./configure --enable-static --disable-shared && \
|
./configure --enable-static --disable-shared && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b v3.18.4 --depth 1 https://github.com/Kitware/CMake && \
|
RUN git clone -b v3.24.0 --depth 1 https://github.com/Kitware/CMake && \
|
||||||
cd CMake && \
|
cd CMake && \
|
||||||
git reset --hard 3cc3d42aba879fff5e85b363ae8f21386a3f9f9b && \
|
git reset --hard 4be24f031a4829db75b85062cc67125035d8831e && \
|
||||||
./bootstrap && \
|
./bootstrap && \
|
||||||
make -j$THREADS && \
|
make -j$THREADS && \
|
||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM ubuntu:20.04
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=v5.15.3-lts-lgpl
|
ARG QT_VERSION=v5.15.13-lts-lgpl
|
||||||
ENV SOURCE_DATE_EPOCH=1397818193
|
ENV SOURCE_DATE_EPOCH=1397818193
|
||||||
|
|
||||||
RUN apt update && \
|
RUN apt update && \
|
||||||
@@ -12,9 +12,9 @@ RUN apt update && \
|
|||||||
RUN update-alternatives --set x86_64-w64-mingw32-g++ $(which x86_64-w64-mingw32-g++-posix) && \
|
RUN update-alternatives --set x86_64-w64-mingw32-g++ $(which x86_64-w64-mingw32-g++-posix) && \
|
||||||
update-alternatives --set x86_64-w64-mingw32-gcc $(which x86_64-w64-mingw32-gcc-posix)
|
update-alternatives --set x86_64-w64-mingw32-gcc $(which x86_64-w64-mingw32-gcc-posix)
|
||||||
|
|
||||||
RUN git clone -b v0.17.3.0 --depth 1 https://github.com/monero-project/monero && \
|
RUN git clone -b v0.18.2.0 --depth 1 https://github.com/monero-project/monero && \
|
||||||
cd monero && \
|
cd monero && \
|
||||||
git reset --hard ab18fea3500841fc312630d49ed6840b3aedb34d && \
|
git reset --hard 99be9a044f3854f339548e2d99c539c18d7b1b01 && \
|
||||||
cp -a contrib/depends / && \
|
cp -a contrib/depends / && \
|
||||||
cd .. && \
|
cd .. && \
|
||||||
rm -rf monero
|
rm -rf monero
|
||||||
|
|||||||
2
LICENSE
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2014-2018, The Monero Project
|
Copyright (c) 2014-2024, The Monero Project
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
@@ -120,7 +120,7 @@ Rectangle {
|
|||||||
width: 260
|
width: 260
|
||||||
height: 135
|
height: 135
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
source: MoneroComponents.Style.blackTheme ? "qrc:///images/card-background-black.png" : "qrc:///images/card-background-white.png"
|
source: MoneroComponents.Style.blackTheme ? "qrc:///images/card-background-black" + (currentAccountIndex % MoneroComponents.Style.accountColors.length) + ".png" : "qrc:///images/card-background-white.png"
|
||||||
}
|
}
|
||||||
|
|
||||||
DropShadow {
|
DropShadow {
|
||||||
|
|||||||
2
Makefile
@@ -61,7 +61,7 @@ debug-static-win64:
|
|||||||
|
|
||||||
debug-static-mac64:
|
debug-static-mac64:
|
||||||
mkdir -p $(builddir)/debug
|
mkdir -p $(builddir)/debug
|
||||||
cd $(builddir)/debug && cmake -D STATIC=ON -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE)
|
cd $(builddir)/debug && cmake -D STATIC=ON -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Debug -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-win64:
|
release-static-win64:
|
||||||
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=ON -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE)
|
mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=ON -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
33
README.md
@@ -1,6 +1,6 @@
|
|||||||
# Monero GUI
|
# Monero GUI
|
||||||
|
|
||||||
Copyright (c) 2014-2019, The Monero Project
|
Copyright (c) 2014-2024, The Monero Project
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
* [Development resources](#development-resources)
|
* [Development resources](#development-resources)
|
||||||
@@ -86,9 +86,8 @@ Status of the translations:
|
|||||||
## Installing the Monero GUI from a package
|
## Installing the Monero GUI from a package
|
||||||
|
|
||||||
Packages are available for
|
Packages are available for
|
||||||
* Arch Linux: [monero-gui](https://www.archlinux.org/packages/community/x86_64/monero-gui/)
|
* Arch Linux: [monero-gui](https://archlinux.org/packages/extra/x86_64/monero-gui/)
|
||||||
* Debian: See the [whonix/monero-gui repository](https://gitlab.com/whonix/monero-gui#how-to-install-monero-using-apt-get)
|
* NixOS: `nix-shell -p monero-gui`
|
||||||
* Void Linux: `xbps-install -S monero-gui`
|
|
||||||
* Flatpak: [Monero GUI](https://flathub.org/apps/details/org.getmonero.Monero)
|
* Flatpak: [Monero GUI](https://flathub.org/apps/details/org.getmonero.Monero)
|
||||||
* GuixSD: `guix package -i monero-gui`
|
* GuixSD: `guix package -i monero-gui`
|
||||||
* macOS (homebrew): `brew install --cask monero-wallet`
|
* macOS (homebrew): `brew install --cask monero-wallet`
|
||||||
@@ -108,7 +107,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
||||||
```
|
```
|
||||||
\* `master` - replace with the desired version tag (e.g. `v0.17.1.9`) to build the release binaries.
|
\* `master` - replace with the desired version tag (e.g. `v0.18.3.3`) to build the release binaries.
|
||||||
3. Prepare build environment
|
3. Prepare build environment
|
||||||
```
|
```
|
||||||
cd monero-gui
|
cd monero-gui
|
||||||
@@ -131,7 +130,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
||||||
```
|
```
|
||||||
\* `master` - replace with the desired version tag (e.g. `v0.17.1.9`) to build the release binaries.
|
\* `master` - replace with the desired version tag (e.g. `v0.18.3.3`) to build the release binaries.
|
||||||
3. Prepare build environment
|
3. Prepare build environment
|
||||||
```
|
```
|
||||||
cd monero-gui
|
cd monero-gui
|
||||||
@@ -213,7 +212,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
|
|
||||||
- For Gentoo
|
- For Gentoo
|
||||||
|
|
||||||
`sudo emerge app-arch/xz-utils app-doc/doxygen dev-cpp/gtest dev-libs/boost dev-libs/expat dev-libs/openssl dev-util/cmake media-gfx/graphviz net-dns/unbound net-libs/ldns net-libs/miniupnpc net-libs/zeromq sys-libs/libunwind dev-libs/libsodium dev-libs/hidapi dev-libs/libgcrypt`
|
`sudo emerge app-arch/xz-utils app-doc/doxygen dev-cpp/gtest dev-libs/boost dev-libs/expat dev-libs/openssl dev-util/cmake media-gfx/graphviz net-dns/unbound net-libs/miniupnpc net-libs/zeromq sys-libs/libunwind dev-libs/libsodium dev-libs/hidapi dev-libs/libgcrypt`
|
||||||
|
|
||||||
- For Fedora
|
- For Fedora
|
||||||
|
|
||||||
@@ -221,15 +220,15 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
|
|
||||||
2. Install Qt:
|
2. Install Qt:
|
||||||
|
|
||||||
*Note*: The Qt 5.9.7 or newer requirement makes **some** distributions (mostly based on debian, like Ubuntu 16.x or Linux Mint 18.x) obsolete due to their repositories containing an older Qt version.
|
*Note*: The Qt 5.9.7 or newer requirement makes **some** distributions (mostly based on Debian, like Ubuntu 16.x or Linux Mint 18.x) obsolete due to their repositories containing an older Qt version.
|
||||||
|
|
||||||
The recommended way is to install 5.9.7 from the [official Qt installer](https://www.qt.io/download-qt-installer) or [compiling it yourself](https://wiki.qt.io/Install_Qt_5_on_Ubuntu). This ensures you have the correct version. Higher versions *can* work but as it differs from our production build target, slight differences may occur.
|
The recommended way is to install 5.9.7 from the [official Qt installer](https://www.qt.io/download-qt-installer) or [compiling it yourself](https://wiki.qt.io/Install_Qt_5_on_Ubuntu). This ensures you have the correct version. Higher versions *can* work but as it differs from our production build target, slight differences may occur.
|
||||||
|
|
||||||
The following instructions will fetch Qt from your distribution's repositories instead. Take note of what version it installs. Your mileage may vary.
|
The following instructions will fetch Qt from your distribution's repositories instead. Take note of what version it installs. Your mileage may vary.
|
||||||
|
|
||||||
- For Ubuntu 17.10+
|
- For Debian distributions (Debian, Ubuntu, Mint, Tails...)
|
||||||
|
|
||||||
`sudo apt install qtbase5-dev qt5-default qtdeclarative5-dev qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-xmllistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform qml-module-qt-labs-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2 libqt5svg5-dev`
|
`sudo apt install qtbase5-dev qtdeclarative5-dev qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-xmllistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform qml-module-qt-labs-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2 libqt5svg5-dev`
|
||||||
|
|
||||||
- For Gentoo
|
- For Gentoo
|
||||||
|
|
||||||
@@ -240,7 +239,7 @@ The following instructions will fetch Qt from your distribution's repositories i
|
|||||||
|
|
||||||
- Optional : To build the flag `WITH_SCANNER`
|
- Optional : To build the flag `WITH_SCANNER`
|
||||||
|
|
||||||
- For Ubuntu
|
- For Debian distributions (Debian, Ubuntu, Mint, Tails...)
|
||||||
|
|
||||||
`sudo apt install qtmultimedia5-dev qml-module-qtmultimedia`
|
`sudo apt install qtmultimedia5-dev qml-module-qtmultimedia`
|
||||||
|
|
||||||
@@ -258,18 +257,10 @@ The following instructions will fetch Qt from your distribution's repositories i
|
|||||||
|
|
||||||
4. Build
|
4. Build
|
||||||
|
|
||||||
If on x86-64:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
make release -j4
|
make release -j4
|
||||||
```
|
```
|
||||||
|
|
||||||
If on ppc64le:
|
|
||||||
|
|
||||||
```
|
|
||||||
make release-linux-ppc64le -j4
|
|
||||||
```
|
|
||||||
|
|
||||||
\* `4` - number of CPU threads to use
|
\* `4` - number of CPU threads to use
|
||||||
\* Add `CMAKE_PREFIX_PATH` environment variable to set a custom Qt install directory, e.g. `CMAKE_PREFIX_PATH=$HOME/Qt/5.9.7/gcc_64 make release -j4`
|
\* Add `CMAKE_PREFIX_PATH` environment variable to set a custom Qt install directory, e.g. `CMAKE_PREFIX_PATH=$HOME/Qt/5.9.7/gcc_64 make release -j4`
|
||||||
|
|
||||||
@@ -283,7 +274,7 @@ The executable can be found in the build/release/bin folder.
|
|||||||
|
|
||||||
3. Install [monero](https://github.com/monero-project/monero) dependencies:
|
3. Install [monero](https://github.com/monero-project/monero) dependencies:
|
||||||
|
|
||||||
`brew install cmake pkg-config openssl boost unbound hidapi zmq libpgm libsodium miniupnpc ldns expat libunwind-headers protobuf libgcrypt`
|
`brew install cmake pkg-config openssl boost unbound hidapi zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf libgcrypt`
|
||||||
|
|
||||||
4. Install Qt:
|
4. Install Qt:
|
||||||
|
|
||||||
@@ -319,7 +310,7 @@ The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not off
|
|||||||
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
|
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
|
||||||
|
|
||||||
```
|
```
|
||||||
pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-libgcrypt
|
pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-libgcrypt mingw-w64-x86_64-unbound mingw-w64-x86_64-pcre
|
||||||
```
|
```
|
||||||
|
|
||||||
You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package.
|
You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2019, The Monero Project
|
# Copyright (c) 2014-2024, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2019, The Monero Project
|
# Copyright (c) 2014-2024, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -17,7 +17,33 @@ if(APPLE OR (WIN32 AND NOT STATIC))
|
|||||||
add_custom_command(TARGET deploy
|
add_custom_command(TARGET deploy
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${_qt_svg_dylib} $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/
|
COMMAND ${CMAKE_COMMAND} -E copy ${_qt_svg_dylib} $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/
|
||||||
COMMENT "Copying libqsvg.dylib"
|
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtGui.framework/Versions/5/QtGui" "@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
|
||||||
|
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtWidgets.framework/Versions/5/QtWidgets" "@executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
|
||||||
|
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtSvg.framework/Versions/5/QtSvg" "@executable_path/../Frameworks/QtSvg.framework/Versions/5/QtSvg" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
|
||||||
|
COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "${CMAKE_PREFIX_PATH}/lib/QtCore.framework/Versions/5/QtCore" "@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore" $<TARGET_FILE_DIR:monero-wallet-gui>/../PlugIns/imageformats/libqsvg.dylib
|
||||||
|
COMMENT "Copying libqsvg.dylib, running install_name_tool"
|
||||||
|
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# libbost_filesyste-mt.dylib has a dependency on libboost_atomic-mt.dylib, maydeployqt does not copy it by itself
|
||||||
|
find_package(Boost COMPONENTS atomic)
|
||||||
|
get_target_property(BOOST_ATOMIC_LIB_PATH Boost::atomic LOCATION)
|
||||||
|
if(EXISTS ${BOOST_ATOMIC_LIB_PATH})
|
||||||
|
add_custom_command(TARGET deploy
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${BOOST_ATOMIC_LIB_PATH}" "$<TARGET_FILE_DIR:monero-wallet-gui>/../Frameworks/"
|
||||||
|
COMMENT "Copying libboost_atomic-mt.dylib"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Apple Silicon requires all binaries to be codesigned
|
||||||
|
find_program(CODESIGN_EXECUTABLE NAMES codesign)
|
||||||
|
if(CODESIGN_EXECUTABLE)
|
||||||
|
add_custom_command(TARGET deploy
|
||||||
|
POST_BUILD
|
||||||
|
COMMAND "${CODESIGN_EXECUTABLE}" --force --deep --sign - "$<TARGET_FILE_DIR:monero-wallet-gui>/../.."
|
||||||
|
COMMENT "Running codesign..."
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -42,7 +68,7 @@ if(APPLE OR (WIN32 AND NOT STATIC))
|
|||||||
zlib1.dll
|
zlib1.dll
|
||||||
libzstd.dll
|
libzstd.dll
|
||||||
libwinpthread-1.dll
|
libwinpthread-1.dll
|
||||||
libtiff-5.dll
|
libtiff-6.dll
|
||||||
libstdc++-6.dll
|
libstdc++-6.dll
|
||||||
libpng16-16.dll
|
libpng16-16.dll
|
||||||
libpcre16-0.dll
|
libpcre16-0.dll
|
||||||
@@ -58,37 +84,25 @@ if(APPLE OR (WIN32 AND NOT STATIC))
|
|||||||
libglib-2.0-0.dll
|
libglib-2.0-0.dll
|
||||||
libfreetype-6.dll
|
libfreetype-6.dll
|
||||||
libbz2-1.dll
|
libbz2-1.dll
|
||||||
libssp-0.dll
|
|
||||||
libpcre2-16-0.dll
|
libpcre2-16-0.dll
|
||||||
libhidapi-0.dll
|
libhidapi-0.dll
|
||||||
libdouble-conversion.dll
|
libdouble-conversion.dll
|
||||||
libgcrypt-20.dll
|
libgcrypt-20.dll
|
||||||
libgpg-error-0.dll
|
libgpg-error-0.dll
|
||||||
libsodium-23.dll
|
libsodium-26.dll
|
||||||
libzmq.dll
|
libzmq.dll
|
||||||
#platform files
|
#platform files
|
||||||
libgcc_s_seh-1.dll
|
libgcc_s_seh-1.dll
|
||||||
#openssl files
|
#openssl files
|
||||||
libssl-1_1-x64.dll
|
libssl-3-x64.dll
|
||||||
libcrypto-1_1-x64.dll
|
libcrypto-3-x64.dll
|
||||||
|
#icu
|
||||||
|
libicudt74.dll
|
||||||
|
libicuin74.dll
|
||||||
|
libicuio74.dll
|
||||||
|
libicutu74.dll
|
||||||
|
libicuuc74.dll
|
||||||
)
|
)
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
||||||
list(APPEND WIN_DEPLOY_DLLS
|
|
||||||
libicudtd69.dll
|
|
||||||
libicuind69.dll
|
|
||||||
libicuiod69.dll
|
|
||||||
libicutud69.dll
|
|
||||||
libicuucd69.dll
|
|
||||||
)
|
|
||||||
else() # assume release
|
|
||||||
list(APPEND WIN_DEPLOY_DLLS
|
|
||||||
libicudt69.dll
|
|
||||||
libicuin69.dll
|
|
||||||
libicuio69.dll
|
|
||||||
libicutu69.dll
|
|
||||||
libicuuc69.dll
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
list(TRANSFORM WIN_DEPLOY_DLLS PREPEND "$ENV{MSYSTEM_PREFIX}/bin/")
|
list(TRANSFORM WIN_DEPLOY_DLLS PREPEND "$ENV{MSYSTEM_PREFIX}/bin/")
|
||||||
add_custom_command(TARGET deploy
|
add_custom_command(TARGET deploy
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2019, The Monero Project
|
# Copyright (c) 2014-2024, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2015, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
@@ -32,6 +32,7 @@ import QtQuick.Dialogs 1.2
|
|||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts 1.1
|
||||||
import QtQuick.Controls.Styles 1.4
|
import QtQuick.Controls.Styles 1.4
|
||||||
import QtQuick.Window 2.0
|
import QtQuick.Window 2.0
|
||||||
|
import moneroComponents.Wallet 1.0
|
||||||
|
|
||||||
import "../components" as MoneroComponents
|
import "../components" as MoneroComponents
|
||||||
|
|
||||||
@@ -79,6 +80,10 @@ Window {
|
|||||||
running: false;
|
running: false;
|
||||||
repeat: true
|
repeat: true
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
|
if (currentWallet.connected() == Wallet.ConnectionStatus_Connected) {
|
||||||
|
running = false;
|
||||||
|
root.close();
|
||||||
|
}
|
||||||
countDown--;
|
countDown--;
|
||||||
if(countDown < 0){
|
if(countDown < 0){
|
||||||
running = false;
|
running = false;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2020, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2021, The Monero Project
|
// Copyright (c) 2021-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
@@ -66,7 +66,7 @@ Item {
|
|||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: buttonArea.containsMouse ? MoneroComponents.Style.buttonInlineBackgroundColorHover : MoneroComponents.Style.buttonInlineBackgroundColor
|
color: buttonArea.containsMouse ? MoneroComponents.Style.buttonInlineBackgroundColorHover : MoneroComponents.Style.buttonInlineBackgroundColor
|
||||||
radius: 4
|
radius: 4
|
||||||
|
border.width: parent.focus && parent.enabled ? 1 : 0
|
||||||
|
|
||||||
MoneroComponents.TextPlain {
|
MoneroComponents.TextPlain {
|
||||||
id: inlineText
|
id: inlineText
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2015, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2015, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2015, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2020, The Monero Project
|
// Copyright (c) 2020-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2020, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
@@ -40,6 +40,8 @@ ColumnLayout {
|
|||||||
default property alias content: inlineButtons.children
|
default property alias content: inlineButtons.children
|
||||||
|
|
||||||
property alias input: input
|
property alias input: input
|
||||||
|
property bool inputHasFocus: input.activeFocus
|
||||||
|
property bool tabNavigationEnabled: true
|
||||||
property alias text: input.text
|
property alias text: input.text
|
||||||
|
|
||||||
property int inputPaddingLeft: 10
|
property int inputPaddingLeft: 10
|
||||||
@@ -109,6 +111,8 @@ ColumnLayout {
|
|||||||
signal editingFinished();
|
signal editingFinished();
|
||||||
signal accepted();
|
signal accepted();
|
||||||
signal textUpdated();
|
signal textUpdated();
|
||||||
|
signal backtabPressed();
|
||||||
|
signal tabPressed();
|
||||||
|
|
||||||
onActiveFocusChanged: activeFocus && input.forceActiveFocus()
|
onActiveFocusChanged: activeFocus && input.forceActiveFocus()
|
||||||
onTextUpdated: {
|
onTextUpdated: {
|
||||||
@@ -212,8 +216,18 @@ ColumnLayout {
|
|||||||
|
|
||||||
MoneroComponents.Input {
|
MoneroComponents.Input {
|
||||||
id: input
|
id: input
|
||||||
KeyNavigation.backtab: item.KeyNavigation.backtab
|
Keys.onBacktabPressed: {
|
||||||
KeyNavigation.tab: item.KeyNavigation.tab
|
item.backtabPressed();
|
||||||
|
if (item.KeyNavigation.backtab) {
|
||||||
|
item.KeyNavigation.backtab.forceActiveFocus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Keys.onTabPressed: {
|
||||||
|
item.tabPressed();
|
||||||
|
if (item.KeyNavigation.tab) {
|
||||||
|
item.KeyNavigation.tab.forceActiveFocus()
|
||||||
|
}
|
||||||
|
}
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.preferredHeight: inputHeight
|
Layout.preferredHeight: inputHeight
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
@@ -92,7 +92,7 @@ Rectangle {
|
|||||||
anchors.leftMargin: 20
|
anchors.leftMargin: 20
|
||||||
height: parent.height
|
height: parent.height
|
||||||
width: 2
|
width: 2
|
||||||
color: button.checked ? MoneroComponents.Style.buttonBackgroundColor : "transparent"
|
color: button.checked ? MoneroComponents.Style.accountColors[currentAccountIndex % MoneroComponents.Style.accountColors.length] : "transparent"
|
||||||
|
|
||||||
// button text
|
// button text
|
||||||
MoneroComponents.TextPlain {
|
MoneroComponents.TextPlain {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2021, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2021, The Monero Project
|
// Copyright (c) 2021-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
@@ -201,6 +201,7 @@ Rectangle {
|
|||||||
daemonManager.sendCommandAsync(
|
daemonManager.sendCommandAsync(
|
||||||
["set_bootstrap_daemon", "auto"],
|
["set_bootstrap_daemon", "auto"],
|
||||||
appWindow.currentWallet.nettype,
|
appWindow.currentWallet.nettype,
|
||||||
|
persistentSettings.blockchainDataDir,
|
||||||
callback);
|
callback);
|
||||||
|
|
||||||
refreshMouseArea.visible = false;
|
refreshMouseArea.visible = false;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2020, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2021, The Monero Project
|
// Copyright (c) 2021-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2021, The Monero Project
|
// Copyright (c) 2021-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ QtObject {
|
|||||||
property string leftPanelBackgroundGradientStart: blackTheme ? _b_leftPanelBackgroundGradientStart : _w_leftPanelBackgroundGradientStart
|
property string leftPanelBackgroundGradientStart: blackTheme ? _b_leftPanelBackgroundGradientStart : _w_leftPanelBackgroundGradientStart
|
||||||
property string leftPanelBackgroundGradientStop: blackTheme ? _b_leftPanelBackgroundGradientStop : _w_leftPanelBackgroundGradientStop
|
property string leftPanelBackgroundGradientStop: blackTheme ? _b_leftPanelBackgroundGradientStop : _w_leftPanelBackgroundGradientStop
|
||||||
property string historyHeaderTextColor: blackTheme ? _b_historyHeaderTextColor : _w_historyHeaderTextColor
|
property string historyHeaderTextColor: blackTheme ? _b_historyHeaderTextColor : _w_historyHeaderTextColor
|
||||||
|
property var accountColors: blackTheme ? _b_accountColors : _w_accountColors
|
||||||
|
|
||||||
property string _b_defaultFontColor: "white"
|
property string _b_defaultFontColor: "white"
|
||||||
property string _b_dimmedFontColor: "#BBBBBB"
|
property string _b_dimmedFontColor: "#BBBBBB"
|
||||||
@@ -142,6 +143,7 @@ QtObject {
|
|||||||
property string _b_leftPanelBackgroundGradientStart: "#222222"
|
property string _b_leftPanelBackgroundGradientStart: "#222222"
|
||||||
property string _b_leftPanelBackgroundGradientStop: "#1a1a1a"
|
property string _b_leftPanelBackgroundGradientStop: "#1a1a1a"
|
||||||
property string _b_historyHeaderTextColor: "#C0C0C0"
|
property string _b_historyHeaderTextColor: "#C0C0C0"
|
||||||
|
property var _b_accountColors: ["#6E513C", "#842129", "#458421", "#742184", "#291DBE", "#846F21", "#217F84", "#696969"]
|
||||||
|
|
||||||
property string _w_defaultFontColor: "black"
|
property string _w_defaultFontColor: "black"
|
||||||
property string _w_dimmedFontColor: "#3f3f3f"
|
property string _w_dimmedFontColor: "#3f3f3f"
|
||||||
@@ -203,4 +205,5 @@ QtObject {
|
|||||||
property string _w_leftPanelBackgroundGradientStart: "white"
|
property string _w_leftPanelBackgroundGradientStart: "white"
|
||||||
property string _w_leftPanelBackgroundGradientStop: "#f5f5f5"
|
property string _w_leftPanelBackgroundGradientStop: "#f5f5f5"
|
||||||
property string _w_historyHeaderTextColor: "#515151"
|
property string _w_historyHeaderTextColor: "#515151"
|
||||||
|
property var _w_accountColors: ["#6E513C", "#6E513C", "#842129", "#458421", "#742184", "#291DBE", "#846F21", "#217F84", "#696969"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2020, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -21,6 +21,14 @@ Text {
|
|||||||
font.pixelSize: 14
|
font.pixelSize: 14
|
||||||
textFormat: Text.PlainText
|
textFormat: Text.PlainText
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: root.contentWidth
|
||||||
|
height: root.height
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
color: root.focus ? MoneroComponents.Style.titleBarButtonHoverColor : "transparent"
|
||||||
|
}
|
||||||
|
|
||||||
MoneroEffects.ColorTransition {
|
MoneroEffects.ColorTransition {
|
||||||
enabled: root.themeTransition
|
enabled: root.themeTransition
|
||||||
themeTransition: root.themeTransition
|
themeTransition: root.themeTransition
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2018, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2021, The Monero Project
|
// Copyright (c) 2021-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2020, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2020, The Monero Project
|
// Copyright (c) 2020-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2014-2019, The Monero Project
|
// Copyright (c) 2014-2024, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Object {
|
|||||||
property string key : "\uf084"
|
property string key : "\uf084"
|
||||||
property string language : "\uf1ab"
|
property string language : "\uf1ab"
|
||||||
property string lock : "\uf023"
|
property string lock : "\uf023"
|
||||||
|
property string magnifyingGlass : "\uf002"
|
||||||
property string minus : "\uf068"
|
property string minus : "\uf068"
|
||||||
property string minusCircle : "\uf056"
|
property string minusCircle : "\uf056"
|
||||||
property string moonO : "\uf186"
|
property string moonO : "\uf186"
|
||||||
|
|||||||
BIN
images/appicon.icns
Executable file → Normal file
0
images/card-background-black.png → images/card-background-black0.png
Executable file → Normal file
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
0
images/card-background-black@2x.png → images/card-background-black0@2x.png
Executable file → Normal file
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
images/card-background-black1.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/card-background-black1@2x.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
images/card-background-black2.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/card-background-black2@2x.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
images/card-background-black3.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/card-background-black3@2x.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
images/card-background-black4.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/card-background-black4@2x.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
images/card-background-black5.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/card-background-black5@2x.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
images/card-background-black6.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/card-background-black6@2x.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
images/card-background-black7.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
images/card-background-black7@2x.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
images/ledgerNanoSPlus.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
images/ledgerStax.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
images/trezor3.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 301 KiB After Width: | Height: | Size: 301 KiB |
BIN
images/verify-white.png
Normal file
|
After Width: | Height: | Size: 956 B |
BIN
images/verify-white@2x.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
images/verify.png
Normal file
|
After Width: | Height: | Size: 854 B |
BIN
images/verify@2x.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
images/write-down-white.png
Normal file
|
After Width: | Height: | Size: 779 B |
BIN
images/write-down-white@2x.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
images/write-down.png
Normal file
|
After Width: | Height: | Size: 728 B |
BIN
images/write-down@2x.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2014-2020, The Monero Project
|
Copyright (c) 2014-2024, The Monero Project
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
; Monero Oxygen Orion GUI Wallet Installer for Windows
|
; Monero Fluorine Fermi GUI Wallet Installer for Windows
|
||||||
; Copyright (c) 2017-2020, The Monero Project
|
; Copyright (c) 2017-2024, The Monero Project
|
||||||
; See LICENSE
|
; See LICENSE
|
||||||
#define GuiVersion GetFileVersion("bin\monero-wallet-gui.exe")
|
#define GuiVersion GetFileVersion("bin\monero-wallet-gui.exe")
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ DefaultGroupName=Monero GUI Wallet
|
|||||||
UninstallDisplayIcon={app}\monero-wallet-gui.exe
|
UninstallDisplayIcon={app}\monero-wallet-gui.exe
|
||||||
PrivilegesRequired=admin
|
PrivilegesRequired=admin
|
||||||
ArchitecturesInstallIn64BitMode=x64
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
ArchitecturesAllowed=x64
|
ArchitecturesAllowed=x64 arm64
|
||||||
WizardSmallImageFile=WizardSmallImage.bmp
|
WizardSmallImageFile=WizardSmallImage.bmp
|
||||||
WizardImageFile=WelcomeImage.bmp
|
WizardImageFile=WelcomeImage.bmp
|
||||||
DisableWelcomePage=no
|
DisableWelcomePage=no
|
||||||
@@ -54,6 +54,9 @@ Name: "en"; MessagesFile: "compiler:Default.isl"
|
|||||||
; Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"
|
; Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"
|
||||||
; Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl"
|
; Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl"
|
||||||
|
|
||||||
|
[Dirs]
|
||||||
|
Name: "{app}";
|
||||||
|
Name: "{app}\p2pool"; Permissions: users-full
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
; The use of the flag "ignoreversion" for the following entries leads to the following behaviour:
|
; The use of the flag "ignoreversion" for the following entries leads to the following behaviour:
|
||||||
@@ -135,6 +138,7 @@ Type: filesandordirs; Name: "{app}\QtQuick.2"
|
|||||||
Type: filesandordirs; Name: "{app}\Material"
|
Type: filesandordirs; Name: "{app}\Material"
|
||||||
Type: filesandordirs; Name: "{app}\Universal"
|
Type: filesandordirs; Name: "{app}\Universal"
|
||||||
Type: filesandordirs; Name: "{app}\scenegraph"
|
Type: filesandordirs; Name: "{app}\scenegraph"
|
||||||
|
Type: filesandordirs; Name: "{app}\p2pool"
|
||||||
Type: files; Name: "{app}\D3Dcompiler_47.dll"
|
Type: files; Name: "{app}\D3Dcompiler_47.dll"
|
||||||
Type: files; Name: "{app}\libbz2-1.dll"
|
Type: files; Name: "{app}\libbz2-1.dll"
|
||||||
Type: files; Name: "{app}\libEGL.dll"
|
Type: files; Name: "{app}\libEGL.dll"
|
||||||
@@ -163,7 +167,6 @@ Type: files; Name: "{app}\libstdc++-6.dll"
|
|||||||
Type: files; Name: "{app}\libtiff-5.dll"
|
Type: files; Name: "{app}\libtiff-5.dll"
|
||||||
Type: files; Name: "{app}\libwinpthread-1.dll"
|
Type: files; Name: "{app}\libwinpthread-1.dll"
|
||||||
Type: files; Name: "{app}\zlib1.dll"
|
Type: files; Name: "{app}\zlib1.dll"
|
||||||
Type: files; Name: "{app}\libssp-0.dll"
|
|
||||||
Type: files; Name: "{app}\libhidapi-0.dll"
|
Type: files; Name: "{app}\libhidapi-0.dll"
|
||||||
Type: files; Name: "{app}\libeay32.dll"
|
Type: files; Name: "{app}\libeay32.dll"
|
||||||
Type: files; Name: "{app}\ssleay32.dll"
|
Type: files; Name: "{app}\ssleay32.dll"
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Monero GUI Wallet Windows Installer #
|
# Monero GUI Wallet Windows Installer #
|
||||||
|
|
||||||
Copyright (c) 2017-2020, The Monero Project
|
Copyright (c) 2017-2024, The Monero Project
|
||||||
|
|
||||||
## Introduction ##
|
## Introduction ##
|
||||||
|
|
||||||
This is a *Inno Setup* script `Monero.iss` plus some related files
|
This is a *Inno Setup* script `Monero.iss` plus some related files
|
||||||
that allows you to build a standalone Windows installer (.exe) for
|
that allows you to build a standalone Windows installer (.exe) for
|
||||||
the GUI wallet that comes with the Oxygen Orion release of Monero.
|
the GUI wallet that comes with the Fluorine Fermi release of Monero.
|
||||||
|
|
||||||
This turns the GUI wallet into a more or less standard Windows program,
|
This turns the GUI wallet into a more or less standard Windows program,
|
||||||
by default installed into a subdirectory of `C:\Program Files`, a
|
by default installed into a subdirectory of `C:\Program Files`, a
|
||||||
@@ -18,7 +18,7 @@ Monero.
|
|||||||
As the setup script in file [Monero.iss](Monero.iss) has to list many
|
As the setup script in file [Monero.iss](Monero.iss) has to list many
|
||||||
files and directories of the GUI wallet package to install by name,
|
files and directories of the GUI wallet package to install by name,
|
||||||
this version of the script only works with exactly the GUI wallet
|
this version of the script only works with exactly the GUI wallet
|
||||||
for Monero release *Oxygen Orion* that you find on
|
for Monero release *Fluorine Fermi* that you find on
|
||||||
[the official download page](https://getmonero.org/downloads/).
|
[the official download page](https://getmonero.org/downloads/).
|
||||||
|
|
||||||
It should however be easy to modify the script for future
|
It should however be easy to modify the script for future
|
||||||
@@ -39,8 +39,8 @@ Note that the installer build process is now reproducible / deterministic. For d
|
|||||||
The build steps in detail:
|
The build steps in detail:
|
||||||
|
|
||||||
1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php)
|
1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php)
|
||||||
2. Get the Inno Setup script plus related files by cloning the whole [monero-gui GitHub repository](https://github.com/monero-project/monero-gui); you will only need the files in the installer directory `installers\windows` however. Depending on development state, additionally instead of simply using `master` you may have to checkout a specific branch, like `release-v0.17`.
|
2. Get the Inno Setup script plus related files by cloning the whole [monero-gui GitHub repository](https://github.com/monero-project/monero-gui); you will only need the files in the installer directory `installers\windows` however.
|
||||||
3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the single subdirectory there (currently named `monero-gui-0.17.0.0`) to this `bin` subdirectory
|
3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the single subdirectory there (currently named `monero-gui-0.18.0.0`) to this `bin` subdirectory
|
||||||
4. Start Inno Setup, load `Monero.iss` and compile it
|
4. Start Inno Setup, load `Monero.iss` and compile it
|
||||||
5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory
|
5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Monero Oxygen Orion GUI Wallet</title>
|
<title>Monero Fluorine Fermi GUI Wallet</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body style="font-family: Arial, Helvetica, sans-serif">
|
<body style="font-family: Arial, Helvetica, sans-serif">
|
||||||
<h1>Monero Oxygen Orion GUI Wallet</h1>
|
<h1>Monero Fluorine Fermi GUI Wallet</h1>
|
||||||
|
|
||||||
<p>Copyright (c) 2014-2020, The Monero Project</p>
|
<p>Copyright (c) 2014-2024, The Monero Project</p>
|
||||||
|
|
||||||
<h2>Preface</h2>
|
<h2>Preface</h2>
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<h2>Content of the Package</h2>
|
<h2>Content of the Package</h2>
|
||||||
|
|
||||||
<p>You just installed the <i>Monero GUI wallet</i> for Windows, release Oxygen Orion, version {#GuiVersion}.
|
<p>You just installed the <i>Monero GUI wallet</i> for Windows, release Fluorine Fermi, version {#GuiVersion}.
|
||||||
The wallet enables you to send and receive Moneroj in a secure and very private way.
|
The wallet enables you to send and receive Moneroj in a secure and very private way.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -56,11 +56,14 @@
|
|||||||
i.e. let it download the blockchain and store it locally on your computer, or you can configure your wallet to
|
i.e. let it download the blockchain and store it locally on your computer, or you can configure your wallet to
|
||||||
access a remote <i>open node</i> to get indirect access to the blockchain.</p>
|
access a remote <i>open node</i> to get indirect access to the blockchain.</p>
|
||||||
|
|
||||||
<p>Working with your own copy of the blockchain is <b>preferred</b>: It strengthens the Monero network, and it
|
<p>You can also <i>Prune</i> the blockchain in order to save 2/3 of storage space while keeping the full transaction history.
|
||||||
|
More information regarding how pruning works can be found <a href="https://www.getmonero.org/resources/moneropedia/pruning.html">here</a>.</p>
|
||||||
|
|
||||||
|
<p>Working with your own copy of the blockchain, even pruned, is <b>preferred</b>: It strengthens the Monero network, and it
|
||||||
provides the most security and privacy possible for you.</p>
|
provides the most security and privacy possible for you.</p>
|
||||||
|
|
||||||
<p>However if your Internet access makes it difficult to run a full node, or if you have simply no room to store
|
<p>However if your Internet access makes it difficult to run a full node, or if you have simply no room to store
|
||||||
the blockchain locally (about 90 GB in May 2020, and of course growing), you can compromise and try to connect
|
the blockchain locally (about 160 GB in June 2023, and of course growing), you can compromise and try to connect
|
||||||
to a remote node. One way of finding such a node is checking
|
to a remote node. One way of finding such a node is checking
|
||||||
<a href="https://moneroworld.com/#nodes">this page</a>.
|
<a href="https://moneroworld.com/#nodes">this page</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 440 KiB |
@@ -70,10 +70,43 @@ function checkSignature(signature) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isValidOpenAliasAddress(address) {
|
function isValidOpenAliasAddress(address) {
|
||||||
address = address.trim()
|
var regex = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$/; // Basic domain structure
|
||||||
var dot = address.indexOf('.')
|
|
||||||
if (dot < 0)
|
if (!regex.test(address)) {
|
||||||
return false
|
return false;
|
||||||
// we can get an awful lot of valid domains, including non ASCII chars... accept anything
|
}
|
||||||
return true
|
|
||||||
|
const lastPart = address.substring(address.lastIndexOf('.') + 1);
|
||||||
|
return isNaN(parseInt(lastPart)) || lastPart !== parseInt(lastPart).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleOpenAliasResolution(address, descriptionText) {
|
||||||
|
const result = walletManager.resolveOpenAlias(address);
|
||||||
|
if (!result) {
|
||||||
|
return { message: qsTr("No address found") };
|
||||||
|
}
|
||||||
|
|
||||||
|
const [isDnssecValid, resolvedAddress] = result.split("|");
|
||||||
|
const isAddressValid = walletManager.addressValid(resolvedAddress, appWindow.persistentSettings.nettype);
|
||||||
|
let updatedDescriptionText = descriptionText;
|
||||||
|
|
||||||
|
if (isDnssecValid === "true") {
|
||||||
|
if (isAddressValid) {
|
||||||
|
updatedDescriptionText = descriptionText ? `${address} ${descriptionText}` : address;
|
||||||
|
return { address: resolvedAddress, description: updatedDescriptionText };
|
||||||
|
} else {
|
||||||
|
return { message: qsTr("No valid address found at this OpenAlias address") };
|
||||||
|
}
|
||||||
|
} else if (isDnssecValid === "false") {
|
||||||
|
if (isAddressValid) {
|
||||||
|
return {
|
||||||
|
address: resolvedAddress,
|
||||||
|
message: qsTr("Address found, but the DNSSEC signatures could not be verified, so this address may be spoofed"),
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return { message: qsTr("No valid address found at this OpenAlias address, but the DNSSEC signatures could not be verified, so this may be spoofed") };
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return { message: qsTr("Internal error") };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
10
js/Utils.js
@@ -57,12 +57,12 @@ function ago(epoch) {
|
|||||||
|
|
||||||
if(delta < 60)
|
if(delta < 60)
|
||||||
return qsTr("%n second(s) ago", "0", Math.floor(delta))
|
return qsTr("%n second(s) ago", "0", Math.floor(delta))
|
||||||
else if (delta >= 60 && delta <= 3600)
|
else if (delta < 3600)
|
||||||
return qsTr("%n minute(s) ago", "0", Math.floor(delta / 60))
|
return qsTr("%n minute(s) ago", "0", Math.floor(delta / 60))
|
||||||
else if (delta >= 3600 && delta <= 86400)
|
else if (delta < 86400)
|
||||||
return qsTr("%n hour(s) ago", "0", Math.floor(delta / 60 / 60))
|
return qsTr("%n hour(s) ago", "0", Math.floor(delta / 3600))
|
||||||
else if (delta >= 86400)
|
else
|
||||||
return qsTr("%n day(s) ago", "0", Math.floor(delta / 24 / 60 / 60))
|
return qsTr("%n day(s) ago", "0", Math.floor(delta / 86400))
|
||||||
}
|
}
|
||||||
|
|
||||||
function netTypeToString(){
|
function netTypeToString(){
|
||||||
|
|||||||