diff options
| author | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2026-03-02 19:57:53 +0100 |
|---|---|---|
| committer | Czarek Nakamoto <cyjan@mrcyjanek.net> | 2026-03-02 19:57:53 +0100 |
| commit | 7822a22d63d78ab737aad98b5e44fc78d03d15e3 (patch) | |
| tree | e3482048039a973bfde3b19f31d027e36b2d2d6c | |
| parent | 2d8b0a52450ce3dc3c4e39889cae713b1abd991f (diff) | |
fix: minor build issue fixes
| l--------- | .dockerignore | 1 | ||||
| -rw-r--r-- | .gitignore | 4 | ||||
| -rwxr-xr-x | build_single.sh | 2 | ||||
| -rw-r--r-- | builder/Dockerfile | 127 | ||||
| -rw-r--r-- | contrib/depends/Makefile | 12 |
5 files changed, 143 insertions, 3 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 120000 index 0000000..3e4e48b --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.gitignore
\ No newline at end of file @@ -3,3 +3,7 @@ build/ tests/dependencies tests/wallets .DS_Store +contrib/depends/*-*-* +contrib/depends/_ +contrib/depends/simplybs +*_libwallet2_api_c/build diff --git a/build_single.sh b/build_single.sh index 150509a..a9431bd 100755 --- a/build_single.sh +++ b/build_single.sh @@ -59,7 +59,7 @@ pushd contrib/depends popd source contrib/depends/$HOST_ABI/_source_me export PATH="$(PWD)/contrib/depends/$HOST_ABI/native/bin:$PATH" - +exit 13 buildType=Release pushd ${repo}_libwallet2_api_c diff --git a/builder/Dockerfile b/builder/Dockerfile new file mode 100644 index 0000000..44b7413 --- /dev/null +++ b/builder/Dockerfile @@ -0,0 +1,127 @@ +FROM --platform=linux/amd64 golang:1.26.0-bookworm AS builder_base +WORKDIR /w +RUN apt update \ + && apt install -y git clang llvm gcc g++ sudo \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && useradd -ms /bin/bash user + +USER user + +RUN git config --global user.email "monero_c@mrcyjanek.net" \ + && git config --global user.name "MoneroC CI" + +FROM builder_base AS contrib_simplybs +COPY contrib/depends /w/contrib/depends +RUN cd /w/contrib/depends \ + && make simplybs + +FROM contrib_simplybs AS builder_aarch64_linux_android +RUN cd /w/contrib/depends && make HOST=aarch64-linux-android && make sbs-cleanup + +FROM contrib_simplybs AS builder_x86_64_linux_android +RUN cd /w/contrib/depends && make HOST=x86_64-linux-android && make sbs-cleanup + +FROM contrib_simplybs AS builder_armv7a_linux_androideabi +RUN cd /w/contrib/depends && make HOST=armv7a-linux-androideabi && make sbs-cleanup + +FROM contrib_simplybs AS builder_aarch64_linux_gnu +RUN cd /w/contrib/depends && make HOST=aarch64-linux-gnu && make sbs-cleanup + +FROM contrib_simplybs AS builder_x86_64_linux_gnu +RUN cd /w/contrib/depends && make HOST=x86_64-linux-gnu && make sbs-cleanup + +FROM contrib_simplybs AS builder_x86_64_apple_darwin +RUN cd /w/contrib/depends && make HOST=x86_64-apple-darwin && make sbs-cleanup + +FROM contrib_simplybs AS builder_aarch64_apple_darwin +RUN cd /w/contrib/depends && make HOST=aarch64-apple-darwin && make sbs-cleanup + +FROM contrib_simplybs AS builder_aarch64_apple_ios +RUN cd /w/contrib/depends && make HOST=aarch64-apple-ios && make sbs-cleanup + +FROM contrib_simplybs AS builder_aarch64_apple_ios-simulator +RUN cd /w/contrib/depends && make HOST=aarch64-apple-ios-simulator && make sbs-cleanup + +FROM contrib_simplybs AS builder_x86_64-w64-mingw32 +RUN cd /w/contrib/depends && make HOST=x86_64-w64-mingw32 && make sbs-cleanup + +FROM builder_base AS monero_c_base +COPY . /w +RUN git submodule update --init --force --recursive \ + && ./apply_patches.sh monero \ + && ./apply_patches.sh wownero \ + && ./apply_patches.sh zano + +FROM monero_c_base AS monero_c_monero_aarch64_linux_android +COPY --from=builder_aarch64_linux_android /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero aarch64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero aarch64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano aarch64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_x86_64_linux_android +COPY --from=builder_x86_64_linux_android /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero x86_64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero x86_64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano x86_64-linux-android -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_armv7a_linux_androideabi +COPY --from=builder_armv7a_linux_androideabi /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero armv7a-linux-androideabi -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero armv7a-linux-androideabi -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano armv7a-linux-androideabi -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_aarch64_linux_gnu +COPY --from=builder_aarch64_linux_gnu /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero aarch64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero aarch64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano aarch64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_x86_64_linux_gnu +COPY --from=builder_x86_64_linux_gnu /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero x86_64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero x86_64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano x86_64-linux-gnu -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_x86_64_apple_darwin +COPY --from=builder_x86_64_apple_darwin /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero x86_64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero x86_64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano x86_64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_aarch64_apple_darwin +COPY --from=builder_aarch64_apple_darwin /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero aarch64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero aarch64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano aarch64-apple-darwin -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_aarch64_apple_ios +COPY --from=builder_aarch64_apple_ios /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero aarch64-apple-ios -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero aarch64-apple-ios -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano aarch64-apple-ios -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_aarch64_apple_ios-simulator +COPY --from=builder_aarch64_apple_ios_simulator /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero aarch64-apple-ios-simulator -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero aarch64-apple-ios-simulator -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano aarch64-apple-ios-simulator -j$(nproc) && cd contrib/depends && make sbs-cleanup + +FROM monero_c_base AS monero_c_monero_x86_64-w64-mingw32 +COPY --from=builder_x86_64-w64-mingw32 /w/contrib/depends /w/contrib/depends +RUN ./build_single.sh monero x86_64-w64-mingw32 -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh wownero x86_64-w64-mingw32 -j$(nproc) && cd contrib/depends && make sbs-cleanup +RUN ./build_single.sh zano x86_64-w64-mingw32 -j$(nproc) && cd contrib/depends && make sbs-cleanup + + +FROM scratch AS final +COPY --from=monero_c_monero_aarch64_linux_android /w/release/ release/ +COPY --from=monero_c_monero_x86_64_linux_android /w/release/ release/ +COPY --from=monero_c_monero_armv7a_linux_androideabi /w/release/ release/ +COPY --from=monero_c_monero_aarch64_linux_gnu /w/release/ release/ +COPY --from=monero_c_monero_x86_64_linux_gnu /w/release/ release/ +COPY --from=monero_c_monero_x86_64_apple_darwin /w/release/ release/ +COPY --from=monero_c_monero_aarch64_apple_darwin /w/release/ release/ +COPY --from=monero_c_monero_aarch64_apple_ios /w/release/ release/ +COPY --from=monero_c_monero_aarch64_apple_ios-simulator /w/release/ release/ +COPY --from=monero_c_monero_x86_64-w64-mingw32 /w/release/ release/ diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile index 52fda9f..c88eba5 100644 --- a/contrib/depends/Makefile +++ b/contrib/depends/Makefile @@ -3,7 +3,7 @@ HOST ?= PACKAGES = native/cmake,native/python@3.14,native/git,native/_,native/make,native/cmake-toolchain,boost,zeromq,unbound,sodium,openssl,zlib -SIMPLYBS_HASH = 70ca89de2de7a0683b43b8a2cf7d95f925edf85c +SIMPLYBS_HASH = d1f3c85a5b2dd2e612a4d3e431d8d0bc2cb399fe all: simplybs $(if $(HOST),sbs-build-$(HOST),) @if [ -z "$(HOST)" ]; then \ @@ -11,7 +11,15 @@ all: simplybs $(if $(HOST),sbs-build-$(HOST),) exit 1; \ fi -.PHONY: simplybs sbs-build-% +.PHONY: simplybs sbs-build-% sps-cleanup + +sbs-cleanup: + @rm -rf simplybs/_ + @rm -rf simplybs/_native + @rm -rf *-*-* + @rm -rf simplybs/.buildlib/*_*/work + @rm -rf simplybs/.buildlib/*_*/staging + @rm -rf simplybs/.buildlib/source simplybs: git clone https://github.com/mrcyjanek/simplybs || true |
