# Maintainer: anonimal # Contributor: redfish # Contributor: Onishin pkgbase=('monero') pkgname=('monero' 'libmonero-wallet') pkgver=0.12.1.0 pkgrel=1 pkgdesc="Monero: the secure, private, untraceable currency - release version (includes daemon, wallet and miner)" license=('custom:Cryptonote') arch=('x86_64' 'i686' 'armv7h' 'aarch64') url="https://getmonero.org/" depends=('boost-libs' 'libunwind' 'openssl' 'readline' 'zeromq') makedepends=('git' 'cmake' 'boost' 'gtest' 'qt5-tools') provides=('monero' 'libmonero-wallet') conflicts=('bitmonero-git' 'libmonero-wallet-git') source=("${pkgname}"::'git+https://github.com/monero-project/monero#tag=v0.12.1.0' "0001-account-fix-build-with-GCC-8.1.0.patch" "0001-Ignore-GCC-8-warnings.patch" "0001-cmake-do-not-install-into-the-system.patch") sha256sums+=('SKIP' '3802e9a6eb21309c6d08d7da4a1979c369fc6a0d74789f34beaaf60a89e82af2' '1881c02eccb500c4ee28bf4bc1f59259fc1216013139f1e77f4255ffca2715fe' '653853f9c0fed231a2cec476703f09198e6a87af12bb0a3bfe98b32e48e7a1c5') _monero="${pkgbase}" _build="build" prepare() { git -C "${pkgname}" submodule update --init --recursive cd "${srcdir}/${_monero}" patch -Np1 -i "${srcdir}/0001-account-fix-build-with-GCC-8.1.0.patch" patch -Np1 -i "${srcdir}/0001-Ignore-GCC-8-warnings.patch" patch -Np1 -i "${srcdir}/0001-cmake-do-not-install-into-the-system.patch" -d "${srcdir}/monero/external/miniupnp" } build() { cd "${srcdir}/${_monero}" CMAKE_FLAGS+=" -DCMAKE_BUILD_TYPE=Release " CMAKE_FLAGS+=" -DCMAKE_INSTALL_PREFIX=/usr " CMAKE_FLAGS+=" -DBUILD_TESTS=ON " CMAKE_FLAGS+=" -DBUILD_GUI_DEPS=ON " #CMAKE_FLAGS+=" -DCMAKE_LINKER=/usr/bin/ld.gold " # #974 ld segfault on ARM, re-implement if needed mkdir -p $_build && cd $_build cmake $CMAKE_FLAGS ../ make } check() { cd "${srcdir}/${_monero}/${_build}" # Temporarily disable some a tests: # * coretests takes too long (~25000s) # * libwallet_api_tests fail (Issue #895) # * unit_tests were run separately above CTEST_ARGS+="-E 'core_tests|libwallet_api_tests|unit_tests'" echo ">>> NOTE: some tests excluded: $CTEST_ARGS" make ARGS="$CTEST_ARGS" test } package_monero() { backup=('etc/monerod.conf') install=monero.install # Uncomment for a debug build # options=(!strip debug) install -Dm644 "${srcdir}/${_monero}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" install -Dm644 "${srcdir}/${_monero}/utils/conf/monerod.conf" "${pkgdir}/etc/monerod.conf" install -Dm644 "${srcdir}/${_monero}/utils/systemd/monerod.service" "${pkgdir}/usr/lib/systemd/system/monerod.service" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-blockchain-blackball" "${pkgdir}/usr/bin/monero-blockchain-blackball" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-blockchain-export" "${pkgdir}/usr/bin/monero-blockchain-export" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-blockchain-import" "${pkgdir}/usr/bin/monero-blockchain-import" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-blockchain-usage" "${pkgdir}/usr/bin/monero-blockchain-usage" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-gen-trusted-multisig" "${pkgdir}/usr/bin/monero-gen-trusted-multisig" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-wallet-cli" "${pkgdir}/usr/bin/monero-wallet-cli" install -Dm755 "${srcdir}/${_monero}/build/bin/monero-wallet-rpc" "${pkgdir}/usr/bin/monero-wallet-rpc" install -Dm755 "${srcdir}/${_monero}/build/bin/monerod" "${pkgdir}/usr/bin/monerod" } package_libmonero-wallet() { # NOTE: this is crucial, otherwise stripping breaks the .a archive: # monero-core (GUI) fails to link against it (it can't find symbols # that are clearly in the library). options=(!strip) _stage_dir=stagedir cd "${srcdir}/${_monero}/${_build}" mkdir -p $_stage_dir make DESTDIR=$_stage_dir install cd $_stage_dir find usr/{include,lib} -type f -exec install -D -m 755 {} ${pkgdir}/{} \; }