diff options
| -rw-r--r-- | .woodpecker/linux.yaml | 65 | ||||
| -rw-r--r-- | Makefile | 20 |
2 files changed, 41 insertions, 44 deletions
diff --git a/.woodpecker/linux.yaml b/.woodpecker/linux.yaml index 9214036..bcd2506 100644 --- a/.woodpecker/linux.yaml +++ b/.woodpecker/linux.yaml @@ -4,14 +4,23 @@ matrix: platform: linux/amd64 monero_make: monero_linux_amd64 moneroc_make: moneroc_linux_host64 + prepare_cmd: echo ok + prepare_cmd_depends: echo ok + triplet: x86_64-linux-gnu - image: git.mrcyjanek.net/mrcyjanek/debian:bookworm platform: linux/arm64 monero_make: monero_linux_arm64 moneroc_make: moneroc_linux_host64 + prepare_cmd: echo ok + prepare_cmd_depends: echo ok + triplet: aarch64-linux-gnu - image: git.mrcyjanek.net/mrcyjanek/sailfishos:4.5.0.18_aarch64 platform: linux/arm64 monero_make: monero_linux_arm64 moneroc_make: moneroc_linux_host64 + prepare_cmd: zypper in -y git clang libxkbcommon-devel wayland-protocols-devel wayland-client wayland-egl-devel make glibc-static + prepare_cmd_depends: make host_tool_perl + triplet: aarch64-linux-sailfishos labels: platform: ${platform} @@ -21,67 +30,47 @@ steps: image: git.mrcyjanek.net/mrcyjanek/debian:bookworm commands: - make download - - name: build libiconv_host + - name: build depends image: ${image} commands: + - ${prepare_cmd} + - ${prepare_cmd_depends} - make libiconv_host - - name: build boost_host - image: ${image} - commands: - make boost_host - - name: build zlib_host - image: ${image} - commands: - make zlib_host - - name: build openssl_host - image: ${image} - commands: - make openssl_host - - name: build openssl_host_alt - image: ${image} - commands: - make openssl_host_alt - - name: build libzmq_host - image: ${image} - commands: - make libzmq_host - - name: build libsodium_host - image: ${image} - commands: - make libsodium_host - - name: build host_copy_libs - image: ${image} - commands: - make host_copy_libs - - name: build libexpat_host - image: ${image} - commands: - make libexpat_host - - name: build unbound_host - image: ${image} - commands: - make unbound_host - - name: build polyseed_host - image: ${image} - commands: - make polyseed_host - - name: build utf8proc_host - image: ${image} - commands: - make utf8proc_host - - name: build monero (${monero_make}) - image: ${image} - commands: + - make host_copy_libs - make ${monero_make} - name: build ${moneroc_make} image: ${image} commands: + - ${prepare_cmd} - make ${moneroc_make} - name: info - image: ${image} + image: git.mrcyjanek.net/mrcyjanek/debian:bookworm commands: + - ${prepare_cmd} - ls -lah libbridge/build/libwallet2_api_c.so - file libbridge/build/libwallet2_api_c.so - md5sum libbridge/build/libwallet2_api_c.so - sha256sum libbridge/build/libwallet2_api_c.so - sha512sum libbridge/build/libwallet2_api_c.so + - name: upload artifact + image: git.mrcyjanek.net/mrcyjanek/debian:bookworm + commands: + - rm -rf ~/.ssh || true + - mkdir -p ~/.ssh + - echo "$${SSH_PRIVKEY}" > ~/.ssh/id_rsa + - chmod 700 ~/.ssh + - chmod 600 ~/.ssh/id_rsa + - xz -e libbridge/build/libwallet2_api_c.so + - rsync --mkpath -e "ssh -o StrictHostKeyChecking=no" -raz libbridge/build/libwallet2_api_c.so.xz $${SSH_HOST}:"$${SSH_BASE_PATH}/$(git describe --tags)/$${triplet}_libwallet2_api_c.so.xz" + secrets: [ ssh_privkey, ssh_host, ssh_base_path ]
\ No newline at end of file @@ -64,12 +64,18 @@ download: (cd utf8proc && git reset --hard ${UTF8PROC_HASH}) +# This is just a suggestion of the steps, you should figure on your own what is required +# and what's not. +# A general rule of thumb is that `make host_depends` works everywhere, but not everything +# is required. But since we target so many different OS.. yeah. .PHONY: host_depends host_depends: libiconv_host boost_host zlib_host openssl_host openssl_host_alt libzmq_host libsodium_host host_copy_libs libexpat_host unbound_host polyseed_host utf8proc_host .PHONY: host_copy_libs host_copy_libs: -cp -a ${PREFIX}/lib64/* ${PREFIX}/lib # fix linking issue (openssl?) + -mkdir -p ${PREFIX}/openssl/lib + -cp -a ${PREFIX}/openssl/lib64/* ${PREFIX}/openssl/lib # fix linking issue (openssl?) .PHONY: host_move_libs host_move_libs: @@ -98,13 +104,13 @@ zlib_host: .PHONY: openssl_host openssl_host: - cd openssl-${OPENSSL_VERSION} && env PATH="/usr/local/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX} --openssldir=${PREFIX} -fPIC + cd openssl-${OPENSSL_VERSION} && env PATH="${PREFIX}/perl/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX} --openssldir=${PREFIX} -fPIC cd openssl-${OPENSSL_VERSION} && make -j${NPROC} cd openssl-${OPENSSL_VERSION} && make install_sw .PHONY: openssl_host_alt openssl_host_alt: - cd openssl-${OPENSSL_VERSION} && env PATH="/usr/local/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX}/openssl --openssldir=${PREFIX}/openssl -fPIC + cd openssl-${OPENSSL_VERSION} && env PATH="${PREFIX}/perl/bin/:${PATH}" ./Configure -static no-shared no-tests --with-zlib-include=${PREFIX}/zlib/include --with-zlib-lib=${PREFIX}/zlib/lib --prefix=${PREFIX}/openssl --openssldir=${PREFIX}/openssl -fPIC cd openssl-${OPENSSL_VERSION} && make -j${NPROC} cd openssl-${OPENSSL_VERSION} && make install_sw @@ -184,9 +190,11 @@ moneroc_linux_host64: .PHONY: host_tool_perl host_tool_perl: - rm -rf perl-5.38.2* || true + rm -rf perl-* || true curl -O https://www.cpan.org/src/${PERL_VERSION_MAJOR}/perl-${PERL_VERSION_FULL}.tar.gz echo "${PERL_HASH} perl-${PERL_VERSION_FULL}.tar.gz" | sha256sum -c - tar xzf perl-5.38.2.tar.gz - ./configure.gnu - make -j${NPROC}
\ No newline at end of file + tar xzf perl-${PERL_VERSION_FULL}.tar.gz + rm perl-${PERL_VERSION_FULL}.tar.gz + cd perl-${PERL_VERSION_FULL} && ./Configure -des -Dprefix=${PREFIX}/perl + cd perl-${PERL_VERSION_FULL} && make -j${NPROC} + cd perl-${PERL_VERSION_FULL} && make install
\ No newline at end of file |
