diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index aa081ca..248823d 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -115,23 +115,24 @@ jobs: git submodule update --init --recursive # --- 1. CLEANUP --- - - name: Nuke Old Boost Cache + - name: Clean Environment run: | - echo "Nuking cache..." + echo "Clearing cache..." rm -rf external/monero/contrib/depends/work/build/x86_64-w64-mingw32/boost rm -rf external/monero/contrib/depends/built/x86_64-w64-mingw32/boost rm -rf external/monero/contrib/depends/work/download/boost* - # Delete the patch directory to clear any "directory-as-file" errors - rm -rf external/monero/contrib/depends/packages/boost + # Remove stage to ensure no old patches linger + rm -rf external/monero/contrib/depends/work/stage/x86_64-w64-mingw32/boost - # --- 2. UPGRADE BOOST (The "Zero-Byte Patch" Fix) --- + # --- 2. UPGRADE BOOST & NEUTRALIZE ALL PATCHES --- - name: Upgrade Boost Version to 1.80.0 run: | echo "Forcing depends to use Boost 1.80.0..." BOOST_MK="external/monero/contrib/depends/packages/boost.mk" - BOOST_PATCH_DIR="external/monero/contrib/depends/packages/boost" + PATCH_DIR="external/monero/contrib/depends/packages/boost" - # 1. Update Version and Hash + # 1. Update Version and Hash in Makefile + # This renames patches too! (e.g. boost_1_69_0.patch -> boost_1_80_0.patch) 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 @@ -139,22 +140,23 @@ jobs: # 2. Add Context/Coroutine libraries sed -i 's/chrono,/chrono,context,coroutine,/g' $BOOST_MK - # 3. MOCK ALL PATCHES - # We recreate the patch directory - mkdir -p $BOOST_PATCH_DIR + # 3. AUTO-ZERO ALL PATCHES + # Ensure directory exists + mkdir -p $PATCH_DIR - # We grep the Makefile for ANY file ending in .patch and overwrite it with 0 bytes. - # This satisfies the build system ("File exists") but does nothing ("Empty content"). - grep -o '[a-zA-Z0-9._-]*\.patch' $BOOST_MK | sort | uniq | while read -r patch_file; do - echo "Zeroing out patch: $patch_file" - echo -n "" > "$BOOST_PATCH_DIR/$patch_file" + # We search the MODIFIED Makefile for any word ending in .patch + # We then create that file (empty) in the patch directory. + echo "Scanning for patches to neutralize..." + grep -o '[A-Za-z0-9._-]*\.patch' $BOOST_MK | sort | uniq | while read -r patch_file; do + echo "Creating dummy patch: $patch_file" + echo -n "" > "$PATCH_DIR/$patch_file" done - # Safety net: Explicitly create this one in case grep missed it - echo -n "" > "$BOOST_PATCH_DIR/fix_aroptions.patch" + # Safety Net: Explicitly create fix_aroptions.patch just in case grep missed it + echo -n "" > "$PATCH_DIR/fix_aroptions.patch" - # Debug: Show the empty files - ls -la $BOOST_PATCH_DIR + # Debug: Show the dummy files we created + ls -l $PATCH_DIR # --- 3. BUILD DEPENDENCIES --- - name: Build Windows Dependencies