Hush full node GUI wallet
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.

178 lines
5.1 KiB

#!/bin/bash
if [ -z $QT_STATIC ]; then
echo "QT_STATIC is not set. Please set it to the base directory of a statically compiled Qt";
exit 1;
fi
if [ -z $APP_VERSION ]; then echo "APP_VERSION is not set"; exit 1; fi
if [ -z $PREV_VERSION ]; then echo "PREV_VERSION is not set"; exit 1; fi
if [ ! -f ../zcash/artifacts/zcashd ]; then
echo "Couldn't find zcashd in ../zcash/artifacts/. Please build zcashd."
exit 1;
fi
if [ ! -f ../zcash/artifacts/zcash-cli ]; then
echo "Couldn't find zcash-cli in ../zcash/artifacts/. Please build zcashd."
exit 1;
fi
echo -n "Version files....."
# Replace the version number in the .pro file so it gets picked up everywhere
sed -i "s/${PREV_VERSION}/${APP_VERSION}/g" zec-qt-wallet.pro > /dev/null
# Also update it in the README.md
sed -i "s/${PREV_VERSION}/${APP_VERSION}/g" README.md > /dev/null
echo "[OK]"
echo -n "Cleaning.........."
rm -rf bin/*
rm -rf artifacts/*
make distclean > /dev/null
echo "[OK]"
echo ""
echo "[Linux]"
echo -n "Configuring......."
$QT_STATIC/bin/qmake zec-qt-wallet.pro -spec linux-clang CONFIG+=release > /dev/null
#Mingw seems to have trouble with precompiled headers, so strip that option from the .pro file
echo "[OK]"
echo -n "Building.........."
rm -rf bin/zec-qt-wallet* > /dev/null
make -j$(nproc) > /dev/null
echo "[OK]"
# Test for Qt
echo -n "Static link......."
if [[ $(ldd zec-qt-wallet | grep -i "Qt") ]]; then
echo "FOUND QT; ABORT";
exit 1
fi
echo "[OK]"
echo -n "Packaging........."
mkdir bin/zec-qt-wallet-v$APP_VERSION > /dev/null
6 years ago
strip zec-qt-wallet
cp zec-qt-wallet bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cp ../zcash/artifacts/zcashd bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cp ../zcash/artifacts/zcash-cli bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cp README.md bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cp LICENSE bin/zec-qt-wallet-v$APP_VERSION > /dev/null
cd bin && tar cvf linux-zec-qt-wallet-v$APP_VERSION.tar.gz zec-qt-wallet-v$APP_VERSION/ > /dev/null
cd ..
6 years ago
mkdir artifacts >/dev/null 2>&1
cp bin/linux-zec-qt-wallet-v$APP_VERSION.tar.gz ./artifacts
echo "[OK]"
if [ -f artifacts/linux-zec-qt-wallet-v$APP_VERSION.tar.gz ] ; then
echo -n "Package contents.."
# Test if the package is built OK
if tar tf "artifacts/linux-zec-qt-wallet-v$APP_VERSION.tar.gz" | wc -l | grep -q "6"; then
echo "[OK]"
else
echo "[ERROR]"
exit 1
fi
6 years ago
else
echo "[ERROR]"
exit 1
fi
echo -n "Building deb......"
debdir=bin/deb/zec-qt-wallet-v$APP_VERSION
mkdir -p $debdir > /dev/null
mkdir $debdir/DEBIAN
mkdir -p $debdir/usr/local/bin
cat src/scripts/control | sed "s/RELEASE_VERSION/$APP_VERSION/g" > $debdir/DEBIAN/control
cp zec-qt-wallet $debdir/usr/local/bin/
cp ../zcash/artifacts/zcashd $debdir/usr/local/bin/zqw-zcashd
mkdir -p $debdir/usr/share/pixmaps/
cp res/zec-qt-wallet.xpm $debdir/usr/share/pixmaps/
mkdir -p $debdir/usr/share/applications
cp src/scripts/desktopentry $debdir/usr/share/applications/zec-qt-wallet.desktop
dpkg-deb --build $debdir >/dev/null
cp $debdir.deb artifacts/
echo "[DONE]"
echo ""
echo "[Windows]"
if [ -z $MXE_PATH ]; then
echo "MXE_PATH is not set. Set it to ~/github/mxe/usr/bin if you want to build Windows"
echo "Not building Windows"
exit 1;
fi
if [ ! -f ../zcash/artifacts/zcashd.exe ]; then
echo "Couldn't find zcashd.exe in ../zcash/artifacts/. Please build zcashd.exe"
exit 1;
fi
if [ ! -f ../zcash/artifacts/zcash-cli.exe ]; then
echo "Couldn't find zcash-cli.exe in ../zcash/artifacts/. Please build zcashd.exe"
exit 1;
fi
export PATH=$MXE_PATH:$PATH
echo -n "Configuring......."
make clean > /dev/null
rm -f zec-qt-wallet-mingw.pro
rm -rf release/
#Mingw seems to have trouble with precompiled heades, so strip that option from the .pro file
cat zec-qt-wallet.pro | sed "s/precompile_header/release/g" | sed "s/PRECOMPILED_HEADER.*//g" > zec-qt-wallet-mingw.pro
echo "[OK]"
echo -n "Building.........."
x86_64-w64-mingw32.static-qmake-qt5 zec-qt-wallet-mingw.pro CONFIG+=release > /dev/null
make -j32 > /dev/null
echo "[OK]"
echo -n "Packaging........."
6 years ago
mkdir release/zec-qt-wallet-v$APP_VERSION
cp release/zec-qt-wallet.exe release/zec-qt-wallet-v$APP_VERSION
cp ../zcash/artifacts/zcashd.exe release/zec-qt-wallet-v$APP_VERSION > /dev/null
cp ../zcash/artifacts/zcash-cli.exe release/zec-qt-wallet-v$APP_VERSION > /dev/null
cp README.md release/zec-qt-wallet-v$APP_VERSION
cp LICENSE release/zec-qt-wallet-v$APP_VERSION
cd release && zip -r Windows-zec-qt-wallet-v$APP_VERSION.zip zec-qt-wallet-v$APP_VERSION/ > /dev/null
cd ..
6 years ago
mkdir artifacts >/dev/null 2>&1
cp release/Windows-zec-qt-wallet-v$APP_VERSION.zip ./artifacts
echo "[OK]"
if [ -f artifacts/Windows-zec-qt-wallet-v$APP_VERSION.zip ] ; then
echo -n "Package contents.."
if unzip -l "artifacts/Windows-zec-qt-wallet-v$APP_VERSION.zip" | wc -l | grep -q "11"; then
echo "[OK]"
else
echo "[ERROR]"
exit 1
fi
else
echo "[ERROR]"
exit 1
fi
echo ""
echo "Build is artifacts/Windows-zec-qt-wallet-v$APP_VERSION.zip"
echo "Build is artifacts/linux-zec-qt-wallet-v$APP_VERSION.tar.gz"