Merge pull request #9 from fuwa0529/dev

update to wow 0.8
master v0.8.0.0
jw 4 years ago committed by GitHub
commit d62434b2a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -50,32 +50,17 @@ run-release:
cd cyberwow && \
flutter run --release --pid-file /tmp/flutter.pid
# clang -target aarch64-linux-android21 cyberwow/native/hello.c -o cyberwow/native/output/hello
c:
clang -target x86_64-linux-android21 cyberwow/native/hello.c -o cyberwow/native/output/x86_64/wownerod
build-c: c
build:
cd cyberwow && \
flutter clean
push:
adb push cyberwow/native/output/hello /data/local/tmp
test-android:
adb shell /data/local/tmp/hello
test-c: c push test-android
flutter build apk --target-platform android-arm64
collect:
cp ../vendor/wownero/bin/wownerod cyberwow/native/output/arm64/
build:
build-bundle:
cd cyberwow && \
flutter build apk --target-platform android-arm64 -v
flutter build appbundle --target-platform android-arm64
build-debug:
cd cyberwow && \
flutter build apk --debug --target-platform android-arm64
flutter build appbundle --debug --target-platform android-arm64
install: build
cd cyberwow && \
@ -87,8 +72,6 @@ script := etc/scripts/build-external-libs
wow: clean-external-libs collect-wownero build
wow-no-native: build
clean-external-libs:
$(script)/clean.sh
@ -103,11 +86,7 @@ boost: iconv
$(script)/boost/fetch.sh
$(script)/boost/build.sh
zlib: toolchain
$(script)/zlib/fetch.sh
$(script)/zlib/build.sh
openssl: zlib
openssl: toolchain
$(script)/openssl/fetch.sh
$(script)/openssl/build.sh

@ -7,57 +7,12 @@ A dumb android pruned full node for Wownero.
height="80">](https://f-droid.org/en/packages/org.wownero.cyberwow/)
<a href='https://play.google.com/store/apps/details?id=org.wownero.cyberwow'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png' height='80'/></a>
## How to build
### Compile wownerod for android-arm64
#### Simple method with Docker
```
pushd .
git clone https://github.com/wownero/wownero
cd wownero
git submodule init && git submodule update
docker build -f utils/build_scripts/android64.Dockerfile -t wownero-android .
# Create container
docker create -it --name wownero-android wownero-android bash
# Get binaries
docker cp wownero-android:/src/build/release/bin .
```
The binary needed is `./bin/wownerod`.
#### Alternative methods
1. One docker instance per hash
See `etc/scripts/docker-build-wownero.sh`, modify the value of `version` per build.
2. Debian based system similar to F-droid
See the `wow` task in `Makefile`.
### Install flutter and make sure it's in path
### Compile CyberWOW
```
popd
git clone https://github.com/wownero/cyberwow/
cd cyberwow
mkdir -p cyberwow/android/app/src/main/jniLibs/arm64-v8a
# Copy wownerod that we just built
cp $PATH_TO_WOWNEROD \
cyberwow/android/app/src/main/jniLibs/arm64-v8a/libwownerod.so
make build
```
## How to build
The resulting apk is `cyberwow/build/app/outputs/apk/release/app-release.apk`.
An example build script that works on an F-droid build server, which is based on debian stable, is here:
<https://gitlab.com/fdroid/fdroiddata/-/raw/master/metadata/org.wownero.cyberwow.yml>
## How to use custom start up arguments

@ -41,8 +41,8 @@ android {
applicationId "org.wownero.cyberwow"
minSdkVersion 26
targetSdkVersion 29
versionCode 25
versionName "0.7.0.0-l"
versionCode 26
versionName "0.8.0.0"
}
if(project.hasProperty("RELEASE_STORE_FILE")) {

@ -34,6 +34,7 @@ final _theme = ThemeData
accentColor: crtGreen,
cursorColor: crtGreen,
backgroundColor: Colors.black,
scaffoldBackgroundColor: Colors.black,
textTheme: TextTheme

@ -7,42 +7,42 @@ packages:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.11"
version: "2.0.13"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.2"
version: "1.6.0"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.0"
version: "2.4.1"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
version: "2.0.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
version: "1.1.3"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.11"
version: "1.14.12"
convert:
dependency: transitive
description:
@ -56,7 +56,7 @@ packages:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
version: "2.1.4"
flutter:
dependency: "direct main"
description: flutter
@ -78,7 +78,7 @@ packages:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0+4"
version: "0.12.1"
http_parser:
dependency: transitive
description:
@ -92,7 +92,7 @@ packages:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.4"
version: "2.1.12"
intl:
dependency: "direct main"
description:
@ -134,21 +134,21 @@ packages:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.5"
version: "1.6.8"
path_provider_macos:
dependency: transitive
description:
name: path_provider_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.4"
version: "0.0.4+2"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
version: "1.0.2"
pedantic:
dependency: transitive
description:
@ -183,35 +183,35 @@ packages:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
version: "2.1.3"
shared_preferences:
dependency: "direct main"
description:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.6+3"
version: "0.5.7+2"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.1+6"
version: "0.0.1+8"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
version: "1.0.4"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.2+4"
version: "0.1.2+5"
sky_engine:
dependency: transitive
description: flutter
@ -223,7 +223,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.5"
version: "1.7.0"
stack_trace:
dependency: transitive
description:
@ -279,7 +279,7 @@ packages:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "3.5.0"
version: "3.6.1"
sdks:
dart: ">=2.5.0 <3.0.0"
flutter: ">=1.12.13+hotfix.4 <2.0.0"
dart: ">=2.6.0 <3.0.0"
flutter: ">=1.12.13+hotfix.5 <2.0.0"

@ -1,7 +1,7 @@
name: cyberwow
description: A new Flutter project.
version: 0.7.0+25
version: 0.8.0+0
environment:
sdk: ">=2.1.0 <3.0.0"

@ -18,12 +18,10 @@ let
pyasn1
pyasn1-modules
python-vagrant
libvirt
pyyaml
qrcode
requests
ruamel_yaml
libvirt
]
; python-with-fdroid-packages = pkgs.python3.withPackages fdroid-python-packages

@ -1,3 +1,31 @@
# Copyright (c) 2019-2020, The Wownero Project
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are
# permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
# conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
# of conditions and the following disclaimer in the documentation and/or other
# materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be
# used to endorse or promote products derived from this software without specific
# prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
let
nixpkgs = import <nixpkgs> {}
@ -33,12 +61,111 @@ let
xkeyboard_config
]
; ndk-r17c = (nixpkgs.androidenv.composeAndroidPackages
{
ndkVersion = "17.2.4988734"
; }).ndk-bundle
; ndk-r21b =
let
version = "r21b"
; in
nixpkgs.fetchzip
{
url = "https://dl.google.com/android/repository/android-ndk-${version}-linux-x86_64.zip"
; sha256 = "0shz45b6f2k4lnca8fgghh4cdh53vghfn26cj4mkirkk4cpv1qry"
; }
; openssl-source =
let
name = "openssl"
; version = "1.1.1g"
; in
nixpkgs.fetchurl
{
url = "https://www.openssl.org/source/${name}-${version}.tar.gz"
; sha256 = "0ikdcc038i7jk8h7asq5xcn8b1xc2rrbc88yfm4hqbz3y5s4gc6x"
; }
; iconv-source =
let
name = "libiconv"
; version = "1.16"
; in
nixpkgs.fetchurl
{
url = "http://ftp.gnu.org/pub/gnu/${name}/${name}-${version}.tar.gz"
; sha256 = "016c57srqr0bza5fxjxfrx6aqxkqy0s3gkhcg7p7fhk5i6sv38g6"
; }
; boost-source =
let
name = "boost"
; version = "1_71_0"
; dot_version = "1.71.0"
; in
nixpkgs.fetchurl
{
url =
"https://dl.bintray.com/boostorg/release/{dot_version}/source/${name}_${version}.tar.bz2"
; sha256 = "1vi40mcair6xgm9k8rsavyhcia3ia28q8k0blknwgy4b3sh8sfnp"
; }
; sodium-source =
let
name = "libsodium"
; version = "1.0.18"
; in
nixpkgs.fetchurl
{
url = "https://github.com/jedisct1/${name}/archive/${version}.tar.gz"
; sha256 = "1x6lll81z4ah732zwpw481qfbzg7yml0nwdgbnd5388jnz3274ym"
; }
; randomwow-source =
let
name = "RandomWOW"
; version = "1.1.6"
; in
nixpkgs.fetchurl
{
url = "https://github.com/wownero/${name}/archive/${version}.tar.gz"
; sha256 = "1c55y2dwrayh6k1avpchs89gq1mvy5c305h92jm2k48kzhw6a792"
; }
; wownero-source =
nixpkgs.fetchFromGitHub
{
owner = "wownero"
; repo = "wownero"
; rev = "dev-v0.8"
; sha256 = "13032pa9wx3h6x860f9iy28vdpkc94wzby153ig7hw4dixjqhs6w"
; }
; miniupnp-source =
nixpkgs.fetchFromGitHub
{
owner = "miniupnp"
; repo = "miniupnp"
; rev = "7800de9"
; sha256 = "1f7jgll8lxz2l5lifgqafgx8694x0svgwyz8w8w4cwavm9lmah63"
; }
; unbound-source =
nixpkgs.fetchFromGitHub
{
owner = "monero-project"
; repo = "unbound"
; rev = "9a77c29"
; sha256 = "0dmm5pz2yf1lfand9k1c8x0mbrwynkpphh877b8jbavjrwiwsw35"
; }
; in
with nixpkgs;
(buildFHSUserEnv {
name = "cyberwow-build-env"
name = "cyberwow-env"
; targetPkgs = pkgs: (with pkgs;
[
bash
@ -58,7 +185,7 @@ with nixpkgs;
gnumake
gcc
entr
androidenv.androidPkgs_9_0.platform-tools
# androidenv.androidPkgs_9_0.platform-tools
zlib
@ -70,6 +197,7 @@ with nixpkgs;
gnum4
pkgconfig
cmake
ccache
]
++ android-studio-deps
)
@ -82,15 +210,25 @@ with nixpkgs;
; profile = ''
export ANDROID_HOME=~/SDK/Android/Sdk
PATH=~/local/sdk/flutter/beta/bin:$PATH
PATH=~/local/sdk/flutter/stable/bin:$PATH
PATH=~/SDK/Android/android-studio/bin:$PATH
PATH=~/SDK/Android/Sdk/tools/bin:$PATH
export ANDROID_NDK_VERSION=r20b
export ANDROID_NDK_ROOT=~/SDK/Android/ndk-archive/android-ndk-$ANDROID_NDK_VERSION
export ANDROID_NDK_VERSION=r21b
export ANDROID_NDK_ROOT=${ndk-r21b}
export NDK=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64
PATH=$NDK/bin:$PATH
export SRC_OPENSSL=${openssl-source}
export SRC_ICONV=${iconv-source}
export SRC_BOOST=${boost-source}
export SRC_SODIUM=${sodium-source}
export SRC_RANDOMWOW=${randomwow-source}
export SRC_MINIUPNP_DIR=${miniupnp-source}
export SRC_UNBOUND_DIR=${unbound-source}
export SRC_RAPIDJSON_DIR=${nixpkgs.rapidjson.src}
export SRC_WOWNERO_DIR=${wownero-source}
export PATH_NCURSES=${nixpkgs.ncurses5}
export PATH
@ -98,7 +236,7 @@ with nixpkgs;
export DART_VM_OPTIONS=--root-certs-file=/etc/ssl/certs/ca-certificates.crt
export ANDROID_NDK_VERSION_WOW=r17c
export ANDROID_NDK_ROOT_WOW=~/SDK/Android/ndk-archive/android-ndk-$ANDROID_NDK_VERSION_WOW
export ANDROID_NDK_ROOT_WOW=${ndk-r17c}/libexec/android-sdk/ndk-bundle
export ZSH_INIT=${nixpkgs.oh-my-zsh}/share/oh-my-zsh/oh-my-zsh.sh
exec zsh

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
@ -66,33 +66,42 @@ for arch in ${archs[@]}; do
echo "building for ${arch}"
(
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH \
CC=clang \
CXX=clang++; \
./b2 \
cxxstd=14 \
toolset=clang \
threading=multi \
threadapi=pthread \
link=static \
runtime-link=static \
target-os=android \
--ignore-site-config \
--prefix=${PREFIX} \
--build-dir=android \
-sICONV_PATH=${ICONV_PATH} \
--build-type=minimal \
--with-chrono \
--with-date_time \
--with-filesystem \
--with-program_options \
--with-regex \
--with-serialization \
--with-system \
--with-thread \
--with-locale \
install \
-j${NPROC} \
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH
if [ -x "$(command -v ccache)" ]; then
echo "////////////////////////////////////////////"
echo "// CCACHE 1 //"
echo "////////////////////////////////////////////"
CC="ccache clang"
CXX="ccache clang++"
else
CC=clang
CXX=clang++
fi
./b2 \
cxxstd=14 \
toolset=clang \
threading=multi \
threadapi=pthread \
link=static \
runtime-link=static \
target-os=android \
--ignore-site-config \
--prefix=${PREFIX} \
--build-dir=android \
-sICONV_PATH=${ICONV_PATH} \
--build-type=minimal \
--with-chrono \
--with-date_time \
--with-filesystem \
--with-program_options \
--with-regex \
--with-serialization \
--with-system \
--with-thread \
--with-locale \
install \
-j${NPROC} \
)
done

@ -39,12 +39,18 @@ name=boost
version=1_71_0
dot_version=1.71.0
hash=d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee
url=https://dl.bintray.com/boostorg/release/${dot_version}/source/${name}_${version}.tar.bz2
out=${name}_${version}.tar.bz2
rm -rf ${name}_${version}
curl -# -L -O \
https://dl.bintray.com/boostorg/release/${dot_version}/source/${name}_${version}.tar.bz2
if [ ! -z $SRC_BOOST ]; then
echo "using pre-fetched $name"
cp $SRC_BOOST $out
else
curl -# -L -o $out -O $url
fi
echo "${hash} ${name}_${version}.tar.bz2" | sha256sum -c
echo "$hash $out" | sha256sum -c
tar xfv ${name}_${version}.tar.bz2
tar xfv $out

@ -35,7 +35,6 @@ source etc/scripts/build-external-libs/env.sh
build_root=$BUILD_PATH
chmod u+w -R $build_root
rm -rf $build_root
mkdir -p $build_root
rm -rf cyberwow/native/output

@ -1,45 +0,0 @@
#!/bin/bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are
# permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
# conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
# of conditions and the following disclaimer in the documentation and/or other
# materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be
# used to endorse or promote products derived from this software without specific
# prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
set -e
source etc/scripts/build-external-libs/env.sh
src_root=$BUILD_ROOT_SRC
target_root=`pwd`
mkdir -p $target_root/cyberwow/native/output/arm64
touch $target_root/cyberwow/native/output/arm64/wownerod
mkdir -p $target_root/cyberwow/native/output/x86_64
touch $target_root/cyberwow/native/output/x86_64/wownerod
exit 0

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
@ -34,6 +34,7 @@ set -e
source etc/scripts/build-external-libs/env.sh
src_root=$BUILD_ROOT_SRC
build_root=$BUILD_ROOT
target_root=`pwd`
name=wownero
@ -62,7 +63,7 @@ for arch in ${archs[@]}; do
echo "collecting for ${arch}"
mkdir -p $target_root/cyberwow/android/app/src/main/jniLibs/$target_abi
cp build/release/bin/wownerod \
$target_root/cyberwow/android/app/src/main/jniLibs/$target_abi/libwownerod.so
$target_root/cyberwow/android/app/src/main/jniLibs/$target_abi/libwownerod.so
done

@ -1,3 +1,5 @@
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
#

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
@ -61,15 +61,24 @@ for arch in ${archs[@]}; do
echo "building for ${arch}"
(
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH \
CC=clang \
CXX=clang++; \
./configure \
--prefix=${PREFIX} \
--build=x86_64-linux-gnu \
--host=${target_host} \
--disable-rpath \
&& make -j${NPROC} && make install && make clean \
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH
if [ -x "$(command -v ccache)" ]; then
echo "////////////////////////////////////////////"
echo "// CCACHE 1 //"
echo "////////////////////////////////////////////"
CC="ccache clang"
CXX="ccache clang++"
else
CC=clang
CXX=clang++
fi
./configure \
--prefix=${PREFIX} \
--build=x86_64-linux-gnu \
--host=${target_host} \
--disable-rpath \
&& make -j${NPROC} && make install && make clean \
)
done

@ -35,15 +35,21 @@ source etc/scripts/build-external-libs/env.sh
cd $BUILD_ROOT_SRC
name=libiconv
version=1.16
hash=e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
name=libiconv
url=http://ftp.gnu.org/pub/gnu/${name}/${name}-${version}.tar.gz
out=${name}-${version}.tar.gz
rm -rf ${name}-${version}
curl -# -L -O \
http://ftp.gnu.org/pub/gnu/${name}/${name}-${version}.tar.gz
echo "${hash} ${name}-${version}.tar.gz" | sha256sum -c
if [ ! -z $SRC_ICONV ]; then
echo "using pre-fetched $name"
cp $SRC_ICONV $out
else
curl -# -L -o $out -O $url
fi
tar -xzf ${name}-${version}.tar.gz
echo "$hash $out" | sha256sum -c
tar -xzf $out

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
@ -37,7 +37,7 @@ build_root=$BUILD_ROOT
src_root=$BUILD_ROOT_SRC
name=openssl
version=1.1.1f
version=1.1.1g
cd $src_root/${name}-${version}
@ -64,19 +64,30 @@ for arch in ${archs[@]}; do
echo "building for ${arch}"
(
export CC=clang
export CXX=clang++
export ANDROID_API=23
export PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
ANDROID_API=29
export ANDROID_NDK_HOME=$ANDROID_NDK_ROOT
PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
if [ -x "$(command -v ccache)" ]; then
echo "////////////////////////////////////////////"
echo "// CCACHE 1 //"
echo "////////////////////////////////////////////"
CC="ccache clang"
CXX="ccache clang++"
else
CC=clang
CXX=clang++
fi
./Configure android-${arch} \
--prefix=${PREFIX} \
no-comp \
-D__ANDROID_API__=$ANDROID_API \
--with-zlib-include=${ZLIB_PATH}/include \
--with-zlib-lib=${ZLIB_PATH}/lib \
&& make -j${NPROC} && make install && make clean \
&& make -j${NPROC} SHLIB_VERSION_NUMBER= SHLIB_EXT=.so \
&& make install_sw SHLIB_VERSION_NUMBER= SHLIB_EXT=.so \
&& make clean \
)
done

@ -36,14 +36,20 @@ source etc/scripts/build-external-libs/env.sh
cd $BUILD_ROOT_SRC
name=openssl
version=1.1.1f
hash=186c6bfe6ecfba7a5b48c47f8a1673d0f3b0e5ba2e25602dd23b629975da3f35
version=1.1.1g
hash=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
url=https://www.openssl.org/source/openssl-${version}.tar.gz
out=openssl-${version}.tar.gz
rm -rf ${name}-${version}
curl -# -L -O \
https://www.openssl.org/source/openssl-${version}.tar.gz
if [ ! -z $SRC_OPENSSL ]; then
echo "using pre-fetched $name"
cp $SRC_OPENSSL $out
else
curl -# -L -o $out -O $url
fi
echo "${hash} ${name}-${version}.tar.gz" | sha256sum -c
echo "${hash} $out" | sha256sum -c
tar xzf ${name}-${version}.tar.gz
tar xzf $out

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
@ -63,16 +63,24 @@ for arch in ${archs[@]}; do
echo "building for ${arch}"
(
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH \
CC=clang \
CXX=clang++; \
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH
if [ -x "$(command -v ccache)" ]; then
echo "////////////////////////////////////////////"
echo "// CCACHE 1 //"
echo "////////////////////////////////////////////"
CC="ccache clang"
CXX="ccache clang++"
else
CC=clang
CXX=clang++
fi
./configure \
--prefix=${PREFIX} \
--host=${target_host} \
--enable-static \
--disable-shared \
&& make -j${NPROC} && make install && make clean \
./configure \
--prefix=${PREFIX} \
--host=${target_host} \
--enable-static \
--disable-shared \
&& make -j${NPROC} && make install && make clean \
)
done

@ -38,12 +38,18 @@ cd $BUILD_ROOT_SRC
name=libsodium
version=1.0.18
hash=d59323c6b712a1519a5daf710b68f5e7fde57040845ffec53850911f10a5d4f4
url=https://github.com/jedisct1/libsodium/archive/${version}.tar.gz
out=${name}-${version}.tar.gz
rm -rf ${name}-${version}
curl -# -L -o ${name}-${version}.tar.gz \
https://github.com/jedisct1/libsodium/archive/${version}.tar.gz
if [ ! -z $SRC_SODIUM ]; then
echo "using pre-fetched $name"
cp $SRC_SODIUM $out
else
curl -# -L -o $out -O $url
fi
echo "${hash} ${name}-${version}.tar.gz" | sha256sum -c
echo "${hash} $out" | sha256sum -c
tar xzf ${name}-${version}.tar.gz
tar xzf $out

@ -36,7 +36,7 @@ source etc/scripts/build-external-libs/env.sh
build_root=$BUILD_ROOT
PATH=$ANDROID_NDK_ROOT/build/tools/:$PATH
args="--api 23 --stl=libc++"
args="--api 29 --stl=libc++"
archs=(arm64)
for arch in ${archs[@]}; do

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
@ -72,13 +72,30 @@ for arch in ${archs[@]}; do
export TOOLCHAIN_DIR=`realpath $build_root_wow/tool/${arch}`
export PATH=$PATH:$build_root/host/bin
mkdir -p build/release
pushd .
cd build/release
(
CMAKE_INCLUDE_PATH="${PREFIX}/include" \
CMAKE_LIBRARY_PATH="${PREFIX}/lib" \
ANDROID_STANDALONE_TOOLCHAIN_PATH=${TOOLCHAIN_DIR} \
USE_SINGLE_BUILDDIR=1 \
make release-static-android-armv8 -j${NPROC} \
CC=aarch64-linux-android-clang \
CXX=aarch64-linux-android-clang++ \
cmake \
-D BUILD_TESTS=OFF \
-D ARCH="armv8-a" \
-D STATIC=ON \
-D BUILD_64=ON \
-D CMAKE_BUILD_TYPE=release \
-D ANDROID=true \
-D INSTALL_VENDORED_LIBUNBOUND=ON \
-D BUILD_TAG="android-armv8" \
-D CMAKE_SYSTEM_NAME="Android" \
-D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${TOOLCHAIN_DIR}" \
-D CMAKE_ANDROID_ARCH_ABI="arm64-v8a" \
-D MANUAL_SUBMODULES=ON \
../.. && make -j${NPROC} daemon
)
popd
done

@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2019-2020, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
#
# All rights reserved.
@ -36,14 +36,51 @@ source etc/scripts/build-external-libs/env.sh
cd $BUILD_ROOT_SRC
name=wownero
version=v0.7.0
githash=4c6c7ab87b2a56165f400f6e49f17b9577a2bcad
version=v0.8.0.0
# version=dev-v0.8
githash=1271a7e3a97c0d81816b401627aefb6c6697d0b3
out=wownero
rm -rf $name
chmod u+w -f -R $out || true
git clone --depth 1 https://github.com/wownero/wownero.git -b $version
rm -rf $out
cd $name
test `git rev-parse HEAD` = $githash || exit 1
if [ ! -z $SRC_WOWNERO_DIR ]; then
echo "using pre-fetched $name"
rsync -av --no-perms --no-owner --no-group --delete $SRC_WOWNERO_DIR/* $out
chmod u+w -R $out/external
cd $name
else
git clone --depth 1 https://github.com/wownero/wownero.git -b $version
cd $name
test `git rev-parse HEAD` = $githash || exit 1
fi
git submodule init && git submodule update
if [ ! -z $SRC_MINIUPNP_DIR ]; then
echo "using pre-fetched miniupnpc"
rsync -av --no-perms --no-owner --no-group --delete $SRC_MINIUPNP_DIR/* external/miniupnp
else
git submodule update --init external/miniupnp
fi
if [ ! -z $SRC_RAPIDJSON_DIR ]; then
echo "using pre-fetched rapidjson"
rsync -av --no-perms --no-owner --no-group --delete $SRC_RAPIDJSON_DIR/* external/rapidjson
else
git submodule update --init external/rapidjson
fi
if [ ! -z $SRC_RANDOMWOW ]; then
echo "using pre-fetched RandomWOW"
tar xzf $SRC_RANDOMWOW -C external/RandomWOW --strip-components=1
else
git submodule update --init external/RandomWOW
fi
if [ ! -z $SRC_UNBOUND_DIR ]; then
echo "using pre-fetched unbound"
rsync -av --no-perms --no-owner --no-group --delete $SRC_UNBOUND_DIR/* external/unbound
else
git submodule update --init external/unbound
fi

@ -1,76 +0,0 @@
#!/bin/bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are
# permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
# conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
# of conditions and the following disclaimer in the documentation and/or other
# materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be
# used to endorse or promote products derived from this software without specific
# prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
set -e
source etc/scripts/build-external-libs/env.sh
build_root=$BUILD_ROOT
src_root=$BUILD_ROOT_SRC
name=zlib
version=1.2.11
cd $src_root/${name}-${version}
archs=(arm64)
for arch in ${archs[@]}; do
extra_cmake_flags=""
case ${arch} in
"arm64")
target_host=aarch64-linux-android
;;
"x86_64")
target_host=x86_64-linux-android
;;
*)
exit 16
;;
esac
# PREFIX=$build_root/build/${name}/$arch
PREFIX=$build_root/build/$arch
echo "building for ${arch}"
export CC=clang
export CXX=clang++
(
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH; \
./configure \
--prefix=${PREFIX} \
--static \
&& make -j${NPROC} && make install && make clean \
)
done
exit 0

@ -1,49 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are
# permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
# conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
# of conditions and the following disclaimer in the documentation and/or other
# materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be
# used to endorse or promote products derived from this software without specific
# prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
set -e
source etc/scripts/build-external-libs/env.sh
cd $BUILD_ROOT_SRC
name=zlib
version=1.2.11
hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
rm -rf ${name}-${version}
curl -# -L -O \
https://zlib.net/${name}-${version}.tar.gz
echo "${hash} ${name}-${version}.tar.gz" | sha256sum -c
tar xzf ${name}-${version}.tar.gz

@ -1,49 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2019, The Wownero Project
# Copyright (c) 2014-2019, The Monero Project
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are
# permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
# conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
# of conditions and the following disclaimer in the documentation and/or other
# materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be
# used to endorse or promote products derived from this software without specific
# prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
set -e
version="aba46a"
container="wownero-android-${version}"
echo "Building: ${container}"
echo
cd ../vendor/wownero
git fetch --all
git checkout $version
git submodule init && git submodule update
docker build -f utils/build_scripts/android64.Dockerfile -t $container .
docker create -it --name $container $container bash
docker cp ${container}:/src/build/release/bin .

@ -0,0 +1,2 @@
* Support custom start up args
* Upgrade to AndroidX

@ -0,0 +1,2 @@
* Use flutter beta
* Make connection checking more conservative by requiring at least one active peer

@ -0,0 +1,2 @@
* Fix openssl checksum
* Optimize UI for large tx pool

@ -0,0 +1 @@
* Base on Wownero v0.8 Hallucenogenic Hypnotoad
Loading…
Cancel
Save