From 31ac51d58d1b724c8b339b93e011ebc9fd6958b1 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Wed, 5 Apr 2023 16:39:15 -0400 Subject: [PATCH 01/12] added freebsd into build.sh --- build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index 7bdf5f93d..40d46c354 100755 --- a/build.sh +++ b/build.sh @@ -12,8 +12,8 @@ elif [[ "$OSTYPE" == "darwin"* ]]; then ./util/build-mac.sh --disable-tests $@ elif [[ "$OSTYPE" == "msys"* ]]; then ./util/build-win.sh --disable-tests $@ -#elif [[ "$OSTYPE" == "freebsd"* ]]; then - # placeholder +elif [[ "$OSTYPE" == "freebsd"* ]]; then + MAKE=gmake ./util/build.sh --disable-tests $@ else echo "Unable to detect your OS. What are you using?" fi From e0f27459b0f8337d7e546b2639baf56996227531 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Wed, 5 Apr 2023 16:51:36 -0400 Subject: [PATCH 02/12] more changes for freebsd support --- depends/packages/googletest.mk | 1 + depends/packages/libevent.mk | 1 + depends/packages/rust.mk | 2 ++ 3 files changed, 4 insertions(+) diff --git a/depends/packages/googletest.mk b/depends/packages/googletest.mk index 00ee3f23b..0335d6c1b 100644 --- a/depends/packages/googletest.mk +++ b/depends/packages/googletest.mk @@ -8,6 +8,7 @@ $(package)_sha256_hash=58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba514 define $(package)_set_vars $(package)_cxxflags+=-std=c++11 $(package)_cxxflags_linux=-fPIC +$(package)_cxxflags_freebsd=-fPIC endef ifeq ($(build_os),darwin) diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk index b3881738a..4d88b3828 100644 --- a/depends/packages/libevent.mk +++ b/depends/packages/libevent.mk @@ -16,6 +16,7 @@ define $(package)_set_vars $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress $(package)_config_opts_release=--disable-debug-mode $(package)_config_opts_linux=--with-pic + $(package)_config_opts_freebsd=--with-pic endef define $(package)_config_cmds diff --git a/depends/packages/rust.mk b/depends/packages/rust.mk index 6fbdda037..c48575ee2 100644 --- a/depends/packages/rust.mk +++ b/depends/packages/rust.mk @@ -7,6 +7,8 @@ $(package)_file_name_darwin=rust-$($(package)_version)-x86_64-apple-darwin.tar.g $(package)_sha256_hash_darwin=f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304 $(package)_file_name_mingw32=rust-$($(package)_version)-x86_64-pc-windows-gnu.tar.gz $(package)_sha256_hash_mingw32=358e1435347c67dbf33aa9cad6fe501a833d6633ed5d5aa1863d5dffa0349be9 +$(package)_file_name_freebsd=rust-$($(package)_version)-x86_64-unknown-freebsd.tar.gz +$(package)_sha256_hash_freebsd=20d062493d01f1816014fe9dbe883bda06f1828a6ddbfb7ee5e4f1df20eb1c3a # Mapping from GCC canonical hosts to Rust targets # If a mapping is not present, we assume they are identical, unless $host_os is From 75c42512ea61d1ba3d5befdf8a9b4e44af094065 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Wed, 5 Apr 2023 17:09:11 -0400 Subject: [PATCH 03/12] more changes for freebsd support --- depends/packages/libcurl.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/depends/packages/libcurl.mk b/depends/packages/libcurl.mk index 1ece9ce64..8f0116680 100644 --- a/depends/packages/libcurl.mk +++ b/depends/packages/libcurl.mk @@ -5,6 +5,7 @@ $(package)_download_path=https://curl.haxx.se/download $(package)_file_name=curl-$($(package)_version).tar.gz $(package)_sha256_hash=b0a3428acb60fa59044c4d0baae4e4fc09ae9af1d8a3aa84b2e3fbcd99841f77 $(package)_config_opts_linux=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=$(host) +$(package)_config_opts_freebsd=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=$(host) $(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=x86_64-w64-mingw32 $(package)_config_opts_darwin=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) $(package)_cflags_darwin=-mmacosx-version-min=10.9 From 51ee606547e9b4d5a85f2657c8870ab976e27d8d Mon Sep 17 00:00:00 2001 From: jahway603 Date: Wed, 5 Apr 2023 23:44:04 -0400 Subject: [PATCH 04/12] changed make to for freebsd support --- src/cc/makecustom | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cc/makecustom b/src/cc/makecustom index 3516b4023..8fca17cba 100755 --- a/src/cc/makecustom +++ b/src/cc/makecustom @@ -1,5 +1,5 @@ #!/bin/sh -if HOST="$HOST" make -B -f Makefile_custom "$@"; then +if HOST="$HOST" $MAKE -B -f Makefile_custom "$@"; then echo CUSTOMCC BUILD SUCCESSFUL else echo CUSTOMCC BUILD FAILED From e572b2922ec65d2e0c8d794200b801fc093e65fb Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 6 Apr 2023 02:15:55 -0400 Subject: [PATCH 05/12] add missing aarch64 (ARM64) build dependency --- depends/packages/rust.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/depends/packages/rust.mk b/depends/packages/rust.mk index c48575ee2..3102aef33 100644 --- a/depends/packages/rust.mk +++ b/depends/packages/rust.mk @@ -9,6 +9,8 @@ $(package)_file_name_mingw32=rust-$($(package)_version)-x86_64-pc-windows-gnu.ta $(package)_sha256_hash_mingw32=358e1435347c67dbf33aa9cad6fe501a833d6633ed5d5aa1863d5dffa0349be9 $(package)_file_name_freebsd=rust-$($(package)_version)-x86_64-unknown-freebsd.tar.gz $(package)_sha256_hash_freebsd=20d062493d01f1816014fe9dbe883bda06f1828a6ddbfb7ee5e4f1df20eb1c3a +$(package)_file_name_aarch64_linux=rust-$($(package)_version)-aarch64-unknown-linux-gnu.tar.gz +$(package)_sha256_hash_aarch64_linux=60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee # Mapping from GCC canonical hosts to Rust targets # If a mapping is not present, we assume they are identical, unless $host_os is From 784744b5b8162c6e0d09b79ce77f3683ff77af73 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 6 Apr 2023 02:21:20 -0400 Subject: [PATCH 06/12] added to AUTHORS --- AUTHORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 20bd581e2..54de6e03c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,7 +2,7 @@ Duke Leto https://git.hush.is/duke https://github.com/leto Miodrag https://github.com/miodragpop -jahway603 https://git.hush.is/jahway603 https://github.com/jahway603 +jahway603 https://git.hush.is/jahway603 https://codeberg.org/jahway603 https://github.com/jahway603 # The SuperNET Developers From e9036402ca4b33faff26b09cc1065e8583c94e5a Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 6 Apr 2023 13:21:34 -0400 Subject: [PATCH 07/12] build.sh change --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 40d46c354..608fbe1a3 100755 --- a/build.sh +++ b/build.sh @@ -7,7 +7,7 @@ set -eu -o pipefail # run correct build script for detected OS if [[ "$OSTYPE" == "linux-gnu"* ]]; then - ./util/build.sh --disable-tests $@ + MAKE=make ./util/build.sh --disable-tests $@ elif [[ "$OSTYPE" == "darwin"* ]]; then ./util/build-mac.sh --disable-tests $@ elif [[ "$OSTYPE" == "msys"* ]]; then From 78978dfc45359962723429a4d4b465697437dff0 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 27 Apr 2023 16:27:25 -0400 Subject: [PATCH 08/12] Reverting to commit dd9be59e4 or current origin/dev branch --- AUTHORS | 2 +- build.sh | 6 +++--- depends/packages/googletest.mk | 1 - depends/packages/libcurl.mk | 1 - depends/packages/libevent.mk | 1 - depends/packages/rust.mk | 4 ---- src/cc/makecustom | 2 +- 7 files changed, 5 insertions(+), 12 deletions(-) diff --git a/AUTHORS b/AUTHORS index 54de6e03c..20bd581e2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,7 +2,7 @@ Duke Leto https://git.hush.is/duke https://github.com/leto Miodrag https://github.com/miodragpop -jahway603 https://git.hush.is/jahway603 https://codeberg.org/jahway603 https://github.com/jahway603 +jahway603 https://git.hush.is/jahway603 https://github.com/jahway603 # The SuperNET Developers diff --git a/build.sh b/build.sh index 608fbe1a3..7bdf5f93d 100755 --- a/build.sh +++ b/build.sh @@ -7,13 +7,13 @@ set -eu -o pipefail # run correct build script for detected OS if [[ "$OSTYPE" == "linux-gnu"* ]]; then - MAKE=make ./util/build.sh --disable-tests $@ + ./util/build.sh --disable-tests $@ elif [[ "$OSTYPE" == "darwin"* ]]; then ./util/build-mac.sh --disable-tests $@ elif [[ "$OSTYPE" == "msys"* ]]; then ./util/build-win.sh --disable-tests $@ -elif [[ "$OSTYPE" == "freebsd"* ]]; then - MAKE=gmake ./util/build.sh --disable-tests $@ +#elif [[ "$OSTYPE" == "freebsd"* ]]; then + # placeholder else echo "Unable to detect your OS. What are you using?" fi diff --git a/depends/packages/googletest.mk b/depends/packages/googletest.mk index 0335d6c1b..00ee3f23b 100644 --- a/depends/packages/googletest.mk +++ b/depends/packages/googletest.mk @@ -8,7 +8,6 @@ $(package)_sha256_hash=58a6f4277ca2bc8565222b3bbd58a177609e9c488e8a72649359ba514 define $(package)_set_vars $(package)_cxxflags+=-std=c++11 $(package)_cxxflags_linux=-fPIC -$(package)_cxxflags_freebsd=-fPIC endef ifeq ($(build_os),darwin) diff --git a/depends/packages/libcurl.mk b/depends/packages/libcurl.mk index 8f0116680..1ece9ce64 100644 --- a/depends/packages/libcurl.mk +++ b/depends/packages/libcurl.mk @@ -5,7 +5,6 @@ $(package)_download_path=https://curl.haxx.se/download $(package)_file_name=curl-$($(package)_version).tar.gz $(package)_sha256_hash=b0a3428acb60fa59044c4d0baae4e4fc09ae9af1d8a3aa84b2e3fbcd99841f77 $(package)_config_opts_linux=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=$(host) -$(package)_config_opts_freebsd=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=$(host) $(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=x86_64-w64-mingw32 $(package)_config_opts_darwin=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) $(package)_cflags_darwin=-mmacosx-version-min=10.9 diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk index 4d88b3828..b3881738a 100644 --- a/depends/packages/libevent.mk +++ b/depends/packages/libevent.mk @@ -16,7 +16,6 @@ define $(package)_set_vars $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress $(package)_config_opts_release=--disable-debug-mode $(package)_config_opts_linux=--with-pic - $(package)_config_opts_freebsd=--with-pic endef define $(package)_config_cmds diff --git a/depends/packages/rust.mk b/depends/packages/rust.mk index 3102aef33..6fbdda037 100644 --- a/depends/packages/rust.mk +++ b/depends/packages/rust.mk @@ -7,10 +7,6 @@ $(package)_file_name_darwin=rust-$($(package)_version)-x86_64-apple-darwin.tar.g $(package)_sha256_hash_darwin=f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304 $(package)_file_name_mingw32=rust-$($(package)_version)-x86_64-pc-windows-gnu.tar.gz $(package)_sha256_hash_mingw32=358e1435347c67dbf33aa9cad6fe501a833d6633ed5d5aa1863d5dffa0349be9 -$(package)_file_name_freebsd=rust-$($(package)_version)-x86_64-unknown-freebsd.tar.gz -$(package)_sha256_hash_freebsd=20d062493d01f1816014fe9dbe883bda06f1828a6ddbfb7ee5e4f1df20eb1c3a -$(package)_file_name_aarch64_linux=rust-$($(package)_version)-aarch64-unknown-linux-gnu.tar.gz -$(package)_sha256_hash_aarch64_linux=60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee # Mapping from GCC canonical hosts to Rust targets # If a mapping is not present, we assume they are identical, unless $host_os is diff --git a/src/cc/makecustom b/src/cc/makecustom index 8fca17cba..3516b4023 100755 --- a/src/cc/makecustom +++ b/src/cc/makecustom @@ -1,5 +1,5 @@ #!/bin/sh -if HOST="$HOST" $MAKE -B -f Makefile_custom "$@"; then +if HOST="$HOST" make -B -f Makefile_custom "$@"; then echo CUSTOMCC BUILD SUCCESSFUL else echo CUSTOMCC BUILD FAILED From 12f746b391432b2c95a2f9e7f7c6e98a4ed2bec0 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Thu, 27 Apr 2023 21:06:10 -0400 Subject: [PATCH 09/12] build script to xcompile ARM64 (aarch64) --- util/README.md | 5 ++ util/build-arm-xcompile.sh | 139 +++++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100755 util/build-arm-xcompile.sh diff --git a/util/README.md b/util/README.md index 0c7408f4d..d11b0e02f 100644 --- a/util/README.md +++ b/util/README.md @@ -12,6 +12,11 @@ Compile Hush full node code. ## build-arm.sh Compile Hush full node code for ARM architecture. +**has not worked for some time** + +## build-arm-xcompile.sh + +Cross-Compile Hush full node code for ARM architecture on an x86 build server. ## build-debian-package.sh diff --git a/util/build-arm-xcompile.sh b/util/build-arm-xcompile.sh new file mode 100755 index 000000000..6be684464 --- /dev/null +++ b/util/build-arm-xcompile.sh @@ -0,0 +1,139 @@ +#!/usr/bin/env bash +# Copyright (c) 2016-2023 The Hush developers +# Distributed under the GPLv3 software license, see the accompanying +# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html + +# For use with https://git.hush.is/jahway603/hush-docs/src/branch/master/advanced/cross-compile-hush-full-node-to-aarch64-with-docker.md, +# Please follow that +set -eu -o pipefail + +# Check if cmake, a new dependency for randomx support, is installed on system and exits if it is not +if ! [ -x "$(command -v cmake)" ]; then + echo 'Error: cmake is not installed. Install cmake and try again.' >&2 + exit 1 +fi + +function cmd_pref() { + if type -p "$2" > /dev/null; then + eval "$1=$2" + else + eval "$1=$3" + fi +} +cat <<'EOF' + .~~~~~~~~~~~~~~~~. +{{ Building Hush!! }} + `~~~~~~~~~~~~~~~~` + \ ^__^ + \ (@@)\_______ + (__)\ HUSH )\/\ $ + z zz ||----w | z | +zz zz z || z ||xxx z z|z zz +zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz +zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz +EOF + +# If a g-prefixed version of the command exists, use it preferentially. +function gprefix() { + cmd_pref "$1" "g$2" "$2" +} + +gprefix READLINK readlink +cd "$(dirname "$("$READLINK" -f "$0")")/.." + +# Allow user overrides to $MAKE. Typical usage for users who need it: +# MAKE=gmake ./util/build.sh -j$(nproc) +if [[ -z "${MAKE-}" ]]; then + MAKE=make +fi + +# Allow overrides to $BUILD and $HOST for porters. Most users will not need it. +# BUILD=i686-pc-linux-gnu ./util/build.sh +if [[ -z "${BUILD-}" ]]; then + BUILD="$(./depends/config.guess)" +fi +if [[ -z "${HOST-}" ]]; then + HOST="$BUILD" +fi + +# Allow users to set arbitrary compile flags. Most users will not need this. +if [[ -z "${CONFIGURE_FLAGS-}" ]]; then + CONFIGURE_FLAGS="" +fi + +if [ "x$*" = 'x--help' ] +then + cat ./util/dragon.txt + cat < Date: Thu, 27 Apr 2023 23:02:36 -0400 Subject: [PATCH 10/12] fixed script to fix Issue #294 --- util/build-debian-package.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/util/build-debian-package.sh b/util/build-debian-package.sh index 11e9c1073..6ef878ba2 100755 --- a/util/build-debian-package.sh +++ b/util/build-debian-package.sh @@ -4,7 +4,8 @@ # file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html ## Usages: ## ./util/build-debian-package.sh # build amd64 package -## ARCH=aarch64 ./util/build-debian-package.sh # build package for specific archiecture +## ./util/build-debian-package.sh aarch64 # build aarch64 (ARM64) package +## ./util/build-debian-package.sh arch-type # build package for specific archiecture ARCH=${1:-amd64} echo "Let There Be Hush Debian Packages" From 73a54682b88f6e03924fba3f9f7277fc920c25c3 Mon Sep 17 00:00:00 2001 From: jahway603 Date: Fri, 28 Apr 2023 12:24:06 -0400 Subject: [PATCH 11/12] ARM commit - have to squash these damn commits... --- AUTHORS | 2 +- depends/packages/rust.mk | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 20bd581e2..54de6e03c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,7 +2,7 @@ Duke Leto https://git.hush.is/duke https://github.com/leto Miodrag https://github.com/miodragpop -jahway603 https://git.hush.is/jahway603 https://github.com/jahway603 +jahway603 https://git.hush.is/jahway603 https://codeberg.org/jahway603 https://github.com/jahway603 # The SuperNET Developers diff --git a/depends/packages/rust.mk b/depends/packages/rust.mk index 6fbdda037..660e96832 100644 --- a/depends/packages/rust.mk +++ b/depends/packages/rust.mk @@ -7,6 +7,8 @@ $(package)_file_name_darwin=rust-$($(package)_version)-x86_64-apple-darwin.tar.g $(package)_sha256_hash_darwin=f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304 $(package)_file_name_mingw32=rust-$($(package)_version)-x86_64-pc-windows-gnu.tar.gz $(package)_sha256_hash_mingw32=358e1435347c67dbf33aa9cad6fe501a833d6633ed5d5aa1863d5dffa0349be9 +$(package)_file_name_aarch64_linux=rust-$($(package)_version)-aarch64-unknown-linux-gnu.tar.gz +$(package)_sha256_hash_aarch64_linux=60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee # Mapping from GCC canonical hosts to Rust targets # If a mapping is not present, we assume they are identical, unless $host_os is From b92cc1efbb51ed0c65a656a5a9cce2170b0bdcdf Mon Sep 17 00:00:00 2001 From: jahway603 Date: Sat, 14 Oct 2023 22:47:27 -0400 Subject: [PATCH 12/12] Upgraded curl to 8.4.0 to resolve Issue #325 --- depends/packages/libcurl.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/depends/packages/libcurl.mk b/depends/packages/libcurl.mk index 473d8c34f..92c319a70 100644 --- a/depends/packages/libcurl.mk +++ b/depends/packages/libcurl.mk @@ -5,14 +5,14 @@ $(package)_version=7.67.0 $(package)_file_name=curl-$($(package)_version).tar.gz $(package)_sha256_hash=52af3361cf806330b88b4fe6f483b6844209d47ae196ac46da4de59bb361ab02 else -$(package)_version=7.77.0 +$(package)_version=8.4.0 $(package)_file_name=curl-$($(package)_version).tar.gz -$(package)_sha256_hash=b0a3428acb60fa59044c4d0baae4e4fc09ae9af1d8a3aa84b2e3fbcd99841f77 +$(package)_sha256_hash=816e41809c043ff285e8c0f06a75a1fa250211bbfb2dc0a037eeef39f1a9e427 endif $(package)_dependencies=wolfssl $(package)_download_path=https://curl.haxx.se/download -$(package)_config_opts_linux=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=$(host) +$(package)_config_opts_linux=--disable-shared --enable-static --without-ssl --prefix=$(host_prefix) --host=$(host) $(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=x86_64-w64-mingw32 $(package)_config_opts_darwin=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) $(package)_cflags_darwin=-mmacosx-version-min=10.9