neveko/scripts/build_release.sh

49 lines
2 KiB
Bash
Raw Normal View History

2023-05-01 13:34:05 +00:00
#!/bin/bash
2023-06-03 14:17:58 +00:00
# Build neveko release
# Run from the neveko root
2023-05-05 07:57:24 +00:00
# usage: ./scripts/build_release vX.X.X-ver
2023-05-01 13:34:05 +00:00
2023-05-02 07:07:45 +00:00
# Linux x86_64 output directory
LINUX_X86_64="x86_64-linux-gnu"
2023-06-03 14:17:58 +00:00
RELEASE_NAME="neveko-$LINUX_X86_64-$1"
2023-05-02 07:07:45 +00:00
LINUX_OUTPUT_DIR=".build/release/$RELEASE_NAME"
mkdir -p $LINUX_OUTPUT_DIR
2024-09-28 10:54:23 +00:00
# monero version
MONERO_VERSION="monero-$LINUX_X86_64-v0.18.3.4"
# build jars for j4-i2p-rs
git clone --depth 1 https://github.com/kn0sys/i2p.i2p
cd i2p.i2p && ant buildRouter buildI2PTunnelJars buildSAM jbigi buildAddressbook
mkdir -p ../opt/j4-i2p-rs/jassets && cp build/* ../opt/j4-i2p-rs/jassets/
cd ../
# certificates for reseed
cp -r j4-i2p-rs/certificates $LINUX_OUTPUT_DIR
# download monero and extract monero wallet rpc
wget https://downloads.getmonero.org/cli/linux64
mv linux64 $MONERO_VERSION.tar.bz2
tar xvf $MONERO_VERSION.tar.bz2
mkdir $LINUX_OUTPUT_DIR/$MONERO_VERSION
cp $MONERO_VERSION/monero-wallet-rpc $LINUX_OUTPUT_DIR/$MONERO_VERSION
cp $MONERO_VERSION/monerod $LINUX_OUTPUT_DIR/$MONERO_VERSION
# build neveko-core
2023-05-01 13:34:05 +00:00
cargo build --release
2024-09-28 10:54:23 +00:00
# j4-i2p-rs dependencies
cp -r j4-i2p-rs/opt/j4-i2p-rs/deps opt/j4-i2p-rs
cp j4-i2p-rs/opt/j4-i2p-rs/jassets/j4rs-0.20.0-jar-with-dependencies.jar opt/j4-i2p-rs/jassets
cp -r opt/ $LINUX_OUTPUT_DIR
2023-06-03 14:17:58 +00:00
cp target/release/neveko $LINUX_OUTPUT_DIR
2024-09-28 10:54:23 +00:00
# build gui
2023-06-03 14:17:58 +00:00
cd neveko-gui && cargo build --release && cp target/release/neveko_gui ../$LINUX_OUTPUT_DIR
2023-05-02 07:07:45 +00:00
cp -r assets/ ../$LINUX_OUTPUT_DIR
2023-05-01 13:34:05 +00:00
cd ../
2024-09-28 10:54:23 +00:00
# build dev servers for API use
2023-06-03 14:17:58 +00:00
cd neveko-auth && cargo build --release && cp target/release/neveko_auth ../$LINUX_OUTPUT_DIR
2023-05-01 13:34:05 +00:00
cd ../
2023-06-03 14:17:58 +00:00
cd neveko-contact && cargo build --release && cp target/release/neveko_contact ../$LINUX_OUTPUT_DIR
2023-05-01 13:34:05 +00:00
cd ../
2023-06-03 14:17:58 +00:00
cd neveko-market && cargo build --release && cp target/release/neveko_market ../$LINUX_OUTPUT_DIR
2023-05-29 10:14:01 +00:00
cd ../
2023-06-03 14:17:58 +00:00
cd neveko-message && cargo build --release && cp target/release/neveko_message ../$LINUX_OUTPUT_DIR
2023-05-01 13:34:05 +00:00
cd ../
2023-05-17 20:59:16 +00:00
# make the bzip for linux
cd .build/release/ && tar -cjf $RELEASE_NAME.tar.bz2 $RELEASE_NAME/ && mv $RELEASE_NAME.tar.bz2 ../../