summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2026-03-02 19:57:53 +0100
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2026-03-02 19:57:53 +0100
commit7822a22d63d78ab737aad98b5e44fc78d03d15e3 (patch)
treee3482048039a973bfde3b19f31d027e36b2d2d6c
parent2d8b0a52450ce3dc3c4e39889cae713b1abd991f (diff)
fix: minor build issue fixes
l---------.dockerignore1
-rw-r--r--.gitignore4
-rwxr-xr-xbuild_single.sh2
-rw-r--r--builder/Dockerfile127
-rw-r--r--contrib/depends/Makefile12
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
diff --git a/.gitignore b/.gitignore
index 1222ffa..7c5c5a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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