From 398fe0fe55f12b09914a2502e386f91768deb154 Mon Sep 17 00:00:00 2001 From: such-gitea Date: Fri, 9 Jan 2026 09:19:49 -0800 Subject: [PATCH] Update .gitea/workflows/build.yaml --- .gitea/workflows/build.yaml | 49 +++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 2aaefb5..6fc15ee 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -109,7 +109,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - # We must start clean to ensure the 'depends' system rebuilds Boost correctly + # We MUST clean workspace to ensure the 'depends' system rebuilds Boost echo "Cleaning workspace..." rm -rf * @@ -129,39 +129,52 @@ jobs: /bin/bash -c " set -e - # 1. Trust the repo (Fixes 'dubious ownership') + # 1. Trust the repo git config --global --add safe.directory '*' - - # 2. Relax CMake Boost Requirement (Accept 1.69) - echo 'Patching CMakeLists.txt to accept Boost 1.69...' - sed -i 's/1.70/1.69/g' CMakeLists.txt || true - sed -i 's/1\.70/1\.69/g' CMakeLists.txt || true - # 3. SURGICAL PATCH for Boost.mk (Fixes the breakage!) - # We only replace 'filesystem' if the line also contains 'package_config_libraries' - # This ensures we don't break the build command structure. - echo 'Patching boost.mk safely...' - sed -i '/package_config_libraries/s/filesystem/filesystem context coroutine/' external/monero/contrib/depends/packages/boost.mk + # --- THE MEGA PATCH: UPGRADE BOOST TO 1.80.0 --- + BOOST_MK=external/monero/contrib/depends/packages/boost.mk - # 4. Build Dependencies - echo 'Building Dependencies...' + echo 'Applying Mega Patch to boost.mk...' + + # A. Set Version and Hash (Using the tar.gz hash for 1.80.0) + sed -i 's/1_69_0/1_80_0/g' \$BOOST_MK + sed -i 's/1.69.0/1.80.0/g' \$BOOST_MK + sed -i 's/sha256_hash=.*$/sha256_hash=4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847/g' \$BOOST_MK + + # B. Delete the old 1.69 patches (Critical! Fixes 'Hunk failed' errors) + # We delete the lines in the makefile that try to apply these patches. + sed -i '/fix_aroptions.patch/d' \$BOOST_MK + sed -i '/boost_1_69_0_gcc.patch/d' \$BOOST_MK + + # C. Add Context and Coroutine to the build list + # We use a safe regex to only append the libs to the configuration line + sed -i '/package_config_libraries/s/filesystem/filesystem context coroutine/' \$BOOST_MK + + # --- END PATCH --- + + # 2. Build Dependencies + # This will download and build Boost 1.80.0 from scratch. + echo 'Building Dependencies (Boost 1.80)...' cd external/monero/contrib/depends make HOST=x86_64-w64-mingw32 -j$(nproc) - # 5. Configure Project + # 3. Configure Project echo 'Configuring Wownero LWS...' cd ../../../.. mkdir -p build && cd build - # We add -DBoost_USE_STATIC_LIBS=ON to help CMake find the .a files - # We add -DBoost_DEBUG=ON so if it fails, the logs tell us exactly why + # We update CMake to specifically look for 1.80 (just in case) + sed -i 's/1.70/1.80/g' ../CMakeLists.txt || true + + # Standard CMake Configure with Static Libraries cmake .. \ -DCMAKE_TOOLCHAIN_FILE=../external/monero/contrib/depends/x86_64-w64-mingw32/share/toolchain.cmake \ -DCMAKE_BUILD_TYPE=Release \ -DBoost_USE_STATIC_LIBS=ON \ -DBoost_DEBUG=ON - # 6. Compile + # 4. Compile echo 'Compiling...' make -j$(nproc) "