diff options
| -rwxr-xr-x | build_single.sh | 9 | ||||
| -rw-r--r-- | builder/Dockerfile | 41 | ||||
| -rwxr-xr-x | builder/release.sh | 2 | ||||
| -rw-r--r-- | contrib/depends/Makefile | 3 |
4 files changed, 32 insertions, 23 deletions
diff --git a/build_single.sh b/build_single.sh index 35aa2b1..8be1e0b 100755 --- a/build_single.sh +++ b/build_single.sh @@ -98,13 +98,4 @@ pushd release/$repo APPENDIX="${APPENDIX}so" fi mv ../../${repo}_libwallet2_api_c/build/${HOST_ABI}/libwallet2_api_c.${APPENDIX} ${HOST_ABI}_libwallet2_api_c.${APPENDIX} - # Extra libraries - if [[ "$HOST_ABI" == "x86_64-w64-mingw32" || "$HOST_ABI" == "i686-w64-mingw32" ]]; - then - cp /usr/${HOST_ABI}/lib/libwinpthread-1.dll ${HOST_ABI}_libwinpthread-1.dll - rm ${HOST_ABI}_libwinpthread-1.dll.xz || true - #### - cp /usr/lib/gcc/${HOST_ABI}/*-posix/libssp-0.dll ${HOST_ABI}_libssp-0.dll - rm ${HOST_ABI}_libssp-0.dll.xz || true - fi popd diff --git a/builder/Dockerfile b/builder/Dockerfile index d21ba24..f1406e2 100644 --- a/builder/Dockerfile +++ b/builder/Dockerfile @@ -1,10 +1,15 @@ 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 \ + && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ - && useradd -ms /bin/bash user + && useradd -ms /bin/bash user \ + && adduser user sudo \ + && chown user:user /w \ + && chmod 775 /w USER user @@ -14,7 +19,8 @@ RUN git config --global user.email "monero_c@mrcyjanek.net" \ FROM builder_base AS contrib_simplybs COPY contrib/depends /w/contrib/depends -RUN cd /w/contrib/depends \ +RUN sudo chown -R user:user /w \ + && cd /w/contrib/depends \ && make simplybs \ && make HOST=aarch64-linux-android \ && make HOST=aarch64-linux-android BOOST_VERSION=1_83_0 \ @@ -37,63 +43,74 @@ RUN cd /w/contrib/depends \ FROM builder_base AS monero_c_base COPY . /w +RUN sudo chown -R user:user /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_aarch64_linux_android -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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_x86_64_linux_android -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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_armv7a_linux_androideabi -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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_aarch64_linux_gnu -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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 FROM monero_c_base AS monero_c_x86_64_linux_gnu -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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 FROM monero_c_base AS monero_c_x86_64_apple_darwin -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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 FROM monero_c_base AS monero_c_aarch64_apple_darwin -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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 FROM monero_c_base AS monero_c_aarch64_apple_ios -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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_aarch64_apple_ios-simulator -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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_x86_64-w64-mingw32 -COPY --from=builder /w/contrib/depends /w/contrib/depends +COPY --from=contrib_simplybs /w/contrib/depends /w/contrib/depends +RUN sudo chown -R user:user /w 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 diff --git a/builder/release.sh b/builder/release.sh index f240bac..a6a830c 100755 --- a/builder/release.sh +++ b/builder/release.sh @@ -5,7 +5,7 @@ cd $(dirname $0) cd .. img=localhost/monero_c:$(git describe --tags) -docker build -t $img -f ./builder/Dockerfile +docker build -t $img -f ./builder/Dockerfile . docker create --name temp_extract $img diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile index a998193..9b26205 100644 --- a/contrib/depends/Makefile +++ b/contrib/depends/Makefile @@ -4,7 +4,7 @@ HOST ?= BOOST_VERSION ?= 1_90_0 PACKAGES = native/cmake,native/python@3.14,native/git,native/_,native/make,native/cmake-toolchain,icu4c,boost@$(BOOST_VERSION),zeromq,unbound,sodium,openssl,libiconv,zlib -SIMPLYBS_HASH = 184235706c2665432304ef28b106da52807a9686 +SIMPLYBS_HASH = a37442738bc26fbe4e526f48694746b2efed2c2b all: simplybs $(if $(HOST),sbs-build-$(HOST),) @if [ -z "$(HOST)" ]; then \ @@ -17,6 +17,7 @@ all: simplybs $(if $(HOST),sbs-build-$(HOST),) sbs-cleanup: @rm -rf simplybs/_ @rm -rf simplybs/_native + @rm -rf _native @rm -rf *-*-* @rm -rf simplybs/.buildlib/*_*/work @rm -rf simplybs/.buildlib/*_*/staging |
