You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

135 lines
2.7 KiB

#!/bin/bash
set -e
export JM_VERSION="${JM_VERSION:-0.1-testbuild}"
PROJECT_ROOT=$(realpath "$(dirname "$(readlink -e "$0")")/../../..")
VENVPATH=$PROJECT_ROOT/jmvenv
JM_ROOT=$PROJECT_ROOT
sudo apt-get install -y python3-dev python3-pip python3-venv git \
build-essential automake pkg-config libtool libffi-dev libssl-dev
python3.12 -m venv $VENVPATH
. $VENVPATH/bin/activate
pip install .[gui]
pip install pyinstaller==6.14.2
# need to regenerate twisted/plugins/dropin.cache
python -c \
'from twisted.plugin import IPlugin, getPlugins; list(getPlugins(IPlugin))'
rm -rf deps
mkdir -p deps
cd deps
git clone https://github.com/bitcoin-core/secp256k1.git
cd secp256k1
git checkout v0.6.0
./autogen.sh
./configure --prefix $VENVPATH --enable-module-recovery \
--enable-experimental --enable-module-ecdh --enable-benchmark=no
make
make check
make install
cd ../..
rm -rf libsodium
git clone https://github.com/jedisct1/libsodium.git
cd libsodium
git checkout 1.0.20-RELEASE
./autogen.sh
./configure --prefix $VENVPATH
make check
sudo make install
cd ..
cp contrib/build-linux/pyinstaller-build/joinmarket-clientserver.spec .
pyinstaller -y joinmarket-clientserver.spec
ls -l dist/joinmarket-clientserver/
cd dist
mv joinmarket-clientserver joinmarket-clientserver-${JM_VERSION}
tar -czvf joinmarket-clientserver-${JM_VERSION}.tgz \
joinmarket-clientserver-${JM_VERSION}
ls -l
cd ..
rm joinmarket-clientserver.spec
rm -rf build
cp contrib/build-linux/pyinstaller-build/joinmarket-clientserver-qt.spec .
pyinstaller -y joinmarket-clientserver-qt.spec
ls -l dist/joinmarket-clientserver/
cd dist
mv joinmarket-clientserver joinmarket-clientserver-qt-${JM_VERSION}
tar -czvf joinmarket-clientserver-qt-${JM_VERSION}.tgz \
joinmarket-clientserver-qt-${JM_VERSION}
ls -l
cd ..
rm joinmarket-clientserver-qt.spec
rm -rf build
cp contrib/build-linux/pyinstaller-build/joinmarket-clientserver-snicker.spec .
pyinstaller -y joinmarket-clientserver-snicker.spec
ls -l dist/joinmarket-clientserver/
cd dist
mv joinmarket-clientserver joinmarket-clientserver-snicker-${JM_VERSION}
tar -czvf joinmarket-clientserver-snicker-${JM_VERSION}.tgz \
joinmarket-clientserver-snicker-${JM_VERSION}
ls -l
cd ..
rm joinmarket-clientserver-snicker.spec
rm -rf build
cp contrib/build-linux/pyinstaller-build/joinmarket-clientserver-obwatch.spec .
pyinstaller -y joinmarket-clientserver-obwatch.spec
ls -l dist/joinmarket-clientserver/
cd dist
mv joinmarket-clientserver joinmarket-clientserver-obwatch-${JM_VERSION}
tar -czvf joinmarket-clientserver-obwatch-${JM_VERSION}.tgz \
joinmarket-clientserver-obwatch-${JM_VERSION}
ls -l
cd ..
rm joinmarket-clientserver-obwatch.spec
rm -rf build