Changeset View
Changeset View
Standalone View
Standalone View
contrib/gitian-descriptors/gitian-osx.yml
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | |||||
script: | | script: | | ||||
WRAP_DIR=$HOME/wrapped | WRAP_DIR=$HOME/wrapped | ||||
HOSTS="x86_64-apple-darwin16" | HOSTS="x86_64-apple-darwin16" | ||||
# CMake toolchain file name differ from host name | # CMake toolchain file name differ from host name | ||||
declare -A CMAKE_TOOLCHAIN_FILE | declare -A CMAKE_TOOLCHAIN_FILE | ||||
CMAKE_TOOLCHAIN_FILE[x86_64-apple-darwin16]=OSX.cmake | CMAKE_TOOLCHAIN_FILE[x86_64-apple-darwin16]=OSX.cmake | ||||
INSTALL_COMPONENTS="bitcoind bitcoin-qt bitcoin-seeder" | |||||
FAKETIME_HOST_PROGS="" | FAKETIME_HOST_PROGS="" | ||||
FAKETIME_PROGS="ar ranlib date dmg genisoimage" | FAKETIME_PROGS="ar ranlib date dmg genisoimage" | ||||
export QT_RCC_TEST=1 | export QT_RCC_TEST=1 | ||||
export QT_RCC_SOURCE_DATE_OVERRIDE=1 | export QT_RCC_SOURCE_DATE_OVERRIDE=1 | ||||
export GZIP="-9n" | export GZIP="-9n" | ||||
export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" | export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" | ||||
export TZ="UTC" | export TZ="UTC" | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | cmake -GNinja .. \ | ||||
-DENABLE_CLANG_TIDY=OFF \ | -DENABLE_CLANG_TIDY=OFF \ | ||||
-DENABLE_REDUCE_EXPORTS=ON \ | -DENABLE_REDUCE_EXPORTS=ON \ | ||||
-DCMAKE_INSTALL_PREFIX=${INSTALLPATH} \ | -DCMAKE_INSTALL_PREFIX=${INSTALLPATH} \ | ||||
-DCCACHE=OFF \ | -DCCACHE=OFF \ | ||||
-DGENISOIMAGE_EXECUTABLE="${WRAP_DIR}/genisoimage" | -DGENISOIMAGE_EXECUTABLE="${WRAP_DIR}/genisoimage" | ||||
ninja | ninja | ||||
for _component in ${INSTALL_COMPONENTS}; do | ninja install/strip | ||||
cmake -DCOMPONENT=${_component} -P cmake_install.cmake | |||||
done | |||||
export PYTHONPATH="${BASEPREFIX}/${i}/native/lib/python3/dist-packages:${PYTHONPATH}" | export PYTHONPATH="${BASEPREFIX}/${i}/native/lib/python3/dist-packages:${PYTHONPATH}" | ||||
ninja osx-deploydir | ninja osx-deploydir | ||||
OSX_VOLNAME="$(cat osx_volname)" | OSX_VOLNAME="$(cat osx_volname)" | ||||
mkdir -p unsigned-app-${i} | mkdir -p unsigned-app-${i} | ||||
cp osx_volname unsigned-app-${i}/ | cp osx_volname unsigned-app-${i}/ | ||||
cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i} | cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i} | ||||
cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i} | cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i} | ||||
cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i} | cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i} | ||||
cp ${BASEPREFIX}/${i}/native/bin/${i}-codesign_allocate unsigned-app-${i}/codesign_allocate | cp ${BASEPREFIX}/${i}/native/bin/${i}-codesign_allocate unsigned-app-${i}/codesign_allocate | ||||
cp ${BASEPREFIX}/${i}/native/bin/${i}-pagestuff unsigned-app-${i}/pagestuff | cp ${BASEPREFIX}/${i}/native/bin/${i}-pagestuff unsigned-app-${i}/pagestuff | ||||
mv dist unsigned-app-${i} | mv dist unsigned-app-${i} | ||||
pushd unsigned-app-${i} | pushd unsigned-app-${i} | ||||
find . | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz | find . | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz | ||||
popd | popd | ||||
ninja osx-dmg | ninja osx-dmg | ||||
${WRAP_DIR}/dmg dmg "${OSX_VOLNAME}.dmg" ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg | ${WRAP_DIR}/dmg dmg "${OSX_VOLNAME}.dmg" ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg | ||||
cd installed | cd installed | ||||
# The install/strip target should do exactly that. However there is a bug in | |||||
# in the Buster CMake version that causes strip to be called with the wrong | |||||
# parameters when an Apple strip tool is used. This is fixed starting with | |||||
# CMake versions >= 3.14, see: | |||||
# https://gitlab.kitware.com/cmake/cmake/merge_requests/2892 | |||||
find -path "*.app*" -type f -executable -exec mv {} ${DISTNAME}/bin/bitcoin-qt \; | find -path "*.app*" -type f -executable -exec mv {} ${DISTNAME}/bin/bitcoin-qt \; | ||||
find ${DISTNAME}/bin -type f -executable -exec ${i}-strip -u -r {} \; | |||||
find ${DISTNAME}/lib -type f -executable -exec ${i}-strip -x {} \; | |||||
find ${DISTNAME} -not -path "*.app*" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz | find ${DISTNAME} -not -path "*.app*" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz | ||||
cd ../../ | cd ../../ | ||||
done | done | ||||
mkdir -p $OUTDIR/src | mkdir -p $OUTDIR/src | ||||
mv $SOURCEDIST $OUTDIR/src | mv $SOURCEDIST $OUTDIR/src | ||||
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz | mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz |