diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b1eda3c8c..e34253af5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,36 +1,42 @@ stages: - build - test + - package - deploy + variables: VERSION: 0.3.12 AGAMA_ARTIFACTS_LINUX: linux64.tar.gz AGAMA_ARTIFACTS_MACOS: osx.tar.gz AGAMA_ARTIFACTS_WINDOWS: win64.zip - VERUS_CLI_DEBIAN: verus-cli-v${VERSION}-beta-amd64.deb - VERUS_CLI_LINUX_PORTABLE: verus-cli-linux-v$VERSION-beta.tar.gz - VERUS_CLI_WINDOWS_PORTABLE: verus-cli-windows-v$VERSION-beta.zip - VERUS_CLI_MACOS_PORTABLE: verus-cli-mac-v$VERSION-beta.tar.gz + VERUS_CLI_LINUX: verus-cli-linux-v$VERSION-beta.tar.gz + VERUS_CLI_WINDOWS: verus-cli-windows-v$VERSION-beta.zip + VERUS_CLI_MACOS: verus-cli-mac-v$VERSION-beta.tar.gz + WINDOWS_INSTALLER: VerusCoin-v$VERSION-beta-windows-installer.exe - -build:linux: +.build:linux: image: asherd/veruscoin-cross-compiler:linux variables: DOCKER_DRIVER: overlay2 stage: build before_script: # Setup Cache - - rm -rf /root/.ccache || true - - mv .ccache /root/ || true + - rm -rf /root/.ccache || true + - mv .ccache /root/ || true script: - - zcutil/build.sh -j4 - - ./makeReleaseLinux.sh - - dos2unix kmd/linux/verus-cli/README.txt - - tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli ./ - - mv kmd/linux/verus-cli kmd/linux/linux64 - - tar -C kmd/linux/ -czvf $AGAMA_ARTIFACTS_LINUX linux64 ./ + - zcutil/build.sh -j4 + - cp src/komodod src/komodo-cli kmd/linux/verus-cli + - chmod +x kmd/linux/verus-cli/komodo + - chmod +x kmd/linux/verus-cli/komodod + - chmod +x kmd/linux/verus-cli/verus + - chmod +x kmd/linux/verus-cli/verusd + - chmod +x kmd/linux/verus-cli/fetch-params + - dos2unix kmd/linux/verus-cli/README.txt + - tar -C kmd/linux/ -czvf $VERUS_CLI_LINUX_PORTABLE verus-cli ./ + - mv kmd/linux/verus-cli kmd/linux/linux64 + - tar -C kmd/linux/ -czvf $AGAMA_ARTIFACTS_LINUX linux64 ./ after_script: - - mv /root/.ccache ./ || true + - mv /root/.ccache ./ || true cache: key: ${CI_JOB_NAME} paths: @@ -76,7 +82,7 @@ build:windows: expire_in: 1 week -build:mac: +.build:mac: stage: build tags: ["High Sierra"] cache: @@ -97,7 +103,7 @@ build:mac: expire_in: 1 week -code_quality: +.code_quality: image: docker:stable variables: DOCKER_DRIVER: overlay2 @@ -115,7 +121,7 @@ code_quality: paths: [gl-code-quality-report.json] -sast: +.sast: image: docker:stable variables: DOCKER_DRIVER: overlay2 @@ -134,7 +140,7 @@ sast: -license_management: +.license_management: image: docker:stable variables: DOCKER_DRIVER: overlay2 @@ -150,7 +156,7 @@ license_management: paths: [gl-license-management-report.json] -ubuntu:xenial: +.ubuntu:xenial: image: ubuntu:xenial variables: DOCKER_DRIVER: overlay2 @@ -168,7 +174,7 @@ ubuntu:xenial: - build:linux -ubuntu:bionic: +.ubuntu:bionic: image: ubuntu:bionic variables: DOCKER_DRIVER: overlay2 @@ -214,7 +220,7 @@ ubuntu:bionic: - build:mac -windows:10: +.windows:10: stage: test tags: ["Windows 10"] script: @@ -227,6 +233,29 @@ windows:10: dependencies: - build:windows +package: + stage: package + image: asherd/agama-builder + variables: + DOCKER_DRIVER: overlay2 + dependencies: + - build:windows + before_script: + - unzip $VERUS_CLI_WINDOWS_PORTABLE + - echo "$AUTH_KEY" > AUTH_KEY.json + - gcloud auth activate-service-account --key-file AUTH_KEY.json + - rm AUTH_KEY.json + - gsutil cp $STAGING/Agama/installer-prototype/Windows/Agama-win32-x64-v${VERSION}-beta.zip . + - unzip Agama-win32-x64-v${VERSION}-beta.zip + - git clone https://github.com/VerusCoin/Media-Assets --single-branch -b master + - mkdir -p assets/imgs/ + - cp Media-Assets/Logos/PNG/* assets/imgs/ + script: + - builder build zcutil/VerusCoin.xml windows --setvars project.version=$VERSION-beta + - mv builds/$WINDOWS_INSTALLER . + artifacts: + paths: [$WINDOWS_INSTALLER] + deploy: stage: deploy @@ -234,18 +263,19 @@ deploy: variables: DOCKER_DRIVER: overlay2 dependencies: - - build:linux - - build:windows - - build:mac + #- build:linux + #- build:windows + #- build:mac + - package script: - - mkdir -p $CI_COMMIT_REF_NAME/Windows - - mkdir -p $CI_COMMIT_REF_NAME/Linux - - mkdir -p $CI_COMMIT_REF_NAME/MacOS - - mv $VERUS_CLI_WINDOWS_PORTABLE $AGAMA_ARTIFACTS_WINDOWS $CI_COMMIT_REF_NAME/Windows - - mv $VERUS_CLI_LINUX_PORTABLE $AGAMA_ARTIFACTS_LINUX $CI_COMMIT_REF_NAME/Linux - - mv $VERUS_CLI_MACOS_PORTABLE $AGAMA_ARTIFACTS_MACOS $CI_COMMIT_REF_NAME/MacOS + #- mkdir -p $CI_COMMIT_REF_NAME/Windows + #- mkdir -p $CI_COMMIT_REF_NAME/Linux + #- mkdir -p $CI_COMMIT_REF_NAME/MacOS + #- mv $VERUS_CLI_WINDOWS_PORTABLE $AGAMA_ARTIFACTS_WINDOWS $WINDOWS_INSTALLER $CI_COMMIT_REF_NAME/Windows + #- mv $VERUS_CLI_LINUX_PORTABLE $AGAMA_ARTIFACTS_LINUX $CI_COMMIT_REF_NAME/Linux + #- mv $VERUS_CLI_MACOS_PORTABLE $AGAMA_ARTIFACTS_MACOS $CI_COMMIT_REF_NAME/MacOS - echo "$AUTH_KEY" > AUTH_KEY.json - gcloud auth activate-service-account --key-file AUTH_KEY.json - - gsutil rsync -r $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/ - + #- gsutil rsync -r $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/ + - gsutil cp $WINDOWS_INSTALLER $CI_COMMIT_REF_NAME/ $STAGING/VerusCoin/$CI_COMMIT_REF_NAME/Windows/ diff --git a/Brewfile b/Brewfile index 8ed641c56..7a048b080 100644 --- a/Brewfile +++ b/Brewfile @@ -9,7 +9,7 @@ brew "automake" brew "binutils" brew "cmake" brew "coreutils" -brew "gcc@5" +brew "gcc@6" brew "leveldb" brew "nanomsg" brew "protobuf" diff --git a/README.md b/README.md index 5fbf02c08..bd2b526f1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ ## VerusCoin version 0.3.12a-beta + VerusCoin is a new, mineable and stakeable cryptocurrency. It is a live fork of Komodo that retains its Zcash lineage and improves it. VerusCoin will leverage the Komodo platform and dPoW notarization for enhanced security and cross-chain interoperability. We have added a variation of a zawy12, lwma difficulty algorithm, a new CPU-optimized hash algorithm and a new algorithm for fair proof of stake. We describe these changes and vision going forward in a [our Phase I white paper](http://185.25.51.16/papers/VerusPhaseI.pdf) and [our Vision](http://185.25.51.16/papers/VerusVision.pdf). - [VerusCoin web site https://veruscoin.io/ Wallets and CLI tools](https://veruscoin.io/) - [VerusCoin Explorer](https://explorer.veruscoin.io/) diff --git a/depends/packages/googletest.mk b/depends/packages/googletest.mk index 1275593f5..409c83a1b 100644 --- a/depends/packages/googletest.mk +++ b/depends/packages/googletest.mk @@ -1,6 +1,6 @@ package=googletest $(package)_version=1.8.0 -$(package)_download_path=https://github.com/google/$(package)/archive/ +$(package)_download_path=https://github.com/google/$(package)/archive $(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_download_file=release-$($(package)_version).tar.gz $(package)_sha256_hash=58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba51450db7d8 diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk index 2a1125fda..ffe6f7e79 100644 --- a/depends/packages/libevent.mk +++ b/depends/packages/libevent.mk @@ -1,6 +1,6 @@ package=libevent $(package)_version=2.1.8 -$(package)_download_path=https://github.com/libevent/libevent/archive/ +$(package)_download_path=https://github.com/libevent/libevent/archive $(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_download_file=release-$($(package)_version)-stable.tar.gz $(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d diff --git a/depends/packages/libgmp.mk b/depends/packages/libgmp.mk index d8e41573a..c62fa18ed 100644 --- a/depends/packages/libgmp.mk +++ b/depends/packages/libgmp.mk @@ -1,7 +1,7 @@ package=libgmp ifeq ($(host_os),mingw32) -$(package)_download_path=https://github.com/joshuayabut/$(package)/archive/ +$(package)_download_path=https://github.com/joshuayabut/$(package)/archive $(package)_file_name=$(package)-$($(package)_git_commit).tar.gz $(package)_download_file=$($(package)_git_commit).tar.gz $(package)_sha256_hash=193836c1acc9dc00fe2521205d7bbe1ba13263f6cbef6f02584bf6f8b34b108f @@ -9,7 +9,7 @@ $(package)_git_commit=053c03b1cab347671d936f43ef66b48ab5e380ee $(package)_dependencies= $(package)_config_opts=--enable-cxx --disable-shared else ifeq ($(build_os),darwin) -$(package)_download_path=https://github.com/ca333/$(package)/archive/ +$(package)_download_path=https://github.com/ca333/$(package)/archive $(package)_file_name=$(package)-$($(package)_git_commit).tar.gz $(package)_download_file=$($(package)_git_commit).tar.gz $(package)_sha256_hash=59b2c2b5d58fdf5943bfde1fa709e9eb53e7e072c9699d28dc1c2cbb3c8cc32c diff --git a/depends/packages/librustzcash.mk b/depends/packages/librustzcash.mk index 20126776a..689082f8f 100644 --- a/depends/packages/librustzcash.mk +++ b/depends/packages/librustzcash.mk @@ -1,6 +1,6 @@ package=librustzcash $(package)_version=0.1 -$(package)_download_path=https://github.com/zcash/$(package)/archive/ +$(package)_download_path=https://github.com/zcash/$(package)/archive $(package)_file_name=$(package)-$($(package)_git_commit).tar.gz $(package)_download_file=$($(package)_git_commit).tar.gz $(package)_sha256_hash=a5760a90d4a1045c8944204f29fa2a3cf2f800afee400f88bf89bbfe2cce1279 diff --git a/depends/packages/libsodium.mk b/depends/packages/libsodium.mk index efa5d90de..67e096fae 100644 --- a/depends/packages/libsodium.mk +++ b/depends/packages/libsodium.mk @@ -9,7 +9,7 @@ $(package)_config_opts= else package=libsodium $(package)_version=1.0.15 -$(package)_download_path=https://download.libsodium.org/libsodium/releases/ +$(package)_download_path=https://download.libsodium.org/libsodium/releases $(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_sha256_hash=fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4 $(package)_dependencies= diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk index 850cce778..b9a57cba7 100644 --- a/depends/packages/zeromq.mk +++ b/depends/packages/zeromq.mk @@ -1,6 +1,6 @@ ifeq ($(host_os),mingw32) $(package)_version=4.2.2-1 -$(package)_download_path=https://github.com/ca333/libzmq/archive/ +$(package)_download_path=https://github.com/ca333/libzmq/archive $(package)_download_file=v$($(package)_version).tar.gz $(package)_file_name=libzmq-$($(package)_version).tar.gz $(package)_sha256_hash=0e225b85ce11be23bf7eb7d3f25c6686728bf30d5c31f61c12d37bb646c69962 @@ -15,7 +15,7 @@ endef else package=zeromq $(package)_version=4.2.1 -$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/ +$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version) $(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_sha256_hash=27d1e82a099228ee85a7ddb2260f40830212402c605a4a10b5e5498a7e0e9d03 diff --git a/kmd/linux/verus-cli/README.txt b/kmd/linux/verus-cli/README.txt index 4148bd5e5..00791104c 100644 --- a/kmd/linux/verus-cli/README.txt +++ b/kmd/linux/verus-cli/README.txt @@ -1,4 +1,5 @@ VerusCoin Command Line Tools v0.3.12a-beta + Contents: komodod - VerusCoin's enhanced Komodo daemon komodo-cli - VerusCoin's Komodo command line utility diff --git a/libsnark.mk.patch b/libsnark.mk.patch index 7c555d208..acb306b04 100644 --- a/libsnark.mk.patch +++ b/libsnark.mk.patch @@ -4,7 +4,7 @@ *** 1,30 **** package=libsnark $(package)_version=0.1 -! $(package)_download_path=https://github.com/radix42/$(package)/archive/ +! $(package)_download_path=https://github.com/radix42/$(package)/archive $(package)_file_name=$(package)-$($(package)_git_commit).tar.gz $(package)_download_file=$($(package)_git_commit).tar.gz ! $(package)_sha256_hash=9dbd5b44d3443e86463e934bfe1023cab4ca5948f8d74c23a67d9535c28d2584 @@ -35,7 +35,7 @@ --- 1,17 ---- package=libsnark $(package)_version=0.1 -! $(package)_download_path=https://github.com/zcash/$(package)/archive/ +! $(package)_download_path=https://github.com/zcash/$(package)/archive $(package)_file_name=$(package)-$($(package)_git_commit).tar.gz $(package)_download_file=$($(package)_git_commit).tar.gz ! $(package)_sha256_hash=9422b1a2a94e6b8be61f07af7f146087c2a7d70b208d07ad076622225aa7f0e4 diff --git a/zcutil/VerusCoin.xml b/zcutil/VerusCoin.xml new file mode 100644 index 000000000..914e2f14b --- /dev/null +++ b/zcutil/VerusCoin.xml @@ -0,0 +1,432 @@ + + VerusCoin + VerusCoin + 0.3.12 + ${product_shortname}-v${product_version}-${platform_name}-installer.${platform_exec_suffix} + ../COPYING + ../assets/imgs/VRSC_256x256.png + ../assets/imgs/VRSC_256x256.png + ../assets/imgs/VRSC_256x256.png + 1 + + + VerusCoin + VerusCoin CLI + 1 + 1 + 1 + 1 + + + Agama + Verus-Enhanced Agama Wallet + 1 + 1 + 1 + 1 + + + Start Agama App + + ../assets/icons/agama_icons/256x256.png + Agama App + + all + 0 + 0 + ${installdir}/Agama/Agama-win32-x64/Agama.exe + + + ${windows_folder_common_programs}/ + + + + + Verus-Enhanced Agama Wallet + ${installdir}/Agama + Agama + all + + + ../Agama-win32-x64 + + + + + + + + + Program Files + ${installdir} + programfiles + all + + + Uninstall + ${installdir}/${uninstallerName} + + Uninstall ${product_fullname} + ${installdir} + all + 0 + 0 + ${installdir}/${uninstallerName}.exe + + + ${installdir} + + + + + VerusCoin + ${installdir}/ + VerusCoin + all + + + ../verus-cli + + + + + + + + + HKEY_LOCAL_MACHINE\SOFTWARE\${project.shortname} + uninstaller_path + uninstaller_path + + + previous_installation_exists + 1 + + + + + + + + ${uninstaller_path} + + + + equals + ${previous_installation_exists} + 1 + + + + + Deleting user data + ${windows_folder_appdata}/Agama + Deleting user data + + + equals + ${previous_installation_exists} + 1 + + + equals + ${installation_type} + uninstall + + + equals + ${delete_user_data} + 1 + + + + + Deleting iguana config json + ${windows_folder_appdata}/Iguana/config.json + Deleting iguana config + + + equals + ${previous_installation_exists} + 1 + + + equals + ${installation_type} + uninstall + + + equals + ${delete_config_data} + 1 + + + + + Uninstalled + Uninstalled + + + equals + ${previous_installation_exists} + 1 + + + equals + ${installation_type} + uninstall + + + + + Downloading files + + + 0 + Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon + ${system_temp_directory}/vc_redist.x64.exe + Downloading Visual C++ Redistributable for Visual Studio 2015 + 0 + https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe + + + + + 1 + ${system_temp_directory}/vc_redist.x64.exe + + + + + 0 + Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon + ${system_temp_directory}/vc_redist.x64.exe + /install /passive + Downloading Visual C++ Redistributable for Visual Studio 2015 + 0 + + + Downloading files + + + 0 + Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon + ${system_temp_directory}/vc_redist.x86.exe + Downloading Visual C++ Redistributable for Visual Studio 2015 + 0 + https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe + + + + + 1 + ${system_temp_directory}/vc_redist.x86.exe + + + + + 0 + Visual C++ Redistributable for Visual Studio 2015 library files are needed for Agama daemon + ${system_temp_directory}/vc_redist.x86.exe + /install /passive + Downloading Visual C++ Redistributable for Visual Studio 2015 + 0 + + + 0 + Creating ZcashParam directory + ${windows_folder_appdata}/ZcashParams/ + Creating ZcashParam directory + 0 + + + 0 + Zcash Params file: sprout-proving.key + Zcash Params file: sprout-proving.key + 0 + Downloading Zcash Params file + + + 0 + Zcash Params file: sprout-proving.key + ${windows_folder_appdata}/ZcashParams/sprout-proving.key + Zcash Params file: sprout-proving.key + 0 + https://z.cash/downloads/sprout-proving.key + + + + + 1 + ${windows_folder_appdata}/ZcashParams/sprout-proving.key + + + + + 0 + Zcash Params file: sprout-verifying.key + Zcash Params file: sprout-verifying.key + Downloading Zcash Params files + + + 0 + Zcash Params file: sprout-verifying.key + ${windows_folder_appdata}/ZcashParams/sprout-verifying.key + Zcash Params file: sprout-verifying.key + 0 + https://z.cash/downloads/sprout-verifying.key + + + + + 1 + ${windows_folder_appdata}/ZcashParams/sprout-verifying.key + + + + + + + VERUS_HOME + system + ${installdir}/verus-cli/ + + + HKEY_LOCAL_MACHINE\SOFTWARE\${project.shortname} + uninstaller_path + REG_SZ + ${installdir}/${uninstallerName}.exe + + + + + C:\Windows\System32\ + Copying ReqCopying Required DLL filesuired DLL files + ${installdir}/resources/app/windeps/x86/vcruntime140d.dll + Copying ReqCopying Required DLL filesuired DLL files + + + + + + + + + + C:\Windows\System32\ + Copying ReqCopying Required DLL filesuired DLL files + ${installdir}/resources/app/windeps/x64/ucrtbased.dll + Copying ReqCopying Required DLL filesuired DLL files + + + C:\Windows\System32\ + Copying ReqCopying Required DLL filesuired DLL files + ${installdir}/resources/app/windeps/x64/vcruntime140d.dll + Copying ReqCopying Required DLL filesuired DLL files + + + C:\Windows\SysWOW64\ + Copying ReqCopying Required DLL filesuired DLL files + ${installdir}/resources/app/windeps/x86/ucrtbased.dll + Copying ReqCopying Required DLL filesuired DLL files + + + C:\Windows\SysWOW64\ + Copying ReqCopying Required DLL filesuired DLL files + ${installdir}/resources/app/windeps/x86/vcruntime140d.dll + Copying ReqCopying Required DLL filesuired DLL files + + + + + + + + + + HKEY_LOCAL_MACHINE\SOFTWARE\${project.shortname} + uninstaller_path + + + 1 + 1 + 1 + 1 + 1 + ../builds + 1 + ${windows_folder_appdata} + 1 + 1 + VerusCoin + 1 + + + installdir + Installer.Parameter.installdir.description + Installer.Parameter.installdir.explanation + + ${platform_install_prefix}/${product_shortname} + 0 + prefix + 1 + 0 + 30 + + + You don't have enough disk space to install the application, + please select another installation directory + + + less + ${installdir} + ${required_diskspace} + + + + + + + installation_type + Instalation type + Existing instalation is detected + Existing instalation is detected + uninstall + uninstall + + + uninstall + Uninstall + Uninstall + + + + + + 0 + 0 + + + + 0 + 0 + + + + + Upgrade + + + + + + + equals + ${previous_installation_exists} + 1 + + + + + +