summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.woodpecker/linux.yaml65
-rw-r--r--Makefile20
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
diff --git a/Makefile b/Makefile
index 56ba3e3..931a661 100644
--- a/Makefile
+++ b/Makefile
@@ -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