mirror of
https://forge.fsky.io/lda/Parsee.git
synced 2026-03-13 16:45:10 +00:00
56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
name: Builds static Parsee for a release.
|
|
on: [release, workflow_dispatch]
|
|
jobs:
|
|
compile:
|
|
runs-on: amd64-debian
|
|
container:
|
|
image: debian:12
|
|
steps:
|
|
- name: Install LMDB+OpenSSL tools
|
|
run: |
|
|
echo $(uname -a) $(env | grep container)
|
|
apt update -y
|
|
apt install -y build-essential liblmdb-dev nodejs libssl-dev git
|
|
- name: Clone everything
|
|
run: |
|
|
mkdir -p repos
|
|
git clone --depth=1 https://git.musl-libc.org/git/musl repos/musl
|
|
git clone --depth=1 https://github.com/openssl/openssl repos/openssl
|
|
git clone --depth=1 https://github.com/LMDB/lmdb repos/lmdb
|
|
git clone --depth=1 https://git.kappach.at/KappaChat/Cytoplasm repos/cyto
|
|
echo "PREFIX=$GITHUB_WORKSPACE/usr" >> $GITHUB_ENV
|
|
echo "PATH=$GITHUB_WORKSPACE/usr/bin:$PATH" >> $GITHUB_ENV
|
|
echo "INCLUDE_PATH=$GITHUB_WORKSPACE/usr/include" >> $GITHUB_ENV
|
|
echo "LIBRARY_PATH=$GITHUB_WORKSPACE/usr/lib" >> $GITHUB_ENV
|
|
- name: Build musl
|
|
run: |
|
|
cd repos/musl
|
|
./configure --prefix=${PREFIX}
|
|
make -j$(nproc)
|
|
make install -j$(nproc)
|
|
alias musl-gcc="musl-gcc -Wl,-Bstatic -L ${PREFIX}/lib"
|
|
- name: Build OpenSSL
|
|
run: |
|
|
alias musl-gcc="musl-gcc -Wl,-Bstatic -L ${PREFIX}/lib"
|
|
cd repos/openssl
|
|
CC=musl-gcc ./Configure -static --static --prefix=${PREFIX} no-async no-engine -DOPENSSL_NO_SECURE_MEMORY
|
|
make -j$(nproc)
|
|
make install -j$(nproc)
|
|
cp libcrypto.a ${PREFIX}/lib
|
|
cp libssl.a ${PREFIX}/lib
|
|
- name: Build LMDB
|
|
run: |
|
|
alias musl-gcc="musl-gcc -Wl,-Bstatic -L ${PREFIX}/lib"
|
|
cd repos/lmdb/libraries/liblmdb
|
|
make CC=musl-gcc
|
|
make install prefix=${PREFIX}
|
|
- name: Build Cytoplasm
|
|
run: |
|
|
alias musl-gcc="musl-gcc -Wl,-Bstatic -L ${PREFIX}/lib"
|
|
cd repos/cyto
|
|
rm configure
|
|
wget https://kappach.at/configure
|
|
chmod +x configure
|
|
./configure --cc=musl-gcc --prefix=${PREFIX} --with-lmdb
|
|
make -j$(nproc)
|
|
make install
|