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
|
2023-10-07 10:57:10 +00:00
|
|
|
cd .build/release/ && tar -cjf $RELEASE_NAME.tar.bz2 $RELEASE_NAME/ && mv $RELEASE_NAME.tar.bz2 ../../
|