From 764f1e315db7288c98abeeedfe7e30acb941cf34 Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Mon, 28 Oct 2019 11:54:52 -0700 Subject: [PATCH] Build scripts --- .gitignore | 2 +- res/Info.plist | 2 +- res/{zecwallet.xpm => zecwallet-lite.xpm} | 0 src/scripts/control | 8 +- src/scripts/desktopentry | 10 +-- src/scripts/dotranslations.sh | 2 +- src/scripts/mkmacdmg.sh | 32 ++----- src/scripts/mkrelease.sh | 103 ++++++---------------- zecwallet-lite.pro | 2 +- 9 files changed, 45 insertions(+), 116 deletions(-) rename res/{zecwallet.xpm => zecwallet-lite.xpm} (100%) diff --git a/.gitignore b/.gitignore index ce6a2fc..b2608b6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ src/ui_*.h src/precompiled.h.cpp .qmake.stash zecwallet -ZecWallet.app +Zecwallet-Lite.app zecwallet-lite-mingw* zecwallet-lite.vcxproj* zecwallet.vcxproj* diff --git a/res/Info.plist b/res/Info.plist index e348bc6..6fb916a 100644 --- a/res/Info.plist +++ b/res/Info.plist @@ -3,7 +3,7 @@ CFBundleExecutable - zecwallet + zecwallet-lite CFBundleGetInfoString Created by Qt/QMake CFBundleIconFile diff --git a/res/zecwallet.xpm b/res/zecwallet-lite.xpm similarity index 100% rename from res/zecwallet.xpm rename to res/zecwallet-lite.xpm diff --git a/src/scripts/control b/src/scripts/control index ffa444d..fe30d50 100644 --- a/src/scripts/control +++ b/src/scripts/control @@ -1,9 +1,9 @@ -Package: zec-qt-wallet +Package: zecwallet-lite Version: RELEASE_VERSION Section: base Priority: optional Architecture: amd64 Maintainer: Aditya Kulkarni -Description: ZecWallet is a full node and UI wallet for Zcash. - ZecWallet is a full node and UI wallet for Zcash. It comes with - full support for shielded addresses and many apps for Zcash. +Description: Zecwallet-Lite is a lightclient UI wallet for Zcash. + Zecwallet-Lite is a lightclient UI wallet for Zcash. It comes with + full support for shielded addresses, transparent addresses and memos for Zcash. diff --git a/src/scripts/desktopentry b/src/scripts/desktopentry index b79c813..828b96b 100644 --- a/src/scripts/desktopentry +++ b/src/scripts/desktopentry @@ -1,12 +1,12 @@ [Desktop Entry] -Name=ZecWallet -Comment=Full node and wallet for Zcash +Name=Zecwallet-Lite +Comment=Lightclient UI wallet for Zcash GenericName=Wallet -Exec=/usr/local/bin/zecwallet %u -Icon=zecwallet.xpm +Exec=/usr/local/bin/zecwallet-lite %u +Icon=zecwallet-lite.xpm Type=Application StartupNotify=true -StartupWMClass=zecwallet +StartupWMClass=zecwallet-lite Categories=Utility; MimeType=x-scheme-handler/zcash; Keywords=zecwallet; diff --git a/src/scripts/dotranslations.sh b/src/scripts/dotranslations.sh index 933a407..e354480 100755 --- a/src/scripts/dotranslations.sh +++ b/src/scripts/dotranslations.sh @@ -6,7 +6,7 @@ if [ -z $QT_STATIC ]; then fi rm -f res/*.qm -$QT_STATIC/bin/lrelease zec-qt-wallet.pro +$QT_STATIC/bin/lrelease zecwallet-lite.pro # Then update the qt base translations. First, get all languages ls res/*.qm | awk -F '[_.]' '{print $4}' | while read -r language ; do diff --git a/src/scripts/mkmacdmg.sh b/src/scripts/mkmacdmg.sh index e239c4e..3592266 100755 --- a/src/scripts/mkmacdmg.sh +++ b/src/scripts/mkmacdmg.sh @@ -35,21 +35,11 @@ if [ -z $QT_PATH ]; then exit 1; fi -if [ -z $ZCASH_DIR ]; then - echo "ZCASH_DIR is not set. Please set it to the base directory of a compiled zcashd"; - exit 1; -fi - if [ -z $APP_VERSION ]; then echo "APP_VERSION is not set. Please set it to the current release version of the app"; exit 1; fi -if [ ! -f $ZCASH_DIR/src/zcashd ]; then - echo "Could not find compiled zcashd in $ZCASH_DIR/src/."; - exit 1; -fi - if ! cat src/version.h | grep -q "$APP_VERSION"; then echo "Version mismatch in src/version.h" exit 1 @@ -67,7 +57,7 @@ echo "[OK]" echo -n "Configuring............" # Build QT_STATIC=$QT_PATH src/scripts/dotranslations.sh >/dev/null -$QT_PATH/bin/qmake zec-qt-wallet.pro CONFIG+=release >/dev/null +$QT_PATH/bin/qmake zecwallet-lite.pro CONFIG+=release >/dev/null echo "[OK]" @@ -78,27 +68,17 @@ echo "[OK]" #Qt deploy echo -n "Deploying.............." mkdir artifacts >/dev/null 2>&1 -rm -f artifcats/zecwallet.dmg >/dev/null 2>&1 +rm -f artifcats/zecwallet-lite.dmg >/dev/null 2>&1 rm -f artifacts/rw* >/dev/null 2>&1 -cp $ZCASH_DIR/src/zcashd zecwallet.app/Contents/MacOS/ -cp $ZCASH_DIR/src/zcash-cli zecwallet.app/Contents/MacOS/ -$QT_PATH/bin/macdeployqt zecwallet.app +$QT_PATH/bin/macdeployqt zecwallet-lite.app echo "[OK]" echo -n "Building dmg..........." -mv zecwallet.app ZecWallet.app -create-dmg --volname "ZecWallet-v$APP_VERSION" --volicon "res/logo.icns" --window-pos 200 120 --icon "ZecWallet.app" 200 190 --app-drop-link 600 185 --hide-extension "ZecWallet.app" --window-size 800 400 --hdiutil-quiet --background res/dmgbg.png artifacts/macOS-zecwallet-v$APP_VERSION.dmg ZecWallet.app >/dev/null 2>&1 - -#mkdir bin/dmgbuild >/dev/null 2>&1 -#sed "s/RELEASE_VERSION/${APP_VERSION}/g" res/appdmg.json > bin/dmgbuild/appdmg.json -#cp res/logo.icns bin/dmgbuild/ -#cp res/dmgbg.png bin/dmgbuild/ - -#cp -r zecwallet.app bin/dmgbuild/ +mv zecwallet-lite.app Zecwallet-Lite.app +create-dmg --volname "Zecwallet-Lite-v$APP_VERSION" --volicon "res/logo.icns" --window-pos 200 120 --icon "Zecwallet-Lite.app" 200 190 --app-drop-link 600 185 --hide-extension "Zecwallet-Lite.app" --window-size 800 400 --hdiutil-quiet --background res/dmgbg.png artifacts/macOS-zecwallet-lite-v$APP_VERSION.dmg Zecwallet-Lite.app >/dev/null 2>&1 -#appdmg --quiet bin/dmgbuild/appdmg.json artifacts/macOS-zecwallet-v$APP_VERSION.dmg >/dev/null -if [ ! -f artifacts/macOS-zecwallet-v$APP_VERSION.dmg ]; then +if [ ! -f artifacts/macOS-zecwallet-lite-v$APP_VERSION.dmg ]; then echo "[ERROR]" exit 1 fi diff --git a/src/scripts/mkrelease.sh b/src/scripts/mkrelease.sh index 5dcc6eb..596c448 100755 --- a/src/scripts/mkrelease.sh +++ b/src/scripts/mkrelease.sh @@ -7,40 +7,6 @@ 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 [ -z $ZCASH_DIR ]; then - echo "ZCASH_DIR is not set. Please set it to the base directory of a Zcash project with built Zcash binaries." - exit 1; -fi - -if [ ! -f $ZCASH_DIR/artifacts/zcashd ]; then - echo "Couldn't find zcashd in $ZCASH_DIR/artifacts/. Please build zcashd." - exit 1; -fi - -if [ ! -f $ZCASH_DIR/artifacts/zcash-cli ]; then - echo "Couldn't find zcash-cli in $ZCASH_DIR/artifacts/. Please build zcashd." - exit 1; -fi - -# Ensure that zcashd is the right build -echo -n "zcashd version........." -if grep -q "zqwMagicBean" $ZCASH_DIR/artifacts/zcashd && ! readelf -s $ZCASH_DIR/artifacts/zcashd | grep -q "GLIBC_2\.25"; then - echo "[OK]" -else - echo "[ERROR]" - echo "zcashd doesn't seem to be a zqwMagicBean build or zcashd is built with libc 2.25" - exit 1 -fi - -echo -n "zcashd.exe version....." -if grep -q "zqwMagicBean" $ZCASH_DIR/artifacts/zcashd.exe; then - echo "[OK]" -else - echo "[ERROR]" - echo "zcashd doesn't seem to be a zqwMagicBean build" - 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 @@ -60,12 +26,11 @@ echo "[Building on" `lsb_release -r`"]" echo -n "Configuring............" QT_STATIC=$QT_STATIC bash src/scripts/dotranslations.sh >/dev/null -$QT_STATIC/bin/qmake zec-qt-wallet.pro -spec linux-clang CONFIG+=release > /dev/null +$QT_STATIC/bin/qmake zecwallet-lite.pro -spec linux-clang CONFIG+=release > /dev/null echo "[OK]" echo -n "Building..............." -rm -rf bin/zec-qt-wallet* > /dev/null rm -rf bin/zecwallet* > /dev/null make clean > /dev/null make -j$(nproc) > /dev/null @@ -74,7 +39,7 @@ echo "[OK]" # Test for Qt echo -n "Static link............" -if [[ $(ldd zecwallet | grep -i "Qt") ]]; then +if [[ $(ldd zecwallet-lite | grep -i "Qt") ]]; then echo "FOUND QT; ABORT"; exit 1 fi @@ -82,27 +47,25 @@ echo "[OK]" echo -n "Packaging.............." -mkdir bin/zecwallet-v$APP_VERSION > /dev/null -strip zecwallet +mkdir bin/zecwallet-lite-v$APP_VERSION > /dev/null +strip zecwallet-lite -cp zecwallet bin/zecwallet-v$APP_VERSION > /dev/null -cp $ZCASH_DIR/artifacts/zcashd bin/zecwallet-v$APP_VERSION > /dev/null -cp $ZCASH_DIR/artifacts/zcash-cli bin/zecwallet-v$APP_VERSION > /dev/null -cp README.md bin/zecwallet-v$APP_VERSION > /dev/null -cp LICENSE bin/zecwallet-v$APP_VERSION > /dev/null +cp zecwallet-lite bin/zecwallet-lite-v$APP_VERSION > /dev/null +cp README.md bin/zecwallet-lite-v$APP_VERSION > /dev/null +cp LICENSE bin/zecwallet-lite-v$APP_VERSION > /dev/null -cd bin && tar czf linux-zecwallet-v$APP_VERSION.tar.gz zecwallet-v$APP_VERSION/ > /dev/null +cd bin && tar czf linux-zecwallet-lite-v$APP_VERSION.tar.gz zecwallet-lite-v$APP_VERSION/ > /dev/null cd .. mkdir artifacts >/dev/null 2>&1 -cp bin/linux-zecwallet-v$APP_VERSION.tar.gz ./artifacts/linux-binaries-zecwallet-v$APP_VERSION.tar.gz +cp bin/linux-zecwallet-lite-v$APP_VERSION.tar.gz ./artifacts/linux-binaries-zecwallet-lite-v$APP_VERSION.tar.gz echo "[OK]" -if [ -f artifacts/linux-binaries-zecwallet-v$APP_VERSION.tar.gz ] ; then +if [ -f artifacts/linux-binaries-zecwallet-lite-v$APP_VERSION.tar.gz ] ; then echo -n "Package contents......." # Test if the package is built OK - if tar tf "artifacts/linux-binaries-zecwallet-v$APP_VERSION.tar.gz" | wc -l | grep -q "6"; then + if tar tf "artifacts/linux-binaries-zecwallet-lite-v$APP_VERSION.tar.gz" | wc -l | grep -q "4"; then echo "[OK]" else echo "[ERROR]" @@ -114,7 +77,7 @@ else fi echo -n "Building deb..........." -debdir=bin/deb/zecwallet-v$APP_VERSION +debdir=bin/deb/zecwallet-lite-v$APP_VERSION mkdir -p $debdir > /dev/null mkdir $debdir/DEBIAN mkdir -p $debdir/usr/local/bin @@ -122,16 +85,15 @@ mkdir -p $debdir/usr/local/bin cat src/scripts/control | sed "s/RELEASE_VERSION/$APP_VERSION/g" > $debdir/DEBIAN/control cp zecwallet $debdir/usr/local/bin/ -cp $ZCASH_DIR/artifacts/zcashd $debdir/usr/local/bin/zqw-zcashd mkdir -p $debdir/usr/share/pixmaps/ -cp res/zecwallet.xpm $debdir/usr/share/pixmaps/ +cp res/zecwallet-lite.xpm $debdir/usr/share/pixmaps/ mkdir -p $debdir/usr/share/applications -cp src/scripts/desktopentry $debdir/usr/share/applications/zec-qt-wallet.desktop +cp src/scripts/desktopentry $debdir/usr/share/applications/zecwallet-lite.desktop dpkg-deb --build $debdir >/dev/null -cp $debdir.deb artifacts/linux-deb-zecwallet-v$APP_VERSION.deb +cp $debdir.deb artifacts/linux-deb-zecwallet-lite-v$APP_VERSION.deb echo "[OK]" @@ -145,51 +107,38 @@ if [ -z $MXE_PATH ]; then exit 0; fi -if [ ! -f $ZCASH_DIR/artifacts/zcashd.exe ]; then - echo "Couldn't find zcashd.exe in $ZCASH_DIR/artifacts/. Please build zcashd.exe" - exit 1; -fi - - -if [ ! -f $ZCASH_DIR/artifacts/zcash-cli.exe ]; then - echo "Couldn't find zcash-cli.exe in $ZCASH_DIR/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 -f zec-qt-wallet-mingw.pro rm -rf release/ #Mingw seems to have trouble with precompiled headers, 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 +#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 +x86_64-w64-mingw32.static-qmake-qt5 zecwallet-lite.pro CONFIG+=release > /dev/null make -j32 > /dev/null echo "[OK]" echo -n "Packaging.............." -mkdir release/zecwallet-v$APP_VERSION -cp release/zecwallet.exe release/zecwallet-v$APP_VERSION -cp $ZCASH_DIR/artifacts/zcashd.exe release/zecwallet-v$APP_VERSION > /dev/null -cp $ZCASH_DIR/artifacts/zcash-cli.exe release/zecwallet-v$APP_VERSION > /dev/null -cp README.md release/zecwallet-v$APP_VERSION -cp LICENSE release/zecwallet-v$APP_VERSION -cd release && zip -r Windows-binaries-zecwallet-v$APP_VERSION.zip zecwallet-v$APP_VERSION/ > /dev/null +mkdir release/zecwallet-lite-v$APP_VERSION +cp release/zecwallet-lite.exe release/zecwallet-lite-v$APP_VERSION +cp README.md release/zecwallet-lite-v$APP_VERSION +cp LICENSE release/zecwallet-lite-v$APP_VERSION +cd release && zip -r Windows-binaries-zecwallet-lite-v$APP_VERSION.zip zecwallet-lite-v$APP_VERSION/ > /dev/null cd .. mkdir artifacts >/dev/null 2>&1 -cp release/Windows-binaries-zecwallet-v$APP_VERSION.zip ./artifacts/ +cp release/Windows-binaries-zecwallet-lite-v$APP_VERSION.zip ./artifacts/ echo "[OK]" -if [ -f artifacts/Windows-binaries-zecwallet-v$APP_VERSION.zip ] ; then +if [ -f artifacts/Windows-binaries-zecwallet-lite-v$APP_VERSION.zip ] ; then echo -n "Package contents......." - if unzip -l "artifacts/Windows-binaries-zecwallet-v$APP_VERSION.zip" | wc -l | grep -q "11"; then + if unzip -l "artifacts/Windows-binaries-zecwallet-lite-v$APP_VERSION.zip" | wc -l | grep -q "9"; then echo "[OK]" else echo "[ERROR]" diff --git a/zecwallet-lite.pro b/zecwallet-lite.pro index a169c1a..2dcacc4 100644 --- a/zecwallet-lite.pro +++ b/zecwallet-lite.pro @@ -13,7 +13,7 @@ PRECOMPILED_HEADER = src/precompiled.h QT += widgets QT += websockets -TARGET = zecwallet +TARGET = zecwallet-lite TEMPLATE = app