525 Commits
Author SHA1 Message Date
jwinterm 142b79ee27 fix(depends): tell the consuming build where the host Qt is
A cross Qt carrying qtdeclarative makes find_package(Qt6) demand a host Qt,
because QML needs host-side tools: qmlcachegen, qmlimportscanner and
qmltyperegistrar. depends already builds one. native_qt installs it to
native/qt-host, and qt.mk passes that path to the cross Qt's own configure.

What nobody passed it to was wowlet. Qt6Config re-runs the host-path setup when
our project calls find_package, finds nothing, and stops with "To use a
cross-compiled Qt, please set the QT_HOST_PATH cache variable". The Windows
cross build has failed that way on every tag since qtdeclarative landed in
June, which is why 5.1.4 shipped macOS and Linux but no exe.

Stating it in the toolchain rather than in the workflow fixes every cross
target and anyone building locally through depends, and the built-cache key
already hashes this file, so the stale mingw tree is rebuilt rather than
restored without the host Qt.
2026-09-13 18:06:55 -04:00
jwinterm ea9c73826b fix(build): ship the binary as wowlet, not feather
The CMake target keeps its upstream name so the twenty-odd target_* calls stay
put, but OUTPUT_NAME now produces build/bin/wowlet, and on macOS a wowlet.app
whose CFBundleExecutable matches it.

Linux and Windows already renamed the artifact as they copied it, so their cp
lines just move to the new path. macOS copied the whole bundle instead, so it
shipped Contents/MacOS/feather with a Feather name in the Info.plist, which is
what anyone installing it actually saw. The Linux install rules had the same
problem one level down: they installed feather.desktop, which sets Exec=feather
and Name=Feather Wallet, while the correct wowlet.desktop sat unused beside it.

CFBundleIdentifier moves to org.wownero.wowlet. Nothing in signing or
notarization reads it, but macOS keys per-app state by bundle id, so an existing
install starts with fresh window state.
2026-09-13 10:49:00 -04:00
jwinterm 0d5d745311 v5.0.1: Windows QtQuick crash fix + node/Tor lifecycle overhaul
Windows crash chain (exposed by the embedded-node default):
- main.cpp: force the QtQuick software renderer. The Mining tab's QQuickWidget
  drove the default RHI/GL path and faulted (0xc0000005) on broken-GL hosts
  (VirtualBox VMSVGA), crashing the app and orphaning the embedded node.
  Real hardware was unaffected.
- ChildProcessGuard + DaemonManager/TorManager: kernel-level die-with-parent
  (Windows Job Object KILL_ON_JOB_CLOSE / Linux PR_SET_PDEATHSIG) so the
  embedded wownerod and bundled tor never survive a wowlet exit or crash.
- DaemonManager: verify-before-adopt via get_info (nettype/height) instead of
  trusting a bare open RPC port, so a stale/orphan node is never adopted.

Node/Tor lifecycle + remote-node connectivity:
- config: torPrivacyLevel default -> allTorExceptNode. NEVER sync blocks over
  Tor; the wallet's node connection is always clearnet. Tor is only for tx
  broadcast, so remote nodes work with or without Tor.
- nodes: add Nodes::reconnect() (clear failure blocklist + force reconnect);
  node/Tor toggle handlers use it so a transient outage no longer strands the
  wallet at "Disconnected".
- MainWindow/SettingsDialog: reconnect on node/Tor toggle and on the async
  daemonStateChanged (closes the start() race; a freshly-toggled local node
  connects immediately).
- TorManager: reset retry/unpack state in init() so a system<->bundled Tor
  re-toggle can start again; quiesce on stop(). Linux unpackBins() rework
  (mkpath + presence-based unpack + graceful return-false), getVersion() arg
  fix, and a missing-binary start guard.
- build.yml: derive TOR_VERSION from the embedded tor binary (a hardcoded
  bundle number made unpackBins rewrite Tor every launch).
- depends/funcs.mk: confine cross-cmake find_package to the depends sysroot so
  host -dev libraries don't leak into the build.
2026-06-23 17:45:39 -04:00
jwinterm 57531a9d09 depends(libxkbcommon): explicit xkb extension paths for cross + cache restore-keys
libxkbcommon 1.13.1 meson.build adds empty pkgconfig vars when xkeyboard-config is absent from the cross sysroot (XKEYBOARD_CONFIG_ROOT='') while has_extensions_directories is true -> meson hard-errors at pkgconfig.generate. Pass non-empty -Dxkb-config-(un)versioned-extensions-path.

Add restore-keys to all 4 depends cache restores: a busted exact key (any packages/* edit) now falls back to the newest prefix match, so make resumes from the partial built tree instead of rebuilding the static-Qt6 toolchain from scratch.
2026-06-21 15:09:15 -04:00
jwinterm 82bb6460a7 depends(wayland): native wayland-scanner.pc is in the multiarch pkgconfig dir
The find debug showed wayland-scanner.pc at <build_prefix>/lib/x86_64-linux-gnu/pkgconfig (multiarch layout), not lib/pkgconfig or share/pkgconfig. Add that path to the pkg-config vars so cross-meson finds the native scanner. Keeps native Wayland support (no disabling).
2026-06-21 12:34:48 -04:00
jwinterm 7e936ba968 depends(wayland): one-line config_cmds (fix recipe parse) + find debug 2026-06-21 11:13:34 -04:00
jwinterm a4e38fc712 depends(wayland): search share/pkgconfig for native wayland-scanner (+ debug find)
wayland-scanner.pc is a noarch .pc -> build_prefix/share/pkgconfig, not lib/pkgconfig, so the earlier PKG_CONFIG_PATH_FOR_BUILD missed it. Add share/pkgconfig to LIBDIR/PATH/PATH_FOR_BUILD + a find to log the real location.
2026-06-21 09:38:43 -04:00
jwinterm 1529edc432 depends(wayland): expose native wayland-scanner to cross meson
Target wayland (-Dscanner=false) resolves the host scanner via dependency(..., native: true), which uses meson's BUILD-machine pkg-config — not pointed at build_prefix. Add PKG_CONFIG_PATH_FOR_BUILD=build_prefix + a [binaries] wayland-scanner in the cross-file. Fixes 'Dependency wayland-scanner not found' on aarch64/riscv64.
2026-06-21 07:54:52 -04:00
jwinterm b353b08ba2 ci: add linux arm64 + riscv64 depends AppImage builds (matrix)
Cross-build wowlet via depends for aarch64/riscv64 (reusing the zeromq/ICU/qt/testlib fixes), embed the matching wownerod + depends-built tor, package an AppImage via contrib/AppImage/build-appimage.sh (its hardcoded /feather runtime path relativized to GITHUB_WORKSPACE). Cached per-host, save-always.
2026-06-20 23:22:59 -04:00
jwinterm f93b3f705e depends: add zeromq (wownero needs zmq.h) + cache depends save-always
wowlet.exe reached 27% then hit 'zmq.h: No such file' — feather strips zeromq from depends (its wallet does not use zmq) but wownero cryptonote_core/net does. Port the wownero zeromq.mk + patch, register it in packages. Also switch the depends caches to restore + save(if:always) so the completed toolchain banks even when the wowlet build fails (auto post-save is skipped on job failure).
2026-06-20 19:33:43 -04:00
jwinterm 95a0fa3a3c depends(native_qt): keep testlib enabled so the host builds qmltestrunner
Cross qtdeclarative builds tools/qmltestrunner (QtQuickTest, needs testlib) and demands a matching HOST tool; the host's -no-feature-testlib left it without one, failing 'Configuring qtdeclarative' with 'Failed to find host tool Qt6::qmltestrunner'.
2026-06-20 16:38:28 -04:00
jwinterm 519187b8a1 depends: build qtdeclarative (Qt Quick/QML) in cross + host Qt — required for the mining tab on every depends cross-target (upstream Feather is widgets-only; native build only worked via distro QML) 2026-06-19 08:30:28 -04:00
tobtoht cbf966f5ba depends: qt: update to 6.11.0 2026-04-20 13:33:56 +02:00
tobtoht 1be258d72c guix: bump time-machine to 14a65594a16456f1b339c211fa3d0c498d7769ff 2026-04-20 12:33:01 +02:00
tobtoht f933c9640a depends: libgpg-error: update to 1.59 2026-04-20 12:30:39 +02:00
tobtohtandhosiet 9b17ffd1f7 depends: zxing-cpp: update to 3.0.2
Co-authored-by: hosiet <073plan@gmail.com>
2026-04-20 12:23:56 +02:00
tobtoht 007951837d depends: tor_linux: update to 0.4.9.6 2026-04-20 11:58:58 +02:00
tobtoht 88d510bc86 depends: openssl: update to 3.6.2 2026-04-20 11:43:44 +02:00
tobtoht 2e9d44e97c depends: protobuf: update to 34.1 2026-04-20 11:28:31 +02:00
tobtoht 8e472e09a7 depends: wayland: update to 1.25.0 2026-04-20 11:21:12 +02:00
tobtoht 82183e8a59 depends: expat: update to 2.7.5 2026-04-20 11:02:49 +02:00
tobtoht 78110d71fd depends: libsodium: update to 1.0.22 2026-04-20 10:52:31 +02:00
tobtoht 67243e64b9 cleanup: remove contrib/debian 2026-02-05 18:56:57 +01:00
tobtoht 1b1b5f47ae depends: libxkbcommon: update to 1.13.1 2026-02-05 12:09:54 +01:00
tobtoht 49a801453e depends: qt: update to 6.10.2 2026-02-05 12:09:54 +01:00
tobtoht 59f3df3c79 depends: tor_linux: update to 0.4.8.22 2026-02-05 12:09:54 +01:00
tobtoht 3ac9bee7ae depends: xorgproto: update to 2025.1 2026-02-05 12:09:54 +01:00
tobtoht e3bc1c1f81 depends: freetype: update to 2.14.1 2026-02-05 12:09:54 +01:00
tobtoht 866efb7a5b depends: libxcb_util_cursor: update to 0.1.6 2026-02-05 12:09:54 +01:00
tobtoht 726a8766c2 depends: wayland: update to 1.24.0 2026-02-05 12:09:53 +01:00
tobtoht 8df4900c17 depends: unbound: update to 1.24.2 2026-02-05 12:09:53 +01:00
tobtoht 560267d226 depends: openssl: update to 3.6.1 2026-02-05 12:09:53 +01:00
tobtoht 8bedb2a4f0 depends: libsodium: update to 1.0.21 2026-02-05 12:09:53 +01:00
tobtoht fd81a156f8 depends: expat: update to 2.7.4 2026-02-05 12:09:53 +01:00
tobtoht a9cd37c0e0 depends: protobuf: update to 33.5 2026-02-05 12:09:53 +01:00
tobtoht 04631b588e depends: boost: update to 1.90.0 2026-02-05 12:09:52 +01:00
tobtoht ea91f31fdd depends: abseil: update to 20260107.0 2026-02-05 12:09:48 +01:00
tobtoht 42dc35dc52 depends: qt: drop unused patches 2025-11-12 16:28:50 +01:00
tobtoht 88f64d0235 depends: qt: consolidate qtmultimedia patches 2025-11-12 16:26:56 +01:00
tobtoht 896f17f477 depends: qt: drop unneeded patches 2025-11-12 16:26:14 +01:00
tobtoht 7e8ba768b7 depends: fix expat fetch on darwin 2025-11-12 12:18:49 +01:00
tobtoht 9977005346 depends: tor_darwin: update to 0.4.8.19 2025-11-12 12:14:15 +01:00
tobtoht 8e20d31de4 depends: tor_linux: update to 0.4.8.20 2025-11-12 12:07:47 +01:00
tobtoht 373913a986 depends: unbound: update to 1.24.1 2025-11-12 12:04:43 +01:00
tobtoht dd04de1a5e depends: expat: update to 2.7.3 2025-11-12 11:57:54 +01:00
tobtoht c43785d02e depends: libxcb_util_image: cleanup patch 2025-11-12 11:57:39 +01:00
tobtoht 4eaf9300a4 guix: bump minimum macos to 14.0 2025-11-11 16:21:18 +01:00
tobtoht e1b4361021 guix: fix flatpak build 2025-11-11 13:25:20 +01:00
tobtoht bbc212f2bd guix: build macos release with clang 19 2025-11-11 10:55:01 +01:00
tobtoht bf19565016 Revert "guix: build macos release with llvm 21"
This reverts commit a4bafcd07b.
2025-11-01 21:31:23 +01:00