1
0
Fork 0
forked from lthn/blockchain

Refactor build profiles and remove legacy build scripts

Renamed and updated CMake build profiles for consistency across platforms, added a new gcc-linux-armv8 profile, and removed legacy build scripts and utilities from the utils directory. Introduced Docker build context and documentation for containerized builds. Updated docs submodule reference.
This commit is contained in:
Snider 2025-09-27 01:22:15 +01:00
parent 13743a6eef
commit 2781c7c9b7
31 changed files with 84 additions and 1100 deletions

8
.dockerignore Normal file
View file

@ -0,0 +1,8 @@
build
.github
.idea
docs
resources
snap
tests
CMakeUserPresets.json

View file

@ -4,7 +4,6 @@ arch=armv8
compiler=apple-clang
compiler.version=13
compiler.libcxx=libc++
build_type=Release
[conf]
tools.cmake.cmaketoolchain:user_presets=False

View file

@ -4,7 +4,6 @@ arch=x86_64
compiler=apple-clang
compiler.version=13
compiler.libcxx=libc++
build_type=Release
[conf]
tools.cmake.cmaketoolchain:user_presets=False

View file

@ -0,0 +1,9 @@
[settings]
os=Linux
arch=armv8
compiler=gcc
compiler.version=11
compiler.libcxx=libstdc++11
[conf]
tools.cmake.cmaketoolchain:user_presets=False

View file

@ -4,7 +4,6 @@ arch=x86_64
compiler=gcc
compiler.version=11
compiler.libcxx=libstdc++11
build_type=Release
[conf]
tools.cmake.cmaketoolchain:user_presets=False

View file

@ -1,6 +1,5 @@
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=17
compiler.runtime=static

2
docs

@ -1 +1 @@
Subproject commit a9e0a8a8fb8ce0c97dc0ea01698efdd65ee0137f
Subproject commit 93d4f46cdac8ba499cbb2d7819a472d66e209127

View file

@ -1,15 +0,0 @@
# This patch fixes compilation issue in Boost 1.70-1.71 while it is being compiled by GCC ver >= 8.3
# -- sowle
# see also: https://github.com/boostorg/thread/pull/297
#
--- boost/thread/pthread/thread_data.hpp.orig 2023-10-10 20:22:30.860192033 +0000
+++ boost/thread/pthread/thread_data.hpp 2023-10-10 18:19:22.460764089 +0000
@@ -57,7 +57,7 @@
#else
std::size_t page_size = ::sysconf( _SC_PAGESIZE);
#endif
-#if PTHREAD_STACK_MIN > 0
+#ifdef PTHREAD_STACK_MIN
if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
#endif
size = ((size+page_size-1)/page_size)*page_size;

View file

@ -1,36 +0,0 @@
import sys
import os
import smtplib
from email.message import EmailMessage
def getenv(e):
t = os.getenv(e)
if t == None:
print("Error: environment variable " + e + " was not set")
exit(1)
return t
zs_from = getenv("ZANO_SMTP_FROM")
zs_addr = getenv("ZANO_SMTP_ADDR")
zs_port = getenv("ZANO_SMTP_PORT")
zs_user = getenv("ZANO_SMTP_USER")
zs_pass = getenv("ZANO_SMTP_PASS")
if len(sys.argv) != 4:
print("Usage: " + sys.argv[0] + " <subject> <recipient(s)> <body>")
exit(1)
msg = EmailMessage()
msg['Subject'] = sys.argv[1]
msg['From'] = zs_from
msg['To'] = sys.argv[2]
msg.add_header('Content-Type','text/html')
msg.set_payload(sys.argv[3])
s = smtplib.SMTP(zs_addr, zs_port)
s.starttls()
s.login(zs_user, zs_pass)
s.send_message(msg)
s.quit()
print("e-mail sent.")

View file

@ -1,147 +0,0 @@
#!/bin/bash -x
# Environment prerequisites:
# 1) QT_PREFIX_PATH should be set to Qt libs folder
# 2) BOOST_ROOT should be set to the root of Boost
# 3) OPENSSL_ROOT_DIR should be set to the root of OpenSSL
#
# for example, place these lines to the end of your ~/.bashrc :
#
# export BOOST_ROOT=/home/user/boost_1_66_0
# export QT_PREFIX_PATH=/home/user/Qt5.10.1/5.10.1/gcc_64
# export OPENSSL_ROOT_DIR=/home/user/openssl
ARCHIVE_NAME_PREFIX=zano-linux-x64-
: "${BOOST_ROOT:?BOOST_ROOT should be set to the root of Boost, ex.: /home/user/boost_1_66_0}"
: "${QT_PREFIX_PATH:?QT_PREFIX_PATH should be set to Qt libs folder, ex.: /home/user/Qt5.10.1/5.10.1/gcc_64}"
: "${OPENSSL_ROOT_DIR:?OPENSSL_ROOT_DIR should be set to OpenSSL root folder, ex.: /home/user/openssl}"
if [ -n "$build_prefix" ]; then
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}${build_prefix}-
build_prefix_label="$build_prefix "
fi
if [ "$testnet" == true ]; then
testnet_def="-D TESTNET=TRUE"
testnet_label="testnet "
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}testnet-
fi
if [ "$testnet" == true ] || [ -n "$qt_dev_tools" ]; then
copy_qt_dev_tools=true
copy_qt_dev_tools_label="devtools "
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}devtools-
fi
prj_root=$(pwd)
echo "---------------- BUILDING PROJECT ----------------"
echo "--------------------------------------------------"
echo "Building...."
rm -rf build; mkdir -p build/release; cd build/release;
cmake $testnet_def -D STATIC=true -D ARCH=x86-64 -D BUILD_GUI=TRUE -D OPENSSL_ROOT_DIR="$OPENSSL_ROOT_DIR" -D CMAKE_PREFIX_PATH="$QT_PREFIX_PATH" -D CMAKE_BUILD_TYPE=Release ../..
if [ $? -ne 0 ]; then
echo "Failed to run cmake"
exit 1
fi
make -j2 daemon simplewallet connectivity_tool
if [ $? -ne 0 ]; then
echo "Failed to make!"
exit 1
fi
make -j1 Zano
if [ $? -ne 0 ]; then
echo "Failed to make!"
exit 1
fi
read version_str <<< $(./src/zanod --version | awk '/^Zano/ { print $2 }')
version_str=${version_str}
echo $version_str
rm -rf Zano;
mkdir -p Zano;
rsync -a ../../src/gui/qt-daemon/layout/html ./Zano --exclude less --exclude package.json --exclude gulpfile.js
cp -Rv ../../utils/Zano.sh ./Zano
chmod 777 ./Zano/Zano.sh
mkdir ./Zano/lib
cp $QT_PREFIX_PATH/lib/libicudata.so.56 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libicui18n.so.56 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libicuuc.so.56 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Core.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5DBus.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Gui.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Network.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5OpenGL.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Positioning.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5PrintSupport.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Qml.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Quick.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Sensors.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Sql.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5Widgets.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5WebEngine.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5WebEngineCore.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5WebEngineWidgets.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5WebChannel.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5XcbQpa.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/lib/libQt5QuickWidgets.so.5 ./Zano/lib
cp $QT_PREFIX_PATH/libexec/QtWebEngineProcess ./Zano
cp $QT_PREFIX_PATH/resources/qtwebengine_resources.pak ./Zano
cp $QT_PREFIX_PATH/resources/qtwebengine_resources_100p.pak ./Zano
cp $QT_PREFIX_PATH/resources/qtwebengine_resources_200p.pak ./Zano
cp $QT_PREFIX_PATH/resources/icudtl.dat ./Zano
if [ "$copy_qt_dev_tools" = true ] ; then
cp $QT_PREFIX_PATH/resources/qtwebengine_devtools_resources.pak ./Zano
fi
mkdir ./Zano/lib/platforms
cp $QT_PREFIX_PATH/plugins/platforms/libqxcb.so ./Zano/lib/platforms
mkdir ./Zano/xcbglintegrations
cp $QT_PREFIX_PATH/plugins/xcbglintegrations/libqxcb-glx-integration.so ./Zano/xcbglintegrations
cp -Rv src/zanod src/Zano src/simplewallet src/connectivity_tool ./Zano
package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.tar.bz2
rm -f ./$package_filename
tar -cjvf $package_filename Zano
if [ $? -ne 0 ]; then
echo "Failed to pack"
exit 1
fi
echo "Build success"
if [ -z "$upload_build" ]; then
exit 0
fi
echo "Uploading..."
scp $package_filename zano_build_server:/var/www/html/builds
if [ $? -ne 0 ]; then
echo "Failed to upload to remote server"
exit $?
fi
read checksum <<< $(sha256sum $package_filename | awk '/^/ { print $1 }' )
mail_msg="New ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build for linux-x64:<br>
<a href='https://build.zano.org/builds/$package_filename'>https://build.zano.org/builds/$package_filename</a><br>
sha256: $checksum"
echo "$mail_msg"
python3 ../../utils/build_mail.py "Zano linux-x64 ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build $version_str" "${emails}" "$mail_msg"
exit 0

View file

@ -1,159 +0,0 @@
#!/bin/bash -x
# Environment prerequisites:
# 1) QT_PREFIX_PATH should be set to Qt libs folder
# 2) BOOST_ROOT should be set to the root of Boost
# 3) OPENSSL_ROOT_DIR should be set to the root of OpenSSL
#
# for example, place these lines to the end of your ~/.bashrc :
#
# export BOOST_ROOT=/home/user/boost_1_66_0
# export QT_PREFIX_PATH=/home/user/Qt5.10.1/5.10.1/gcc_64
# export OPENSSL_ROOT_DIR=/home/user/openssl
# export LINUX_DEPLOY_QT=/home/user/QtDeployment.appimage
# export LINUX_APPIMAGE_TOOL=/home/user/AppImageTool.appimage
ARCHIVE_NAME_PREFIX=zano-linux-x64-
: "${BOOST_ROOT:?BOOST_ROOT should be set to the root of Boost, ex.: /home/user/boost_1_66_0}"
: "${QT_PREFIX_PATH:?QT_PREFIX_PATH should be set to Qt libs folder, ex.: /home/user/Qt5.10.1/5.10.1/gcc_64}"
: "${OPENSSL_ROOT_DIR:?OPENSSL_ROOT_DIR should be set to OpenSSL root folder, ex.: /home/user/openssl}"
if [ -n "$build_prefix" ]; then
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}${build_prefix}-
build_prefix_label="$build_prefix "
fi
if [ "$testnet" == true ]; then
testnet_def="-D TESTNET=TRUE"
testnet_label="testnet "
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}testnet-
fi
if [ "$testnet" == true ] || [ -n "$qt_dev_tools" ]; then
copy_qt_dev_tools=true
copy_qt_dev_tools_label="devtools "
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}devtools-
fi
prj_root=$(pwd)
if [ "$1" == "skip_build" ]; then
echo "Skipping build, only packing..."
cd build/release;
else
echo "---------------- BUILDING PROJECT ----------------"
echo "--------------------------------------------------"
echo "Building...."
rm -rf build; mkdir -p build/release;
cd build/release;
cmake $testnet_def -D STATIC=true -D ARCH=x86-64 -D DISABLE_TOR=TRUE -D BUILD_GUI=TRUE -D OPENSSL_ROOT_DIR="$OPENSSL_ROOT_DIR" -D CMAKE_PREFIX_PATH="$QT_PREFIX_PATH" -D CMAKE_BUILD_TYPE=Release ../..
if [ $? -ne 0 ]; then
echo "Failed to run cmake"
exit 1
fi
make -j2 daemon simplewallet connectivity_tool
if [ $? -ne 0 ]; then
echo "Failed to make!"
exit 1
fi
make -j1 Zano
if [ $? -ne 0 ]; then
echo "Failed to make!"
exit 1
fi
fi
read version_str <<< $(./src/zanod --version | awk '/^Zano/ { print $2 }')
version_str=${version_str}
read commit_str <<< $(./src/zanod --version | grep -m 1 -P -o "(?<=\[)[0-9a-f]{7}")
commit_str=${commit_str}
echo $version_str
echo $commit_str
rm -rf Zano;
mkdir -p Zano/usr/bin;
mkdir -p Zano/usr/lib;
mkdir -p Zano/usr/share/applications;
mkdir -p Zano/usr/share/icons/hicolor/scalable/apps;
mkdir -p Zano/usr/share/icons/hicolor/256x256/apps;
rsync -a ../../src/gui/qt-daemon/layout/html ./Zano/usr/bin --exclude less --exclude package.json --exclude gulpfile.js
cp -Rv src/zanod src/Zano src/simplewallet src/connectivity_tool ./Zano/usr/bin
cp -Rv ../../utils/Zano.desktop ./Zano/usr/share/applications/Zano.desktop
cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/apps/Zano.svg
cp -Rv ../../resources/app_icon_256.png ./Zano/usr/share/icons/hicolor/256x256/apps/Zano.png
echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano" >> ./Zano/usr/share/applications/Zano.desktop
if [ $? -ne 0 ]; then
echo "Failed to append deskyop file"
exit 1
fi
$LINUX_DEPLOY_QT ./Zano/usr/share/applications/Zano.desktop -qmake=$QT_PREFIX_PATH/bin/qmake
if [ $? -ne 0 ]; then
echo "Failed to run linuxqtdeployment"
exit 1
fi
rm -f $prj_root/build/release/Zano/AppRun
cp -Rv ../../utils/Zano_appimage_wrapper.sh $prj_root/build/release/Zano/AppRun
package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.AppImage
$LINUX_APPIMAGE_TOOL ./Zano ./$package_filename
if [ $? -ne 0 ]; then
echo "Failed to run appimagetool"
exit 1
fi
#pattern="*.AppImage"
#files=( $pattern )
#app_image_file=${files[0]}
#mv ./$app_image_file ./$package_filename
echo "Build success"
if [ -z "$upload_build" ]; then
exit 0
fi
echo "Uploading..."
scp $package_filename zano_build_server:/var/www/html/builds
if [ $? -ne 0 ]; then
echo "Failed to upload to remote server"
exit $?
fi
read checksum <<< $(sha256sum $package_filename | awk '/^/ { print $1 }' )
mail_msg="New ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build for linux-x64:<br>
<a href='https://build.zano.org/builds/$package_filename'>https://build.zano.org/builds/$package_filename</a><br>
sha256: $checksum"
echo "$mail_msg"
python3 ../../utils/build_mail.py "Zano linux-x64 ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build $version_str" "${emails}" "$mail_msg"
exit 0

View file

@ -1,197 +0,0 @@
set -x # echo on
set +e # switch off exit on error
curr_path=${BASH_SOURCE%/*}
# check that all the required environment vars are set
: "${ZANO_QT_PATH:?variable not set, see also macosx_build_config.command}"
: "${ZANO_BOOST_ROOT:?variable not set, see also macosx_build_config.command}"
: "${ZANO_BOOST_LIBS_PATH:?variable not set, see also macosx_build_config.command}"
: "${ZANO_BUILD_DIR:?variable not set, see also macosx_build_config.command}"
: "${CMAKE_OSX_SYSROOT:?CMAKE_OSX_SYSROOT should be set to macOS SDK path, e.g.: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk}"
: "${OPENSSL_ROOT_DIR:?variable not set, see also macosx_build_config.command}"
ARCHIVE_NAME_PREFIX=zano-macos-x64-
if [ -n "$build_prefix" ]; then
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}${build_prefix}-
build_prefix_label="$build_prefix "
fi
if [ "$testnet" == true ]; then
testnet_def="-D TESTNET=TRUE"
testnet_label="testnet "
ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}testnet-
fi
######### DEBUG ##########
#cd "$ZANO_BUILD_DIR/release/src"
#rm *.dmg
#if false; then
##### end of DEBUG ######
rm -rf $ZANO_BUILD_DIR; mkdir -p "$ZANO_BUILD_DIR/release"; cd "$ZANO_BUILD_DIR/release"
cmake $testnet_def -D OPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR -D CMAKE_OSX_SYSROOT=$CMAKE_OSX_SYSROOT -D BUILD_GUI=TRUE -D CMAKE_PREFIX_PATH="$ZANO_QT_PATH/clang_64" -D CMAKE_BUILD_TYPE=Release -D BOOST_ROOT="$ZANO_BOOST_ROOT" -D BOOST_LIBRARYDIR="$ZANO_BOOST_LIBS_PATH" ../..
if [ $? -ne 0 ]; then
echo "Failed to cmake"
exit 1
fi
make -j Zano
if [ $? -ne 0 ]; then
echo "Failed to make Zano"
exit 1
fi
make -j connectivity_tool daemon simplewallet
if [ $? -ne 0 ]; then
echo "Failed to make binaries!"
exit 1
fi
cd src/
if [ $? -ne 0 ]; then
echo "Failed to cd src"
exit 1
fi
# copy all necessary libs into the bundle in order to workaround El Capitan's SIP restrictions
mkdir -p Zano.app/Contents/Frameworks/boost_libs
cp -R $ZANO_BOOST_LIBS_PATH/*.dylib Zano.app/Contents/Frameworks/boost_libs/
if [ $? -ne 0 ]; then
echo "Failed to cp workaround to MacOS"
exit 1
fi
# rename process name to big letter
mv Zano.app/Contents/MacOS/zano Zano.app/Contents/MacOS/Zano
if [ $? -ne 0 ]; then
echo "Failed to rename process"
exit 1
fi
cp zanod simplewallet Zano.app/Contents/MacOS/
if [ $? -ne 0 ]; then
echo "Failed to copy binaries to Zano.app folder"
exit 1
fi
# fix boost libs paths in main executable and libs to workaround El Capitan's SIP restrictions
source ../../../utils/macosx_fix_boost_libs_path.sh
fix_boost_libs_in_binary @executable_path/../Frameworks/boost_libs Zano.app/Contents/MacOS/Zano
fix_boost_libs_in_binary @executable_path/../Frameworks/boost_libs Zano.app/Contents/MacOS/simplewallet
fix_boost_libs_in_binary @executable_path/../Frameworks/boost_libs Zano.app/Contents/MacOS/zanod
#fix_boost_libs_in_libs @executable_path/../Frameworks/boost_libs Zano.app/Contents/Frameworks/boost_libs
"$ZANO_QT_PATH/clang_64/bin/macdeployqt" Zano.app
if [ $? -ne 0 ]; then
echo "Failed to macdeployqt Zano.app"
exit 1
fi
rm -rf Zano.app/Contents/Frameworks/libboost*.dylib
rsync -a ../../../src/gui/qt-daemon/layout/html Zano.app/Contents/MacOS --exclude less --exclude package.json --exclude gulpfile.js
if [ $? -ne 0 ]; then
echo "Failed to cp html to MacOS"
exit 1
fi
cp ../../../src/gui/qt-daemon/app.icns Zano.app/Contents/Resources
if [ $? -ne 0 ]; then
echo "Failed to cp app.icns to resources"
exit 1
fi
codesign -s "Developer ID Application: Zano Limited" --timestamp --options runtime -f --entitlements ../../../utils/macos_entitlements.plist --deep ./Zano.app
if [ $? -ne 0 ]; then
echo "Failed to sign Zano.app"
exit 1
fi
read version_str <<< $(DYLD_LIBRARY_PATH=$ZANO_BOOST_LIBS_PATH ./connectivity_tool --version | awk '/^Zano/ { print $2 }')
version_str=${version_str}
echo $version_str
echo "############### Prepearing archive... ################"
mkdir package_folder
if [ $? -ne 0 ]; then
echo "Failed to zip app"
exit 1
fi
mv Zano.app package_folder
if [ $? -ne 0 ]; then
echo "Failed to top app package"
exit 1
fi
#fi
package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.dmg
source ../../../utils/macosx_dmg_builder.sh
build_fancy_dmg package_folder $package_filename
if [ $? -ne 0 ]; then
echo "Failed to create fancy dmg"
exit 1
fi
echo "Build success"
echo "############### Uploading... ################"
package_filepath="$(pwd)/$package_filename"
#scp $package_filepath zano_build_server:/var/www/html/builds/
source ../../../utils/macosx_build_uploader.sh
pushd .
upload_build $package_filepath
if [ $? -ne 0 ]; then
echo "Failed to upload to remote server"
exit 1
fi
popd
read checksum <<< $( shasum -a 256 $package_filepath | awk '/^/ { print $1 }' )
mail_msg="New ${build_prefix_label}${testnet_label}build for macOS-x64:<br>
<a href='https://build.zano.org/builds/$package_filename'>https://build.zano.org/builds/$package_filename</a><br>
sha256: $checksum"
echo "$mail_msg"
python3 ../../../utils/build_mail.py "Zano macOS-x64 ${build_prefix_label}${testnet_label}build $version_str" "${emails}" "$mail_msg"
######################
# notarization
######################
cd package_folder
echo "Notarizing..."
# creating archive for notarizing
echo "Creating archive for notarizing"
rm -f Zano.zip
/usr/bin/ditto -c -k --keepParent ./Zano.app ./Zano.zip
tmpfile="tmptmptmp"
#xcrun altool --notarize-app --primary-bundle-id "org.zano.desktop" -u "andrey@zano.org" -p "@keychain:Developer-altool" --file ./Zano.zip > $tmpfile 2>&1
xcrun notarytool submit --wait --keychain-profile "notarytool-password" ./Zano.zip
RETURN=$?
if [ $RETURN -ne 0 ]; then
echo "Failed to submit for notarization or notarization failed, error code $RETURN"
exit 1
fi
echo "Notarization done"

View file

@ -1,236 +0,0 @@
call configure_local_paths.cmd
;; MSVC version-specific paths
SET QT_MSVC_PATH=%QT_PREFIX_PATH%\msvc2017_64
SET ACHIVE_NAME_PREFIX=zano-win-x64-
SET MY_PATH=%~dp0
SET SOURCES_PATH=%MY_PATH:~0,-7%
IF NOT [%build_prefix%] == [] (
SET ACHIVE_NAME_PREFIX=%ACHIVE_NAME_PREFIX%%build_prefix%-
)
IF "%testnet%" == "true" (
SET TESTNET_DEF=-D TESTNET=TRUE
SET TESTNET_LABEL=testnet
SET ACHIVE_NAME_PREFIX=%ACHIVE_NAME_PREFIX%testnet-
)
SET PARAM=%~1
IF "%PARAM%"=="--skip-build" ( GOTO skip_build )
@echo on
set BOOST_ROOT=%LOCAL_BOOST_PATH%
set BOOST_LIBRARYDIR=%LOCAL_BOOST_LIB_PATH%
@echo "---------------- PREPARING BINARIES ---------------------------"
@echo "---------------------------------------------------------------"
cd %SOURCES_PATH%
@echo "---------------- BUILDING APPLICATIONS ------------------------"
@echo "---------------------------------------------------------------"
rmdir build /s /q
mkdir build
cd build
cmake %TESTNET_DEF% -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_MSVC_PATH%" -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.2" -G "Visual Studio 16 2019" -A x64 -T host=x64 ..
IF %ERRORLEVEL% NEQ 0 (
goto error
)
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" x86_amd64
echo on
cd %SOURCES_PATH%\build
msbuild version.vcxproj /p:SubSystem="CONSOLE,5.02" /p:Configuration=Release /t:Build
IF %ERRORLEVEL% NEQ 0 (
goto error
)
msbuild src/daemon.vcxproj /p:SubSystem="CONSOLE,5.02" /p:Configuration=Release /t:Build
IF %ERRORLEVEL% NEQ 0 (
goto error
)
msbuild src/simplewallet.vcxproj /p:SubSystem="CONSOLE,5.02" /p:Configuration=Release /t:Build
IF %ERRORLEVEL% NEQ 0 (
goto error
)
msbuild src/Zano.vcxproj /p:SubSystem="WINDOWS,5.02" /p:Configuration=Release /t:Build
IF %ERRORLEVEL% NEQ 0 (
goto error
)
@echo on
echo "sources are built successfully"
:skip_build
cd %SOURCES_PATH%/build
set cmd=src\Release\simplewallet.exe --version
FOR /F "tokens=3" %%a IN ('%cmd%') DO set version=%%a
set version=%version:~0,-2%
echo '%version%'
set build_zip_filename=%ACHIVE_NAME_PREFIX%%version%.zip
set build_zip_path=%BUILDS_PATH%\builds\%build_zip_filename%
del /F /Q %build_zip_path%
cd src\release
call :sign_file Zano.exe || goto error
call :sign_file zanod.exe || goto error
call :sign_file simplewallet.exe || goto error
@echo on
mkdir bunch
copy /Y Zano.exe bunch
copy /Y zanod.exe bunch
copy /Y simplewallet.exe bunch
copy /Y *.pdb bunch
%QT_MSVC_PATH%\bin\windeployqt.exe bunch\Zano.exe || goto error
cd bunch
zip -r %build_zip_path% *.*
IF %ERRORLEVEL% NEQ 0 (
goto error
)
@echo "Add html"
cd %SOURCES_PATH%\src\gui\qt-daemon\layout
zip -x html/package.json html/gulpfile.js html/less/* -r %build_zip_path% html
IF %ERRORLEVEL% NEQ 0 (
goto error
)
@echo "Add runtime stuff"
cd %ETC_BINARIES_PATH%
zip -r %build_zip_path% *.*
IF %ERRORLEVEL% NEQ 0 (
goto error
)
cd %SOURCES_PATH%\build
IF %ERRORLEVEL% NEQ 0 (
goto error
)
@echo "---------------------------------------------------------------"
@echo "-------------------Building installer--------------------------"
@echo "---------------------------------------------------------------"
mkdir installer_src
unzip -o %build_zip_path% -d installer_src
IF %ERRORLEVEL% NEQ 0 (
goto error
)
"%INNOSETUP_PATH%" /dBinariesPath=../build/installer_src /DMyAppVersion=%version% /o%BUILDS_PATH%\builds\ /f%ACHIVE_NAME_PREFIX%%version%-installer ..\utils\setup_64.iss
IF %ERRORLEVEL% NEQ 0 (
goto error
)
@echo "---------------------------------------------------------------"
@echo "---------------------------------------------------------------"
set installer_file=%ACHIVE_NAME_PREFIX%%version%-installer.exe
set installer_path=%BUILDS_PATH%\builds\%installer_file%
@echo " SIGNING the installer ...."
call :sign_file %installer_path% || goto error
@echo " UPLOADING TO SERVER ...."
pscp -load zano_build_server %installer_path% %ZANO_BUILDS_HOST%:/var/www/html/builds
IF %ERRORLEVEL% NEQ 0 (
@echo "FAILED TO UPLOAD EXE TO SERVER"
goto error
)
call :sha256 %installer_path% installer_checksum
pscp -load zano_build_server %build_zip_path% %ZANO_BUILDS_HOST%:/var/www/html/builds
IF %ERRORLEVEL% NEQ 0 (
@echo "FAILED TO UPLOAD ZIP TO SERVER"
goto error
)
call :sha256 %build_zip_path% build_zip_checksum
set mail_msg="New %build_prefix% %TESTNET_LABEL%build for win-x64:<br>INST: <a href='https://build.zano.org/builds/%installer_file%'>https://build.zano.org/builds/%installer_file%</a> <br>sha256: %installer_checksum%<br><br>ZIP: <a href='https://build.zano.org/builds/%build_zip_filename%'>https://build.zano.org/builds/%build_zip_filename%</a> <br>sha256: %build_zip_checksum%<br>"
echo %mail_msg%
python ../utils/build_mail.py "Zano win-x64 %build_prefix% %TESTNET_LABEL%build %version%" "%emails%" %mail_msg%
goto success
:error
echo "BUILD FAILED"
exit /B %ERRORLEVEL%
:success
echo "BUILD SUCCESS"
cd ..
EXIT /B %ERRORLEVEL%
:: functions
:sha256
@setlocal enabledelayedexpansion
@set /a count=1
@for /f "skip=1 delims=:" %%a in ('CertUtil -hashfile %1 SHA256') do @(
@if !count! equ 1 set "hash=%%a"
@set /a count+=1
)
@(
@endlocal
@set "%2=%hash: =%
)
@exit /B 0
:sign_file
@echo Signing %1...
@call %ZANO_SIGN_CMD% %1
@if %ERRORLEVEL% neq 0 (
@echo ERROR: failed to sign %1
@exit /B 1
)
@exit /B 0

View file

@ -1,13 +0,0 @@
@echo off
rem
rem This file contains local path settings for your own personal dev environment.
rem Rename to configure_local_paths.cmd and do not commit.
rem
set QT_PREFIX_PATH=C:\dev\_sdk\Qt5.11.2\5.11.2
set INNOSETUP_PATH=C:\Program Files (x86)\Inno Setup 5\ISCC.exe
set ETC_BINARIES_PATH=C:\dev\deploy\etc-binaries
set BUILDS_PATH=C:\dev\deploy\zano
set LOCAL_BOOST_PATH=C:\dev\_sdk\boost_1_70_0
set OPENSSL_ROOT_DIR=C:\dev\_sdk\OpenSSL-Win64
set BOOST_ROOT=%LOCAL_BOOST_PATH%

View file

@ -1,9 +0,0 @@
@echo off
rem
rem This file contains local path settings for your own personal dev environment.
rem Rename to configure_local_paths.cmd and do not commit.
rem
set QT_PREFIX_PATH=C:\dev\_sdk\Qt5.15.2\5.15.2
set BOOST_ROOT=C:\dev\_sdk\boost_1_77_0
set OPENSSL_ROOT_DIR=C:\dev\_sdk\OpenSSL-Win64

View file

@ -1,19 +0,0 @@
set -x #echo on
curr_path=${BASH_SOURCE%/*}
# check that all the required environment vars are set
: "${ZANO_QT_PATH:?variable not set, see also macosx_build_config.command}"
: "${ZANO_BOOST_ROOT:?variable not set, see also macosx_build_config.command}"
: "${ZANO_BOOST_LIBS_PATH:?variable not set, see also macosx_build_config.command}"
: "${ZANO_BUILD_DIR:?variable not set, see also macosx_build_config.command}"
: "${CMAKE_OSX_SYSROOT:?CMAKE_OSX_SYSROOT should be set to macOS SDK path, e.g.: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk}"
BUILD_DIR=$curr_path/../$ZANO_BUILD_DIR/macos_xcodeproj
BUILD_TYPE=Release
rm -rf $BUILD_DIR
mkdir -p "$BUILD_DIR/$BUILD_TYPE"
cd "$BUILD_DIR/$BUILD_TYPE"
cmake -D BUILD_GUI=TRUE -D CMAKE_PREFIX_PATH="$ZANO_QT_PATH/clang_64" -D CMAKE_BUILD_TYPE=$BUILD_TYPE -D BOOST_ROOT="$ZANO_BOOST_ROOT" -D BOOST_LIBRARYDIR="$ZANO_BOOST_LIBS_PATH" -G Xcode ../../..

View file

@ -1,7 +0,0 @@
call configure_local_paths.cmd
cd ..
@mkdir build_msvc2015_32
cd build_msvc2015_32
cmake -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2015 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib32-msvc-14.0" -G "Visual Studio 14 2015" ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths.cmd
cd ..
@mkdir build_msvc2013_64
cd build_msvc2013_64
cmake -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2013_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-12.0" -G "Visual Studio 12 2013 Win64" ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths.cmd
cd ..
@mkdir build_msvc2015_64
cd build_msvc2015_64
cmake -D USE_PCH=TRUE -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2015_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.0" -G "Visual Studio 14 2015 Win64" -T host=x64 ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths.cmd
cd ..
@mkdir build_msvc2017_64
cd build_msvc2017_64
cmake -D USE_PCH=TRUE -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2017_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.1" -G "Visual Studio 15 2017 Win64" -T host=x64 ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths.cmd
cd ..
@mkdir build_msvc2017_64_tn
cd build_msvc2017_64_tn
cmake -D TESTNET=TRUE -D USE_PCH=TRUE -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2017_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.1" -G "Visual Studio 15 2017 Win64" -T host=x64 ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths_msvs2019.cmd
cd ..
@mkdir build_msvc2019_64_tn
cd build_msvc2019_64_tn
cmake -D TESTNET=TRUE -D USE_PCH=TRUE -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2019_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.2" -G "Visual Studio 16 2019" -A x64 -T host=x64 ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths_msvs2022.cmd
cd ..
@mkdir build_msvc2022_64
cd build_msvc2022_64
cmake -D TESTNET=FALSE -D USE_PCH=TRUE -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2019_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.3" -G "Visual Studio 17 2022" -A x64 -T host=x64 ".."

View file

@ -1,7 +0,0 @@
call configure_local_paths_msvs2022.cmd
cd ..
@mkdir build_msvc2022_64_tn
cd build_msvc2022_64_tn
cmake -D TESTNET=TRUE -D USE_PCH=TRUE -D BUILD_TESTS=TRUE -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2019_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.3" -G "Visual Studio 17 2022" -A x64 -T host=x64 ".."

View file

@ -0,0 +1,5 @@
# Standard Docker Deployments
You can define a multitude of configurations in code using Docker Compose. Each folder in this directory represents a specific use case with a corresponding reference configuration.
Instead of writing your own Dockerfile, we recommend that you tailor the stack for your needs by editing one of the existing configurations. If you believe your changes will be useful to others, please submit a patch to improve the reference Dockerfiles.

View file

@ -0,0 +1,59 @@
# This is a multi target docker image
FROM ubuntu:24.04 AS builder
LABEL authors="snider"
ARG THREADS=1
ARG BUILD_BRANCH=dev-configure-testnet-1
ARG BUILD_LOCAL=1
ARG BUILD_REPO=https://github.com/letheanVPN/blockchain.git
ARG BUILD_TARGET=gcc-linux-arm64
ARG BUILD_FOLDER=build/release
ARG BUILD_TYPE=Release
ARG BUILD_TESTNET=0
ENV CONAN_HOME=/root/sdk
ENV BUILD_TARGET=${BUILD_TARGET}
RUN apt update && apt -y upgrade
RUN apt install -y build-essential pkgconf \
curl ca-certificates \
g++ llvm clang lld cmake \
git python3 python3-pip xz-utils gperf
RUN pip3 install conan --break-system-packages
WORKDIR /
# Copy the build context.
COPY . /tmp/local-src
RUN if [ "$BUILD_LOCAL" = "1" ]; then \
mv /tmp/local-src /code; \
else \
rm -rf /tmp/local-src; \
git clone --recursive --branch ${BUILD_BRANCH} ${BUILD_REPO} code; \
fi
WORKDIR /code
RUN conan profile detect --name=default --force
RUN conan install . --output-folder=${BUILD_FOLDER} --build=missing -s build_type=${BUILD_TYPE} -pr:h=/code/cmake/profiles/$BUILD_TARGET
RUN cmake -S /code -B ${BUILD_FOLDER} -DCMAKE_TOOLCHAIN_FILE=${BUILD_FOLDER}/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DTESTNET=${BUILD_TESTNET}
RUN cmake --build ${BUILD_FOLDER} --config=${BUILD_TYPE} --parallel=${THREADS}
FROM scratch AS build-cache
COPY --from=builder ${CONAN_HOME} /
FROM scratch AS build-artifacts
COPY --from=builder /code/build/release/src/lethean-* /
#FROM ubuntu:24.04 AS chain-service
#
#COPY --from=build-artifacts --chmod=+x / /bin
#
#RUN lethean-testnet-chain-node --help

View file

@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
0588HZ6Q
=Esla
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,12 +0,0 @@
#
# This file contains local path settings for your own personal environment.
# To use in macosx add export entries to your ~/.bash_profile file
#
set -x #echo on
export ZANO_QT_PATH="/Users/roky/Qt5.6.0/5.6"
export ZANO_BOOST_ROOT="/Users/roky/boost_1_60_0"
export ZANO_BOOST_LIBS_PATH="$ZANO_BOOST_ROOT/stage/lib"
export ZANO_BUILD_DIR="build_mac_osx_64"
export OPENSSL_ROOT_DIR="/usr/local/opt/openssl"

View file

@ -1,51 +0,0 @@
set +e
curr_path=${BASH_SOURCE%/*}
function upload_build() # $1 - path to the file to be uploaded
{
if [ -z "$1" ]
then
echo "ERROR: upload_build is called with no or invalid parameters"
return 1
fi
# check if the directory contains files
#if [ -n "$(ls -A "$ZANO_BLD_UPL_DIR" 2>/dev/null)" ]
#then
# echo "ERROR: uploading folder contains files"
# return 1
#fi
cd "$ZANO_BLD_UPL_DIR" || return 2
rm -rf ./* || return 3
#popd || return 4
touch WAIT || return 5
cp $1 . || return 6
rm WAIT || return 7
counter=0
while [ ! -f DONE ]
do
if [ "$counter" -ge 500 ]
then
echo "ERROR: uploading is taking longer than expected"
touch STOP
return 8
fi
sleep 2
echo "waiting..."
counter=$((counter + 1))
done
rc=$(<DONE)
if [ "$rc" -eq 0 ]
then
echo "Upload successful."
return 0
fi
echo "Upload unsuccessfull, exit code = $rc."
return $rc
}

View file

@ -1,63 +0,0 @@
set -e
function rel_path() # $1 - path to a target dir/file, $2 - base dir
{
python3 -c "import os.path; print(os.path.relpath('$1', os.path.dirname('$2')))"
}
function abs_path()
{
python3 -c "import os.path; print(os.path.abspath('$1'))"
}
function fix_boost_libs_in_binary() # $1 - path to boost libs, $2 - binary to fix
{
if [ -z "$1" ] || [ -z "$2" ]
then
echo "fix_boost_libs_in_binary is called with no or invalid parameters"
return 1
fi
install_name_tool -change @rpath/libboost_system.dylib $1/libboost_system.dylib $2
install_name_tool -change @rpath/libboost_filesystem.dylib $1/libboost_filesystem.dylib $2
install_name_tool -change @rpath/libboost_thread.dylib $1/libboost_thread.dylib $2
install_name_tool -change @rpath/libboost_date_time.dylib $1/libboost_date_time.dylib $2
install_name_tool -change @rpath/libboost_chrono.dylib $1/libboost_chrono.dylib $2
install_name_tool -change @rpath/libboost_regex.dylib $1/libboost_regex.dylib $2
install_name_tool -change @rpath/libboost_serialization.dylib $1/libboost_serialization.dylib $2
install_name_tool -change @rpath/libboost_atomic.dylib $1/libboost_atomic.dylib $2
install_name_tool -change @rpath/libboost_program_options.dylib $1/libboost_program_options.dylib $2
install_name_tool -change @rpath/libboost_locale.dylib $1/libboost_locale.dylib $2
install_name_tool -change @rpath/libboost_timer.dylib $1/libboost_timer.dylib $2
install_name_tool -change @rpath/libboost_chrono.dylib $1/libboost_chrono.dylib $2
return 0
}
function fix_boost_libs_in_libs() # $1 - path to boost libs, $2 - path to libs folder
{
return 0 # temporary disabled -- 2023-11-20, sowle
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_filesystem.dylib
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_thread.dylib
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_chrono.dylib
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_timer.dylib
install_name_tool -change libboost_chrono.dylib $1/libboost_chrono.dylib $2/libboost_timer.dylib
install_name_tool -change libboost_system.dylib $1/libboost_system.dylib $2/libboost_locale.dylib
}
# return immediately if this script was sourced from another script
[ "$(basename $0)" != "$(basename $BASH_SOURCE)" ] && return
if [[ $# -ne 2 ]]; then
echo "error: wrong args"
echo "usage: $0 <path_to_boost_lib_dir> <path_to_binary>"
echo " -- fixes lib paths in binary and libs to relative-to-binary paths, using given lib dir as final lib folder"
exit 1
fi
path_to_lib=$1
path_to_binary=$2
rel_bin_to_lib=$(rel_path $path_to_lib $path_to_binary)
fix_boost_libs_in_binary @executable_path/$rel_bin_to_lib $path_to_binary
fix_boost_libs_in_libs @executable_path/$rel_bin_to_lib $path_to_lib
exit 0

View file

@ -1,28 +0,0 @@
#/bin/sh
INSTALL_DIR=$1
function fixup() {
echo $3": "$1" -> "$2
install_name_tool -change $1 $2 $3
}
fixup_lib() {
FROM="\"/opt/local/lib/"$1"\""
TO="\"@executable_path/lib/"$1"\""
fixup $FROM $TO $2
}
for BIN in $INSTALL_DIR/*; do
if [ ! -d "$BIN" ]; then
fixup_lib "libboost_system-mt.dylib" $BIN
fixup_lib "libboost_filesystem-mt.dylib" $BIN
fixup_lib "libboost_thread-mt.dylib" $BIN
fixup_lib "libboost_date_time-mt.dylib" $BIN
fixup_lib "libboost_chrono-mt.dylib" $BIN
fixup_lib "libboost_regex-mt.dylib" $BIN
fixup_lib "libboost_serialization-mt.dylib" $BIN
fixup_lib "libboost_atomic-mt.dylib" $BIN
fixup_lib "libboost_program_options-mt.dylib" $BIN
fi
done