mirror of
https://github.com/wownero/wownero.git
synced 2026-11-07 17:04:07 +01:00
Apply the prepared GUI security port on the current public gui branch. The complete Git tree equals candidate 9e9bb026d3d33a29a1607a1bce449e2583b1223f, built during private preparation, and includes the public v0.11.5.0 source.
132 lines
3.7 KiB
YAML
132 lines
3.7 KiB
YAML
---
|
|
name: "wownero-android-0.11"
|
|
enable_cache: true
|
|
suites:
|
|
- "bionic"
|
|
architectures:
|
|
- "amd64"
|
|
packages:
|
|
- "curl"
|
|
- "gperf"
|
|
- "gcc-7"
|
|
- "g++-7"
|
|
- "gcc"
|
|
- "g++"
|
|
- "binutils-gold"
|
|
- "git"
|
|
- "pkg-config"
|
|
- "build-essential"
|
|
- "autoconf"
|
|
- "libtool"
|
|
- "automake"
|
|
- "faketime"
|
|
- "bsdmainutils"
|
|
- "ca-certificates"
|
|
- "python"
|
|
- "cmake"
|
|
- "unzip"
|
|
remotes:
|
|
- "url": "https://github.com/wownero/wownero.git"
|
|
"dir": "wownero"
|
|
files: []
|
|
script: |
|
|
|
|
WRAP_DIR=$HOME/wrapped
|
|
HOSTS="arm-linux-android aarch64-linux-android"
|
|
FAKETIME_HOST_PROGS="clang clang++ ar nm"
|
|
FAKETIME_PROGS="date"
|
|
HOST_CFLAGS="-O2 -g"
|
|
HOST_CXXFLAGS="-O2 -g"
|
|
HOST_LDFLAGS=-static-libstdc++
|
|
|
|
export GZIP="-9n"
|
|
export TZ="UTC"
|
|
export BUILD_DIR=`pwd`
|
|
mkdir -p ${WRAP_DIR}
|
|
if test -n "$GBUILD_CACHE_ENABLED"; then
|
|
export SOURCES_PATH=${GBUILD_COMMON_CACHE}
|
|
export BASE_CACHE=${GBUILD_PACKAGE_CACHE}
|
|
export GITIAN=1
|
|
mkdir -p ${BASE_CACHE} ${SOURCES_PATH}
|
|
fi
|
|
|
|
export ZERO_AR_DATE=1
|
|
|
|
function create_global_faketime_wrappers {
|
|
for prog in ${FAKETIME_PROGS}; do
|
|
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${prog}
|
|
echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog}
|
|
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}
|
|
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${prog}
|
|
echo "\$REAL \$@" >> $WRAP_DIR/${prog}
|
|
chmod +x ${WRAP_DIR}/${prog}
|
|
done
|
|
}
|
|
|
|
function create_per-host_faketime_wrappers {
|
|
for i in $HOSTS; do
|
|
ABI=$i
|
|
if expr $i : arm- > /dev/null
|
|
then
|
|
ABI=$i"eabi"
|
|
fi
|
|
NDKDIR="${BUILD_DIR}/wownero/contrib/depends/$i/native/bin"
|
|
for prog in ${FAKETIME_HOST_PROGS}; do
|
|
WRAPPER=${WRAP_DIR}/${ABI}-${prog}
|
|
echo '#!/usr/bin/env bash' > ${WRAPPER}
|
|
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAPPER}
|
|
echo "export FAKETIME=\"$1\"" >> ${WRAPPER}
|
|
echo "$NDKDIR/${ABI}-$prog \$@" >> ${WRAPPER}
|
|
chmod +x ${WRAPPER}
|
|
done
|
|
done
|
|
}
|
|
|
|
# Faketime for depends so intermediate results are comparable
|
|
export PATH_orig=${PATH}
|
|
create_global_faketime_wrappers "2000-01-01 12:00:00"
|
|
create_per-host_faketime_wrappers "2000-01-01 12:00:00"
|
|
export PATH=${WRAP_DIR}:${PATH}
|
|
|
|
# gcc 7+ honors SOURCE_DATE_EPOCH, no faketime needed
|
|
export SOURCE_DATE_EPOCH=`date -d 2000-01-01T12:00:00 +%s`
|
|
|
|
git config --global core.abbrev 9
|
|
cd wownero
|
|
# Set the version string that gets added to the tar archive name
|
|
version="`git describe`"
|
|
if [[ $version == *"-"*"-"* ]]; then
|
|
version="`git rev-parse --short=9 HEAD`"
|
|
version="`echo $version | head -c 9`"
|
|
fi
|
|
|
|
BASEPREFIX=`pwd`/contrib/depends
|
|
# Build dependencies for each host
|
|
export TAR_OPTIONS=--mtime=2000-01-01T12:00:00
|
|
for i in $HOSTS; do
|
|
make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}"
|
|
done
|
|
|
|
# Faketime for binaries
|
|
export PATH=${PATH_orig}
|
|
create_global_faketime_wrappers "${REFERENCE_DATETIME}"
|
|
create_per-host_faketime_wrappers "${REFERENCE_DATETIME}"
|
|
|
|
# Build in a new dir for each host
|
|
export TAR_OPTIONS=--mtime=${REFERENCE_DATE}T${REFERENCE_TIME}
|
|
for i in ${HOSTS}; do
|
|
export PATH=${WRAP_DIR}:${BASEPREFIX}/${i}/native/bin:${PATH_orig}
|
|
mkdir build && cd build
|
|
cmake .. -DCMAKE_TOOLCHAIN_FILE=${BASEPREFIX}/${i}/share/toolchain.cmake -DCMAKE_BUILD_TYPE=Release
|
|
make ${MAKEOPTS}
|
|
chmod 755 bin/*
|
|
cp ../LICENSE ../README.md ../docs/ANONYMITY_NETWORKS.md bin
|
|
chmod 644 bin/LICENSE bin/*.md
|
|
DISTNAME=wownero-${i}-${version}
|
|
mv bin ${DISTNAME}
|
|
find ${DISTNAME}/ | sort | tar --no-recursion --owner=0 --group=0 -c -T - | bzip2 -9 > ${OUTDIR}/${DISTNAME}.tar.bz2
|
|
cd ..
|
|
rm -rf build
|
|
done
|
|
|