update makefile and woodpecker ci

This commit is contained in:
Czarek Nakamoto
2024-02-29 22:05:27 +01:00
parent c6350ec177
commit 806442cfcc
2 changed files with 41 additions and 44 deletions
+27 -38
View File
@@ -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 ]
+14 -6
View 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}
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