added intial woodpecker config

This commit is contained in:
Czarek Nakamoto
2024-02-15 00:31:19 +01:00
parent 81ccfac99e
commit c7c553a7f3
2 changed files with 121 additions and 0 deletions

40
.env Normal file
View File

@@ -0,0 +1,40 @@
PREFIX=/opt/linux/prefix
NPROC=4
PATH=/usr/cmake-3.14.6-Linux-x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# CMake
CMAKE_VERSION='3.14.6'
CMAKE_HASH='82e08e50ba921035efa82b859c74c5fbe27d3e49a4003020e3c77618a4e912cd'
# Boost
BOOST_VERSION='1_70_0'
BOOST_VERSION_DOT='1.70.0'
BOOST_HASH='430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778'
# iconv
ICONV_VERSION='1.16'
ICONV_HASH='e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04'
# zlib
ZLIB_VERSION='1.3.1'
ZLIB_HASH='9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'
# OpenSSL
OPENSSL_VERSION='3.2.0'
OPENSSL_HASH='14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e'
# ZMQ
ZMQ_VERSION='v4.3.2'
ZMQ_HASH='a84ffa12b2eb3569ced199660bac5ad128bff1f0'
# libsodium
SODIUM_VERSION='1.0.18'
SODIUM_HASH='4f5e89fa84ce1d178a6765b8b46f2b6f91216677'
# libexpat
LIBEXPAT_VERSION='R_2_4_8'
LIBEXPAT_HASH='3bab6c09bbe8bf42d84b81563ddbcf4cca4be838'
# libunbound
LIBUNBOUND_VERSION='branch-1.16.1'
LIBUNBOUND_HASH='903538c76e1d8eb30d0814bb55c3ef1ea28164e8'
# polyseed
POLYSEED_HASH='b7c35bb3c6b91e481ecb04fc235eaff69c507fa1'
# utf8proc
UTF8PROC_HASH='1cb28a66ca79a0845e99433fd1056257456cef8b'
# (finally) monero
MONERO_GIT_SOURCE_SIMPLE='git.mrcyjanek.net_mrcyjanek_monero'
MONERO_GIT_SOURCE=https://git.mrcyjanek.net/mrcyjanek/monero.git
MONERO_TAG='release-v0.18.3.1-anonero'

81
.woodpecker/linux.yaml Normal file
View File

@@ -0,0 +1,81 @@
matrix:
include:
- HOST_TRIPLET: x86_64-linux-gnu
BUILD_TRIPLET: x86_64-linux-gnu
short_arch: x86_64
full_arch: x86_64
monero_arch: x86-64
monero_buildtag: linux-x86_64
monero_build64: 'ON'
monero_cmake_arm_mode: 'OFF'
platform:
- linux/amd64
steps:
- name: clone repositories
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
commands:
- . ./.env
# Monero
- (git clone $${MONERO_GIT_SOURCE} --depth=1 --branch $${MONERO_TAG} monero && cd monero && git submodule init && git submodule update)
# Boost
- curl -L -o boost_$${BOOST_VERSION}.tar.bz2 https://archives.boost.io/release/$${BOOST_VERSION_DOT}/source/boost_$${BOOST_VERSION}.tar.bz2
- echo "$${BOOST_HASH} boost_$${BOOST_VERSION}.tar.bz2" | sha256sum -c
- tar -xf boost_$${BOOST_VERSION}.tar.bz2
- rm -f boost_$${BOOST_VERSION}.tar.bz2
# libiconv
- curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-$${ICONV_VERSION}.tar.gz
- echo "$${ICONV_HASH} libiconv-$${ICONV_VERSION}.tar.gz" | sha256sum -c
- tar -xzf libiconv-$${ICONV_VERSION}.tar.gz
- rm -f libiconv-$${ICONV_VERSION}.tar.gz
# zlib
- curl -O https://zlib.net/zlib-$${ZLIB_VERSION}.tar.gz
- echo "$${ZLIB_HASH} zlib-$${ZLIB_VERSION}.tar.gz" | sha256sum -c
- tar -xzf zlib-$${ZLIB_VERSION}.tar.gz
- rm zlib-$${ZLIB_VERSION}.tar.gz
- mv zlib-$${ZLIB_VERSION} zlib
# openssl
- curl -O https://www.openssl.org/source/openssl-$${OPENSSL_VERSION}.tar.gz
- echo "$${OPENSSL_HASH} openssl-$${OPENSSL_VERSION}.tar.gz" | sha256sum -c
- tar -xzf openssl-$${OPENSSL_VERSION}.tar.gz
- rm openssl-$${OPENSSL_VERSION}.tar.gz
# libzmq
- git clone https://github.com/zeromq/libzmq.git -b $${ZMQ_VERSION} --depth=1
- (cd libzmq && test `git rev-parse HEAD` = $${ZMQ_HASH}) || exit 1
# libsodium
- git clone https://github.com/jedisct1/libsodium.git -b $${SODIUM_VERSION} --depth=1
- (cd libsodium && test `git rev-parse HEAD` = $${SODIUM_HASH}) || exit 1
# libexpat
- git clone https://github.com/libexpat/libexpat.git -b $${LIBEXPAT_VERSION} --depth=1
- (cd libexpat && test `git rev-parse HEAD` = $${LIBEXPAT_HASH}) || exit 1
# unbound
- git clone https://github.com/NLnetLabs/unbound.git -b $${LIBUNBOUND_VERSION} --depth=1
- cd unbound
- test `git rev-parse HEAD` = $${LIBUNBOUND_HASH} || exit 1
# polyseed
- git clone https://github.com/tevador/polyseed.git
- (cd polyseed && git reset --hard $${POLYSEED_HASH}) || exit 1
# utf8proc
- git clone https://github.com/JuliaStrings/utf8proc -b v2.8.0 --depth=1
- (cd utf8proc && git reset --hard $${UTF8PROC_HASH})
- name: Build boost (1/2)
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
commands:
- . ./.env && export PREFIX="$${PWD}/pfx"
- cd boost_$${BOOST_VERSION}
- ./bootstrap.sh --prefix="$${PREFIX}"
- name: Build iconv (for boost)
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
commands:
- . ./.env && export PREFIX="$${PWD}/pfx"
- cd libiconv-${ICONV_VERSION}
- ./configure --build=${BUILD_TRIPLET} --host=${HOST_TRIPLET} --prefix=$${PREFIX} --disable-rpath
- make -j${NPROC}
- make install
- name: Build boost (2/2)
image: git.mrcyjanek.net/mrcyjanek/debian:bookworm
commands:
- . ./.env && export PREFIX="$${PWD}/pfx"
- cd boost_${BOOST_VERSION}
- echo -n -e '\n#undef PTHREAD_STACK_MIN\n#define PTHREAD_STACK_MIN 16384\n' | cat - ./boost/thread/pthread/thread_data.hpp > temp && mv temp ./boost/thread/pthread/thread_data.hpp
- ./b2 cxxflags=-fPIC cflags=-fPIC --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=linux --stagedir=linux toolset=gcc threading=multi threadapi=pthread -sICONV_PATH=${PREFIX} install -j${NPROC} &>/tmp/boost_log.txt || cat /tmp/boost_log.txt