mirror of
https://github.com/feather-wallet/feather.git
synced 2025-04-16 01:41:55 +00:00
Compare commits
29 commits
Author | SHA1 | Date | |
---|---|---|---|
|
51dc8ed04f | ||
|
cc4babb41b | ||
|
64548ee882 | ||
|
4f2c06f945 | ||
|
ae54acef6c | ||
|
c67b06cf2f | ||
|
2bfdf14637 | ||
|
7222005e0c | ||
|
6052981b4c | ||
|
230da721bc | ||
|
08cfd8a2d7 | ||
|
ab994bfcde | ||
|
7aa051b58b | ||
|
2301f68176 | ||
|
dc4d7c9dbf | ||
|
b2edef87a3 | ||
|
4b7775e208 | ||
|
32ce43fc17 | ||
|
398ac9aed7 | ||
|
a3ce971312 | ||
|
1fa3eead85 | ||
|
dced995e16 | ||
|
92bba92418 | ||
|
65fd38da03 | ||
|
ffa1c427b1 | ||
|
f73940891a | ||
|
c97dbbba98 | ||
|
e9df4a9fcb | ||
|
3c7d768f08 |
41 changed files with 270 additions and 181 deletions
CMakeLists.txttoolchain.cmake.in
contrib
depends
hosts
packages
expat.mklibusb.mklibxcb_util_cursor.mknative_abseil.mknative_expat.mknative_protobuf.mknative_qt.mkopenssl.mkqt.mktor_darwin.mktor_linux.mktor_mingw32.mkzxing-cpp.mk
patches
libXau
libfuse
libxcb_util_cursor
libxkbcommon
native_qt
native_wayland
qt
wayland
guix
macdeploy
external
monerosrc
|
@ -1,7 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
project(feather
|
||||
VERSION "2.8.0"
|
||||
VERSION "2.8.1"
|
||||
DESCRIPTION "A free Monero desktop wallet"
|
||||
LANGUAGES CXX C ASM
|
||||
)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
OSX_MIN_VERSION=11.0
|
||||
OSX_SDK_VERSION=11.0
|
||||
OSX_MIN_VERSION=12.0
|
||||
OSX_SDK_VERSION=12.0
|
||||
XCODE_VERSION=12.2
|
||||
XCODE_BUILD_ID=12B45b
|
||||
LD64_VERSION=711
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=expat
|
||||
$(package)_version=2.7.0
|
||||
$(package)_version=2.7.1
|
||||
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$($(package)_version))/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=362e89ca6b8a0d46fc5740a917eb2a8b4d6356edbe016eee09f49c0781215844
|
||||
$(package)_sha256_hash=0cce2e6e69b327fc607b8ff264f4b66bdf71ead55a87ffd5f3143f535f15cfa2
|
||||
$(package)_build_subdir=build
|
||||
|
||||
define $(package)_set_vars
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package=libusb
|
||||
$(package)_version=1.0.27
|
||||
$(package)_version=1.0.28
|
||||
$(package)_download_path=https://github.com/libusb/libusb/archive/refs/tags
|
||||
$(package)_download_file=v$($(package)_version).tar.gz
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=e8f18a7a36ecbb11fb820bd71540350d8f61bcd9db0d2e8c18a6fb80b214a3de
|
||||
$(package)_sha256_hash=378b3709a405065f8f9fb9f35e82d666defde4d342c2a1b181a9ac134d23c6fe
|
||||
$(package)_patches=CMakeLists.txt config.h.in
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
|
|
|
@ -4,6 +4,7 @@ $(package)_download_path=https://xcb.freedesktop.org/dist
|
|||
$(package)_file_name=xcb-util-cursor-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=0e9c5446dc6f3beb8af6ebfcc9e27bcc6da6fe2860f7fc07b99144dfa568e93b
|
||||
$(package)_dependencies=libxcb libxcb_util_render libxcb_util_image
|
||||
$(package)_patches=flatpak.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := --disable-shared --disable-devel-docs --without-doxygen
|
||||
|
@ -11,6 +12,7 @@ $(package)_config_opts += --disable-dependency-tracking --enable-option-checking
|
|||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 -i $($(package)_patch_dir)/flatpak.patch && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||
endef
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package=native_abseil
|
||||
$(package)_version=20250127.0
|
||||
$(package)_version=20250127.1
|
||||
$(package)_download_path=https://github.com/abseil/abseil-cpp/archive/refs/tags/
|
||||
$(package)_download_file=$($(package)_version).tar.gz
|
||||
$(package)_file_name=abseil-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8
|
||||
$(package)_sha256_hash=b396401fd29e2e679cace77867481d388c807671dc2acc602a0259eeb79b7811
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=native_expat
|
||||
$(package)_version=2.7.0
|
||||
$(package)_version=2.7.1
|
||||
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$($(package)_version))/
|
||||
$(package)_file_name=expat-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=362e89ca6b8a0d46fc5740a917eb2a8b4d6356edbe016eee09f49c0781215844
|
||||
$(package)_sha256_hash=0cce2e6e69b327fc607b8ff264f4b66bdf71ead55a87ffd5f3143f535f15cfa2
|
||||
$(package)_build_subdir=build
|
||||
|
||||
define $(package)_set_vars
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=native_protobuf
|
||||
$(package)_version=29.1
|
||||
$(package)_version=30.2
|
||||
$(package)_download_path=https://github.com/protocolbuffers/protobuf/releases/download/v$($(package)_version)
|
||||
$(package)_file_name=protobuf-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=3d32940e975c4ad9b8ba69640e78f5527075bae33ca2890275bf26b853c0962c
|
||||
$(package)_sha256_hash=fb06709acc393cc36f87c251bb28a5500a2e12936d4346099f2c6240f6c7a941
|
||||
$(package)_dependencies=native_abseil
|
||||
|
||||
define $(package)_set_vars
|
||||
|
|
|
@ -1,32 +1,31 @@
|
|||
package=native_qt
|
||||
$(package)_version=6.8.3
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.8/$($(package)_version)/submodules
|
||||
$(package)_version=6.9.0
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.9/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=56001b905601bb9023d399f3ba780d7fa940f3e4861e496a7c490331f49e0b80
|
||||
$(package)_sha256_hash=c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c
|
||||
$(package)_linux_dependencies=native_wayland
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches = dont_hardcode_pwd.patch
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches = fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches += guix_cross_lib_path.patch
|
||||
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
|
||||
$(package)_patches += rcc_hardcode_timestamp.patch
|
||||
$(package)_patches += root_CMakeLists.txt
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=02a4e219248b94f1333df843d25763f35251c1074cdc4fb5bda67d340f8c8b3a
|
||||
$(package)_qttools_sha256_hash=fa645589cc3f939022401a926825972a44277dead8ec8607d9f2662e6529c9a4
|
||||
|
||||
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
|
||||
$(package)_qtsvg_sha256_hash=35eb516460f00f264eb504baa253432384351cf23fb9980a5857190e8deef438
|
||||
$(package)_qtsvg_sha256_hash=ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc
|
||||
|
||||
$(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix)
|
||||
$(package)_qtmultimedia_sha256_hash=32e82307d783172a3b984cc3c47c5e4e8b819cee3cbfc702c7012c47f15f6b01
|
||||
$(package)_qtmultimedia_sha256_hash=995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c
|
||||
|
||||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=f6ec88bf42deba84d8f6b5d0914636ceed4749ccb51d1945b2f79b322b7ecf47
|
||||
$(package)_qtshadertools_sha256_hash=916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb
|
||||
|
||||
$(package)_qtwayland_file_name=qtwayland-$($(package)_suffix)
|
||||
$(package)_qtwayland_sha256_hash=20fe385887d21190165a3180c17dcfc8b9a0e1da4ec76865b6334bdc709994b0
|
||||
$(package)_qtwayland_sha256_hash=503416fcb04db503bd130e6a49c45e3e546f091e83406f774a0c703130c91805
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
|
@ -157,7 +156,6 @@ endef
|
|||
|
||||
define $(package)_preprocess_cmds
|
||||
cp $($(package)_patch_dir)/root_CMakeLists.txt CMakeLists.txt && \
|
||||
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fast_fixed_dtoa_no_optimize.patch && \
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=openssl
|
||||
$(package)_version=3.4.1
|
||||
$(package)_version=3.5.0
|
||||
$(package)_download_path=https://github.com/openssl/openssl/releases/download/openssl-$($(package)_version)
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3
|
||||
$(package)_sha256_hash=344d0a79f1a9b08029b0744e2cc401a43f9c90acd1044d09a530b4885a8e9fc0
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_env=AR="$($(package)_ar)" ARFLAGS=$($(package)_arflags) RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package=qt
|
||||
$(package)_version=6.8.3
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.8/$($(package)_version)/submodules
|
||||
$(package)_version=6.9.0
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.9/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=56001b905601bb9023d399f3ba780d7fa940f3e4861e496a7c490331f49e0b80
|
||||
$(package)_sha256_hash=c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c
|
||||
$(package)_darwin_dependencies=openssl native_qt
|
||||
$(package)_mingw32_dependencies=openssl native_qt
|
||||
$(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus wayland native_wayland
|
||||
|
@ -27,22 +27,22 @@ $(package)_patches += qtwayland-tabletevent-fix.patch
|
|||
#$(package)_patches += fix-static-fontconfig-static-linking.patch
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=02a4e219248b94f1333df843d25763f35251c1074cdc4fb5bda67d340f8c8b3a
|
||||
$(package)_qttools_sha256_hash=fa645589cc3f939022401a926825972a44277dead8ec8607d9f2662e6529c9a4
|
||||
|
||||
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
|
||||
$(package)_qtsvg_sha256_hash=35eb516460f00f264eb504baa253432384351cf23fb9980a5857190e8deef438
|
||||
$(package)_qtsvg_sha256_hash=ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc
|
||||
|
||||
$(package)_qtwebsockets_file_name=qtwebsockets-$($(package)_suffix)
|
||||
$(package)_qtwebsockets_sha256_hash=fc6310c1b12d6e22a31062727aa6574ed69239d036c8a4247b3b089902709b11
|
||||
$(package)_qtwebsockets_sha256_hash=6b3add7cacf3a4e0b448d5e69d9dac42795fef63309038af1dc5a454ce514940
|
||||
|
||||
$(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix)
|
||||
$(package)_qtmultimedia_sha256_hash=32e82307d783172a3b984cc3c47c5e4e8b819cee3cbfc702c7012c47f15f6b01
|
||||
$(package)_qtmultimedia_sha256_hash=995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c
|
||||
|
||||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=f6ec88bf42deba84d8f6b5d0914636ceed4749ccb51d1945b2f79b322b7ecf47
|
||||
$(package)_qtshadertools_sha256_hash=916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb
|
||||
|
||||
$(package)_qtwayland_file_name=qtwayland-$($(package)_suffix)
|
||||
$(package)_qtwayland_sha256_hash=20fe385887d21190165a3180c17dcfc8b9a0e1da4ec76865b6334bdc709994b0
|
||||
$(package)_qtwayland_sha256_hash=503416fcb04db503bd130e6a49c45e3e546f091e83406f774a0c703130c91805
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
|
@ -53,7 +53,6 @@ $(package)_extra_sources += $($(package)_qtwayland_file_name)
|
|||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts += -DQT_HOST_PATH=$(build_prefix)/qt-host
|
||||
$(package)_config_opts += -DCMAKE_LIBRARY_PATH=/home/user/.guix-profile/lib
|
||||
$(package)_config_opts += -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DCMAKE_INSTALL_PREFIX=$(host_prefix)
|
||||
$(package)_config_opts += -DINSTALL_LIBEXECDIR=$(build_prefix)/bin
|
||||
|
@ -163,7 +162,7 @@ $(package)_config_opts_darwin += -DQT_FEATURE_accessibility=OFF
|
|||
$(package)_config_opts_darwin += -DQT_FEATURE_dbus=OFF
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_freetype=OFF
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_ffmpeg=OFF
|
||||
$(package)_config_opts_darwin += -DQMAKE_MACOSX_DEPLOYMENT_TARGET=11.0
|
||||
$(package)_config_opts_darwin += -DQMAKE_MACOSX_DEPLOYMENT_TARGET=12.0
|
||||
$(package)_config_opts_darwin += -DBUILD_WITH_PCH=OFF
|
||||
$(package)_config_opts_darwin += '-DQT_QMAKE_DEVICE_OPTIONS=MAC_SDK_PATH=$(host_prefix)/native/SDK;MAC_SDK_VERSION=$(OSX_SDK_VERSION);CROSS_COMPILE=$(host)-;MAC_TARGET=$(host);XCODE_VERSION=$(XCODE_VERSION)'
|
||||
$(package)_config_opts_darwin += -DQT_NO_APPLE_SDK_AND_XCODE_CHECK=ON
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=tor_darwin
|
||||
$(package)_version=0.4.8.10
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/13.0.11/
|
||||
$(package)_file_name=tor-browser-macos-13.0.11.dmg
|
||||
$(package)_sha256_hash=809fd7b1c5859cd9a4abebdb20a6b99e51b3c46d865f030b88fe5d6590bcbfdd
|
||||
$(package)_version=0.4.8.16
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/14.0.9/
|
||||
$(package)_file_name=tor-browser-macos-14.0.9.dmg
|
||||
$(package)_sha256_hash=82a3dba862a34af1796e6a032f08c591e88cbac5831bedc83e168c1833d62506
|
||||
$(package)_extract_cmds=mkdir -p $$($(1)_extract_dir) && \
|
||||
echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && \
|
||||
|
@ -10,4 +10,4 @@ $(package)_extract_cmds=mkdir -p $$($(1)_extract_dir) && \
|
|||
|
||||
define $(package)_stage_cmds
|
||||
cp -a Tor\ Browser/Tor\ Browser.app/Contents/MacOS/Tor $($(package)_staging_prefix_dir)/Tor/
|
||||
endef
|
||||
endef
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=tor_linux
|
||||
$(package)_version=0.4.8.14
|
||||
$(package)_version=0.4.8.16
|
||||
$(package)_download_path=https://dist.torproject.org/
|
||||
$(package)_file_name=tor-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=5047e1ded12d9aac4eb858f7634a627714dd58ce99053d517691a4b304a66d10
|
||||
$(package)_sha256_hash=6540dd377a120fb8e7d27530aa3b7ff72a0fa5b4f670fe1d64c987c1cfd390cb
|
||||
$(package)_dependencies=libevent openssl zlib
|
||||
|
||||
define $(package)_set_vars
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package=tor_mingw32
|
||||
$(package)_version=0.4.8.10
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/13.0.11/
|
||||
$(package)_file_name=tor-expert-bundle-windows-x86_64-13.0.11.tar.gz
|
||||
$(package)_sha256_hash=78d9529b0a206e6727093ede340fc34dab2de4ea03046ff5d5d590879dc21c6e
|
||||
$(package)_version=0.4.8.16
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/14.0.9/
|
||||
$(package)_file_name=tor-expert-bundle-windows-x86_64-14.0.9.tar.gz
|
||||
$(package)_sha256_hash=dce4dfd488ed8220b97c613f08216b63c6895bbefd0d091a3156501f188fe5f4
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_prefix_dir)/Tor/ && \
|
||||
cp tor.exe $($(package)_staging_prefix_dir)/Tor/
|
||||
endef
|
||||
endef
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
package=zxing-cpp
|
||||
$(package)_version=2.2.1
|
||||
$(package)_version=2.3.0
|
||||
$(package)_download_path=https://github.com/$(package)/$(package)/archive/refs/tags
|
||||
$(package)_download_file=v$($(package)_version).tar.gz
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=02078ae15f19f9d423a441f205b1d1bee32349ddda7467e2c84e8f08876f8635
|
||||
$(package)_sha256_hash=64e4139103fdbc57752698ee15b5f0b0f7af9a0331ecbdc492047e0772c417ba
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=-DBUILD_WRITERS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf test wrappers
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake) .
|
||||
endef
|
||||
|
|
|
@ -3,7 +3,7 @@ c = '@cc@'
|
|||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
|
|
|
@ -3,7 +3,7 @@ c = '@cc@'
|
|||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
|
|
13
contrib/depends/patches/libxcb_util_cursor/flatpak.patch
Normal file
13
contrib/depends/patches/libxcb_util_cursor/flatpak.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/configure b/configure
|
||||
index 6d37be5..4dc4ff5 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -20228,7 +20228,7 @@ printf "%s\n" "yes" >&6; }
|
||||
|
||||
fi
|
||||
|
||||
-DEF_CURSORPATH="~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons"
|
||||
+DEF_CURSORPATH="~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons:/run/host/share/icons"
|
||||
|
||||
# Check whether --with-cursorpath was given.
|
||||
if test ${with_cursorpath+y}
|
|
@ -3,7 +3,7 @@ c = '@cc@'
|
|||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
diff --git a/qtbase/configure b/qtbase/configure
|
||||
index e57707dc..d8f6c934 100755
|
||||
--- a/qtbase/configure
|
||||
+++ b/qtbase/configure
|
||||
@@ -9,9 +9,9 @@
|
||||
|
||||
# the directory of this script is the "source tree"
|
||||
relpath=`dirname "$0"`
|
||||
-relpath=`(cd "$relpath"; /bin/pwd)`
|
||||
+relpath=`(cd "$relpath"; pwd)`
|
||||
# the current directory is the "build tree" or "object tree"
|
||||
-outpath=`/bin/pwd`
|
||||
+outpath=`pwd`
|
||||
outpathPrefix=$outpath
|
||||
|
||||
# do this early so we don't store it in config.status
|
|
@ -3,7 +3,7 @@ c = '@cc@'
|
|||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
|
|
|
@ -30,7 +30,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||
set(CMAKE_EXE_LINKER_FLAGS "@cmake_ld_flags@")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "@cmake_ld_flags@")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "@cmake_ld_flags@")
|
||||
SET(CMAKE_OSX_DEPLOYMENT_TARGET "11.0")
|
||||
SET(CMAKE_OSX_DEPLOYMENT_TARGET "12.0")
|
||||
|
||||
set(CMAKE_INSTALL_NAME_TOOL @target@-install_name_tool)
|
||||
endif()
|
|
@ -3,7 +3,7 @@ c = '@cc@'
|
|||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
|
|
|
@ -94,7 +94,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||
SET(BUILD_TAG "mac-x64")
|
||||
SET(CMAKE_OSX_ARCHITECTURES "x86_64")
|
||||
endif()
|
||||
SET(CMAKE_SYSTEM_VERSION 20.1)
|
||||
SET(CMAKE_SYSTEM_VERSION 21.0.1)
|
||||
SET(_CMAKE_TOOLCHAIN_PREFIX @prefix@/native/bin/${CONF_TRIPLE}-)
|
||||
SET(CMAKE_C_COMPILER @CC@)
|
||||
SET(CMAKE_C_COMPILER_TARGET ${CLANG_TARGET})
|
||||
|
@ -116,7 +116,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||
SET(BREW OFF)
|
||||
SET(PORT OFF)
|
||||
SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK")
|
||||
SET(CMAKE_OSX_DEPLOYMENT_TARGET "11.0")
|
||||
SET(CMAKE_OSX_DEPLOYMENT_TARGET "12.0")
|
||||
SET(CMAKE_CXX_STANDARD 17)
|
||||
else()
|
||||
SET(CMAKE_C_COMPILER @CC@)
|
||||
|
|
|
@ -46,6 +46,50 @@ $ git clone https://github.com/feather-wallet/feather
|
|||
$ cd feather
|
||||
```
|
||||
|
||||
### Before building
|
||||
|
||||
#### Ubuntu
|
||||
|
||||
On **Ubuntu**, you may run into the following error caused by [this Ubuntu bug](https://bugs.launchpad.net/ubuntu/+source/guix/+bug/2064115):
|
||||
|
||||
`guix environment: error: mount: mount "none" on "/tmp/guix-directory.Ile657": Permission denied`
|
||||
|
||||
To work around this issue, you need to create a permissive AppArmor profile for Guix:
|
||||
|
||||
```bash
|
||||
$ apt install apparmor-utils
|
||||
$ cat <<EOL >> /etc/apparmor.d/guix
|
||||
abi <abi/4.0>,
|
||||
include <tunables/global>
|
||||
|
||||
profile guix /usr/bin/guix flags=(unconfined) {
|
||||
userns,
|
||||
include if exists <local/guix>
|
||||
}
|
||||
EOL
|
||||
|
||||
$ /etc/init.d/apparmor reload
|
||||
$ aa-enforce guix
|
||||
```
|
||||
|
||||
#### Fedora
|
||||
|
||||
On **Fedora**, you may run into the following error:
|
||||
|
||||
`guix gc: error: remounting /gnu/store writable: Permission denied`
|
||||
|
||||
To work around this issue, you need to temporarily disable SELinux:
|
||||
|
||||
```bash
|
||||
sudo setenforce 0
|
||||
```
|
||||
|
||||
You can re-enable it after the build with:
|
||||
|
||||
```bash
|
||||
sudo setenforce 1
|
||||
```
|
||||
|
||||
### Run the build
|
||||
|
||||
To build all targets using all available cores:
|
||||
|
|
|
@ -19,6 +19,15 @@ source "$(dirname "${BASH_SOURCE[0]}")/libexec/prelude.bash"
|
|||
|
||||
check_tools cat mkdir make getent curl git guix
|
||||
|
||||
################
|
||||
# Check if we're running as root
|
||||
################
|
||||
|
||||
if [ "$EUID" -eq 0 ]; then
|
||||
echo "Warning! Running this script as root may cause problems."
|
||||
echo
|
||||
fi
|
||||
|
||||
################
|
||||
# GUIX_BUILD_OPTIONS should be empty
|
||||
################
|
||||
|
@ -440,7 +449,6 @@ EOF
|
|||
--keep-failed \
|
||||
--fallback \
|
||||
--link-profile \
|
||||
--user="user" \
|
||||
--root="$(profiledir_for_host "${HOST}")" \
|
||||
${SUBSTITUTE_URLS:+--substitute-urls="$SUBSTITUTE_URLS"} \
|
||||
${ADDITIONAL_GUIX_COMMON_FLAGS} ${ADDITIONAL_GUIX_ENVIRONMENT_FLAGS} \
|
||||
|
@ -479,7 +487,6 @@ EOF
|
|||
--share="$OUTDIR"=/outdir \
|
||||
--keep-failed \
|
||||
--fallback \
|
||||
--user="user" \
|
||||
${SUBSTITUTE_URLS:+--substitute-urls="$SUBSTITUTE_URLS"} \
|
||||
${ADDITIONAL_GUIX_COMMON_FLAGS} ${ADDITIONAL_GUIX_ENVIRONMENT_FLAGS} \
|
||||
-- env DISTNAME="$DISTNAME" \
|
||||
|
|
|
@ -433,6 +433,7 @@ export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"
|
|||
-sigin "/distsrc/external/feather-codesigning/signatures/${HOST}/feather.installer.pem" || true
|
||||
cp FeatherWalletSetup.exe.tmp "${OUTDIR}/FeatherWalletSetup-${TAG}.exe"
|
||||
mv FeatherWalletSetup.exe.tmp "FeatherWalletSetup-${TAG}.exe"
|
||||
rm FeatherWalletSetup.exe
|
||||
rm "${OUTDIR}/FeatherWalletSetup.exe"
|
||||
;;
|
||||
"")
|
||||
|
|
|
@ -180,6 +180,9 @@ chain for " target " development."))
|
|||
(list "--enable-initfini-array=yes",
|
||||
"--enable-default-ssp=yes",
|
||||
"--enable-default-pie=yes",
|
||||
"--enable-standard-branch-protection=yes",
|
||||
"--enable-cet=yes",
|
||||
"--disable-gcov",
|
||||
building-on)))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
|
@ -215,6 +218,7 @@ chain for " target " development."))
|
|||
`(append ,flags
|
||||
;; https://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html
|
||||
(list "--enable-stack-protector=all",
|
||||
"--enable-cet",
|
||||
"--enable-bind-now",
|
||||
"--disable-werror",
|
||||
building-on)))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>11</string>
|
||||
<string>12</string>
|
||||
|
||||
<key>LSArchitecturePriority</key>
|
||||
<array>
|
||||
|
@ -22,7 +22,7 @@
|
|||
</array>
|
||||
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2014-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS@</string>
|
||||
<string>Copyright © 2020-@COPYRIGHT_YEAR@ @COPYRIGHT_HOLDERS@</string>
|
||||
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@PROJECT_VERSION@</string>
|
||||
|
|
|
@ -6,95 +6,64 @@
|
|||
|
||||
A free Apple Developer Account is required to proceed.
|
||||
|
||||
Our current macOS SDK
|
||||
(`Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz`)
|
||||
can be extracted from
|
||||
[Xcode_12.2.xip](https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip).
|
||||
Our macOS SDK can be extracted from
|
||||
[Xcode_15.xip](https://download.developer.apple.com/Developer_Tools/Xcode_15/Xcode_15.xip).
|
||||
|
||||
Alternatively, after logging in to your account go to 'Downloads', then 'More'
|
||||
and search for [`Xcode 12.2`](https://developer.apple.com/download/all/?q=Xcode%2012.2).
|
||||
and search for [`Xcode 15`](https://developer.apple.com/download/all/?q=Xcode%2015).
|
||||
|
||||
An Apple ID and cookies enabled for the hostname are needed to download this.
|
||||
|
||||
The `sha256sum` of the downloaded XIP archive should be `28d352f8c14a43d9b8a082ac6338dc173cb153f964c6e8fb6ba389e5be528bd0`.
|
||||
The `sha256sum` of the downloaded XIP archive should be `4daaed2ef2253c9661779fa40bfff50655dc7ec45801aba5a39653e7bcdde48e`.
|
||||
|
||||
After Xcode version 7.x, Apple started shipping the `Xcode.app` in a `.xip`
|
||||
archive. This makes the SDK less-trivial to extract on non-macOS machines. One
|
||||
approach (tested on Debian Buster) is outlined below:
|
||||
To extract the `.xip` on Linux:
|
||||
|
||||
```bash
|
||||
# Install/clone tools needed for extracting Xcode.app
|
||||
apt install cpio
|
||||
git clone https://github.com/bitcoin-core/apple-sdk-tools.git
|
||||
|
||||
# Unpack Xcode_12.2.xip and place the resulting Xcode.app in your current
|
||||
# Unpack the .xip and place the resulting Xcode.app in your current
|
||||
# working directory
|
||||
python3 apple-sdk-tools/extract_xcode.py -f Xcode_12.2.xip | cpio -d -i
|
||||
python3 apple-sdk-tools/extract_xcode.py -f Xcode_15.xip | cpio -d -i
|
||||
```
|
||||
|
||||
On macOS the process is more straightforward:
|
||||
On macOS:
|
||||
|
||||
```bash
|
||||
xip -x Xcode_12.2.xip
|
||||
xip -x Xcode_15.xip
|
||||
```
|
||||
|
||||
### Step 2: Generating `Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz` from `Xcode.app`
|
||||
### Step 2: Generating the SDK tarball from `Xcode.app`
|
||||
|
||||
To generate `Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz`, run
|
||||
the script [`gen-sdk`](./gen-sdk) with the path to `Xcode.app` (extracted in the
|
||||
previous stage) as the first argument.
|
||||
To generate the SDK, run the script [`gen-sdk`](./gen-sdk) with the
|
||||
path to `Xcode.app` (extracted in the previous stage) as the first argument.
|
||||
|
||||
```bash
|
||||
# Generate a Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz from
|
||||
# the supplied Xcode.app
|
||||
./contrib/macdeploy/gen-sdk '/path/to/Xcode.app'
|
||||
```
|
||||
|
||||
The `sha256sum` of the generated TAR.GZ archive should be `332477876917786b26dd7c3fc1665d2c5cdca81c72755e6a9754f308de77d33b`.
|
||||
The generated archive should be: `Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers.tar.gz`.
|
||||
The `sha256sum` should be `c0c2e7bb92c1fee0c4e9f3a485e4530786732d6c6dd9e9f418c282aa6892f55d`.
|
||||
|
||||
## Deterministic macOS App Notes
|
||||
|
||||
macOS Applications are created in Linux by combining a recent `clang` and the Apple
|
||||
`binutils` (`ld`, `ar`, etc).
|
||||
macOS Applications are created on Linux using a recent LLVM.
|
||||
|
||||
Apple uses `clang` extensively for development and has upstreamed the necessary
|
||||
functionality so that a vanilla clang can take advantage. It supports the use of `-F`,
|
||||
`-target`, `-mmacosx-version-min`, and `-isysroot`, which are all necessary when
|
||||
building for macOS.
|
||||
All builds must target an Apple SDK. These SDKs are free to download, but not redistributable.
|
||||
See the SDK Extraction notes above for how to obtain it.
|
||||
|
||||
Apple's version of `binutils` (called `cctools`) contains lots of functionality missing in the
|
||||
FSF's `binutils`. In addition to extra linker options for frameworks and sysroots, several
|
||||
other tools are needed as well such as `install_name_tool`, `lipo`, and `nmedit`. These
|
||||
do not build under Linux, so they have been patched to do so. The work here was used as
|
||||
a starting point: [mingwandroid/toolchain4](https://github.com/mingwandroid/toolchain4).
|
||||
The Guix build process has been designed to avoid including the SDK's files in Guix's outputs.
|
||||
All interim tarballs are fully deterministic and may be freely redistributed.
|
||||
|
||||
In order to build a working toolchain, the following source packages are needed from
|
||||
Apple: `cctools`, `dyld`, and `ld64`.
|
||||
|
||||
These tools inject timestamps by default, which produce non-deterministic binaries. The
|
||||
`ZERO_AR_DATE` environment variable is used to disable that.
|
||||
|
||||
This version of `cctools` has been patched to use the current version of `clang`'s headers
|
||||
and its `libLTO.so` rather than those from `llvmgcc`, as it was originally done in `toolchain4`.
|
||||
|
||||
To complicate things further, all builds must target an Apple SDK. These SDKs are free to
|
||||
download, but not redistributable. See the SDK Extraction notes above for how to obtain it.
|
||||
|
||||
The Guix process builds 2 sets of files: Linux tools, then Apple binaries which are
|
||||
created using these tools. The build process has been designed to avoid including the
|
||||
SDK's files in Guix's outputs. All interim tarballs are fully deterministic and may be freely
|
||||
redistributed.
|
||||
|
||||
As of OS X 10.9 Mavericks, using an Apple-blessed key to sign binaries is a requirement in
|
||||
order to satisfy the new Gatekeeper requirements. Because this private key cannot be
|
||||
shared, we'll have to be a bit creative in order for the build process to remain somewhat
|
||||
deterministic. Here's how it works:
|
||||
Using an Apple-blessed key to sign binaries is a requirement to produce (distributable) macOS
|
||||
binaries. Because this private key cannot be shared, we'll have to be a bit creative in order
|
||||
for the build process to remain somewhat deterministic. Here's how it works:
|
||||
|
||||
- Builders use Guix to create an unsigned release. This outputs an unsigned ZIP which
|
||||
users may choose to bless and run. It also outputs an unsigned app structure in the form
|
||||
of a tarball, which also contains all of the tools that have been previously (deterministically)
|
||||
built in order to create a final DMG.
|
||||
users may choose to bless, self-codesign, and run. It also outputs an unsigned app structure
|
||||
in the form of a tarball.
|
||||
- The Apple keyholder uses this unsigned app to create a detached signature, using the
|
||||
script that is also included there. Detached signatures are available from this [repository](https://github.com/bitcoin-core/bitcoin-detached-sigs).
|
||||
- Builders feed the unsigned app + detached signature back into Guix. It uses the
|
||||
pre-built tools to recombine the pieces into a deterministic ZIP.
|
||||
included script. Detached signatures are available from this [repository](https://github.com/bitcoin-core/bitcoin-detached-sigs).
|
||||
- Builders feed the unsigned app + detached signature back into Guix, which combines the
|
||||
pieces into a deterministic ZIP.
|
||||
|
|
|
@ -8,21 +8,6 @@ import gzip
|
|||
import os
|
||||
import contextlib
|
||||
|
||||
# monkey-patch Python 3.8 and older to fix wrong TAR header handling
|
||||
# see https://github.com/bitcoin/bitcoin/pull/24534
|
||||
# and https://github.com/python/cpython/pull/18080 for more info
|
||||
if sys.version_info < (3, 9):
|
||||
_old_create_header = tarfile.TarInfo._create_header
|
||||
def _create_header(info, format, encoding, errors):
|
||||
buf = _old_create_header(info, format, encoding, errors)
|
||||
# replace devmajor/devminor with binary zeroes
|
||||
buf = buf[:329] + bytes(16) + buf[345:]
|
||||
# recompute checksum
|
||||
chksum = tarfile.calc_chksums(buf)[0]
|
||||
buf = buf[:-364] + bytes("%06o\0" % chksum, "ascii") + buf[-357:]
|
||||
return buf
|
||||
tarfile.TarInfo._create_header = staticmethod(_create_header)
|
||||
|
||||
@contextlib.contextmanager
|
||||
def cd(path):
|
||||
"""Context manager that restores PWD even if an exception was raised."""
|
||||
|
@ -60,13 +45,8 @@ def run():
|
|||
sdk_build_id = pl['ProductBuildVersion']
|
||||
print("Found MacOSX SDK (version: {sdk_version}, build id: {sdk_build_id})".format(sdk_version=sdk_version, sdk_build_id=sdk_build_id))
|
||||
|
||||
clang_rt = xcode_app.joinpath("Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/lib/darwin")
|
||||
|
||||
out_name = "Xcode-{xcode_version}-{xcode_build_id}-extracted-SDK-with-libcxx-headers".format(xcode_version=xcode_version, xcode_build_id=xcode_build_id)
|
||||
|
||||
xcode_libcxx_dir = xcode_app.joinpath("Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1")
|
||||
assert xcode_libcxx_dir.is_dir()
|
||||
|
||||
if args.out_sdktgz:
|
||||
out_sdktgz_path = pathlib.Path(args.out_sdktgz_path)
|
||||
else:
|
||||
|
@ -74,7 +54,7 @@ def run():
|
|||
out_sdktgz_path = pathlib.Path("./{}.tar.gz".format(out_name))
|
||||
|
||||
def tarfp_add_with_base_change(tarfp, dir_to_add, alt_base_dir):
|
||||
"""Add all files in dir_to_add to tarfp, but prepent MEMBERPREFIX to the files'
|
||||
"""Add all files in dir_to_add to tarfp, but prepent alt_base_dir to the files'
|
||||
names
|
||||
|
||||
e.g. if the only file under /root/bazdir is /root/bazdir/qux, invoking:
|
||||
|
@ -109,10 +89,6 @@ def run():
|
|||
with tarfile.open(mode="w", fileobj=gzf, format=tarfile.GNU_FORMAT) as tarfp:
|
||||
print("Adding MacOSX SDK {} files...".format(sdk_version))
|
||||
tarfp_add_with_base_change(tarfp, sdk_dir, out_name)
|
||||
print("Adding libc++ headers...")
|
||||
tarfp_add_with_base_change(tarfp, xcode_libcxx_dir, "{}/usr/include/c++/v1".format(out_name))
|
||||
print("Adding clang_rt libraries")
|
||||
tarfp_add_with_base_change(tarfp, clang_rt, "{}/lib/darwin".format(out_name))
|
||||
print("Done! Find the resulting gzipped tarball at:")
|
||||
print(out_sdktgz_path.resolve())
|
||||
|
||||
|
|
2
external/feather-codesigning
vendored
2
external/feather-codesigning
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 0c34181fd21e7e0f28d325996449e6d3fedb8e8f
|
||||
Subproject commit ccad1600519e3b9e1a1fac9d52e3d22d7b609a9d
|
2
external/feather-docs
vendored
2
external/feather-docs
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 5a11c96cb0887fd92484e3db9d775f5b5c76445f
|
||||
Subproject commit 9d011ba8dc04e39a261c90c85ab6947567965224
|
2
monero
2
monero
|
@ -1 +1 @@
|
|||
Subproject commit 105c53beef238fa5234118124726d9e6d9588c8b
|
||||
Subproject commit 896f780842bab646392e71c7917eb220a35e33dc
|
|
@ -269,6 +269,7 @@ target_link_libraries(feather PRIVATE
|
|||
epee
|
||||
easylogging
|
||||
ringct
|
||||
version
|
||||
${Boost_LIBRARIES}
|
||||
${OPENSSL_LIBRARIES}
|
||||
${EXTRA_LIBRARIES}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
"mainnet": {
|
||||
"tor": [
|
||||
"loveanvthlsepingenr7opdqy6nlhn5jidwvzzxfmwsw2rry5mn2gfqd.onion:18089",
|
||||
"dtrnd4in2igrtfx2c45ghf2drns3doddmcsfy6b5gjw5iinukd33slqd.onion:18081",
|
||||
"3vjfahy3dk4znsicambgluiaa5whqb364skmsq5os7bnxjhbavbawqad.onion:18089",
|
||||
"ip4zpbps7unk6xhlanqtw24f75akfbl3upeckfjqjks7ftfnk4i73oid.onion:18081",
|
||||
"cakexmrl7bonq7ovjka5kuwuyd3f7qnkz6z6s6dmsy3uckwra7bvggyd.onion:18081",
|
||||
"qz43zul2x56jexzoqgkx2trzwcfnr6l3hbtfcfx54g4r3eahy3bssjyd.onion:18089",
|
||||
|
@ -25,6 +28,8 @@
|
|||
"ugnlcdciyhghh2zert7c3kl4biwkirc43ke33jiy5slnd3mv2trq.b32.i2p:18089"
|
||||
],
|
||||
"clearnet": [
|
||||
"node3-us.monero.love:18081",
|
||||
"node2-eu.monero.love:18089",
|
||||
"xmr-node.cakewallet.com:18081",
|
||||
"singapore.node.xmr.pm:18089",
|
||||
"node.majesticbank.is:18089",
|
||||
|
|
|
@ -6,8 +6,10 @@
|
|||
|
||||
#include <QMessageBox>
|
||||
#include <QDate>
|
||||
#include <QSslSocket>
|
||||
|
||||
#include "utils/Utils.h"
|
||||
#include "version.h"
|
||||
|
||||
AboutDialog::AboutDialog(QWidget *parent)
|
||||
: WindowModalDialog(parent)
|
||||
|
@ -26,6 +28,12 @@ AboutDialog::AboutDialog(QWidget *parent)
|
|||
auto ack_text = Utils::barrayToString(ack);
|
||||
ui->ackText->setText(ack_text);
|
||||
|
||||
ui->label_featherVersion->setText(FEATHER_VERSION);
|
||||
ui->label_moneroVersion->setText(MONERO_VERSION);
|
||||
ui->label_qtVersion->setText(QT_VERSION_STR);
|
||||
ui->label_torVersion->setText(TOR_VERSION);
|
||||
ui->label_sslVersion->setText(QSslSocket::sslLibraryVersionString());
|
||||
|
||||
this->adjustSize();
|
||||
}
|
||||
|
||||
|
|
|
@ -214,6 +214,83 @@
|
|||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Versions</string>
|
||||
</attribute>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Feather:</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_featherVersion">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Monero:</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_moneroVersion">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_22">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Qt:</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="label_qtVersion">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_24">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">SSL:</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="label_sslVersion">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_26">
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Tor:</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="label_torVersion">
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="acknowledgements">
|
||||
<attribute name="title">
|
||||
<string>Acknowledgements</string>
|
||||
|
|
26
src/main.cpp
26
src/main.cpp
|
@ -11,6 +11,7 @@
|
|||
#include <wallet/api/wallet2_api.h>
|
||||
#include "libwalletqt/Wallet.h"
|
||||
#include "libwalletqt/WalletManager.h"
|
||||
#include "version.h"
|
||||
|
||||
#if defined(Q_OS_LINUX) && defined(STACK_TRACE)
|
||||
#define BOOST_STACKTRACE_LINK
|
||||
|
@ -180,21 +181,16 @@ if (AttachConsole(ATTACH_PARENT_PROCESS)) {
|
|||
conf()->set(Config::restartRequired, false);
|
||||
|
||||
if (!quiet) {
|
||||
QMap<QString, QString> info;
|
||||
info["Qt"] = QT_VERSION_STR;
|
||||
info["Feather"] = FEATHER_VERSION;
|
||||
if (stagenet) info["Mode"] = "Stagenet";
|
||||
else if (testnet) info["Mode"] = "Testnet";
|
||||
else info["Mode"] = "Mainnet";
|
||||
info["SSL"] = QSslSocket::sslLibraryVersionString();
|
||||
info["SSL build"] = QSslSocket::sslLibraryBuildVersionString();
|
||||
#if defined(TOR_VERSION)
|
||||
info["Tor version"] = TOR_VERSION;
|
||||
#else
|
||||
info["Tor version"] = "Not bundled";
|
||||
#endif
|
||||
for (const QString &k: info.keys()) {
|
||||
qWarning().nospace().noquote() << QString("%1: %2").arg(k, info[k]);
|
||||
QList<QPair<QString, QString>> info;
|
||||
info.emplace_back("Feather", FEATHER_VERSION);
|
||||
info.emplace_back("Monero", MONERO_VERSION);
|
||||
info.emplace_back("Qt", QT_VERSION_STR);
|
||||
info.emplace_back("Tor", TOR_VERSION);
|
||||
info.emplace_back("SSL", QSslSocket::sslLibraryVersionString());
|
||||
info.emplace_back("Mode", stagenet ? "Stagenet" : (testnet ? "Testnet" : "Mainnet"));
|
||||
|
||||
for (const auto &k: info) {
|
||||
qWarning().nospace().noquote() << QString("%1: %2").arg(k.first, k.second);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ void RevuoWidget::updateItems(const QList<QSharedPointer<RevuoItem>> &items) {
|
|||
for (const auto &newsbyte : item->newsbytes) {
|
||||
text += "<p> • " + newsbyte + "</p>\n";
|
||||
}
|
||||
text += "╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍\n";
|
||||
text += "<h3>Upcoming Events</h3>\n";
|
||||
if (item->events.isEmpty()) {
|
||||
text += "<p>There are no upcoming events.</p>\n";
|
||||
|
|
|
@ -138,7 +138,7 @@ Seed::Seed(Type type, QStringList mnemonic, NetworkType::Type networkType)
|
|||
if (this->type == Type::MONERO) {
|
||||
crypto::secret_key recovery_key;
|
||||
std::string old_language;
|
||||
if (!crypto::ElectrumWords::words_to_bytes(mnemonic.join(" ").toStdString(), recovery_key, old_language)) {
|
||||
if (!crypto::ElectrumWords::words_to_bytes(this->mnemonic.join(" ").toStdString(), recovery_key, old_language)) {
|
||||
if (this->mnemonic.length() == 25) {
|
||||
this->errorString = "Invalid checksum word";
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue