fix(build): embed xmrig in the Windows exe (extract it from the published zip)
The wallet is meant to ship xmrig embedded (HAS_EMBEDDED_XMRIG -> getXmrigPath() extracts it at runtime), but build.sh only embedded a flat prebuilt-binaries/xmrig-hac/xmrig.exe — while the published DRG-XMRig archive ships the binary inside a versioned subdir (drg-xmrig-6.25.3-win-x64/xmrig.exe). So xmrig.exe was never present, HAS_EMBEDDED_XMRIG stayed undefined, and the Windows wallet ran with no miner: "xmrig binary not found", pool mining and the thread benchmark both fail. build.sh now extracts xmrig.exe (flattened) from the matching win-x64 zip when a raw binary isn't already staged, so the existing embed step fires. (Checks the extracted file rather than unzip's exit code, which is non-zero when a glob matches nothing.) Verified: --win-release now logs "Extracted xmrig.exe", stages it (6.7M), and defines HAS_EMBEDDED_XMRIG=1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
18
build.sh
18
build.sh
@@ -630,6 +630,24 @@ HDR
|
||||
|
||||
# ── xmrig binary (from prebuilt-binaries/xmrig-hac/) ────────────────
|
||||
local XMRIG_DIR="$SCRIPT_DIR/prebuilt-binaries/xmrig-hac"
|
||||
# The published DRG-XMRig archives ship the binary inside a versioned subdir, not as a flat
|
||||
# xmrig.exe. Extract it from the matching win-x64 zip if it isn't already staged — otherwise
|
||||
# the embed below never fires (HAS_EMBEDDED_XMRIG stays undefined) and the wallet ships with
|
||||
# no miner ("xmrig binary not found" at runtime).
|
||||
if [[ ! -f "$XMRIG_DIR/xmrig.exe" ]]; then
|
||||
local _xz; _xz=$(ls "$XMRIG_DIR"/drg-xmrig-*-win-x64.zip 2>/dev/null | head -1)
|
||||
if [[ -n "$_xz" ]] && command -v unzip >/dev/null 2>&1; then
|
||||
local _xtmp; _xtmp=$(mktemp -d)
|
||||
# -j flattens the versioned subdir; check the file (not unzip's exit code, which is
|
||||
# non-zero if a pattern matches nothing).
|
||||
unzip -j -o "$_xz" '*xmrig.exe' -d "$_xtmp" >/dev/null 2>&1 || true
|
||||
if [[ -f "$_xtmp/xmrig.exe" ]]; then
|
||||
cp -f "$_xtmp/xmrig.exe" "$XMRIG_DIR/xmrig.exe"
|
||||
info " Extracted xmrig.exe from $(basename "$_xz")"
|
||||
fi
|
||||
rm -rf "$_xtmp"
|
||||
fi
|
||||
fi
|
||||
if [[ -f "$XMRIG_DIR/xmrig.exe" ]]; then
|
||||
cp -f "$XMRIG_DIR/xmrig.exe" "$RES/xmrig.exe"
|
||||
info " Staged xmrig.exe ($(du -h "$XMRIG_DIR/xmrig.exe" | cut -f1))"
|
||||
|
||||
Reference in New Issue
Block a user