aboutsummaryrefslogtreecommitdiffstats
path: root/net-p2p/monero-cli/Makefile
blob: a7d05581054ddcad52a5d4241b48c5aec4f28d11 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Created by: Vasil Dimov <vd@FreeBSD.org>
# $FreeBSD$

PORTNAME=   monero-cli
# To build from an arbitrary git commit comment PORTVERSION and PORTREVISION (if present)
PORTVERSION=    0.14.0.0
DISTVERSIONPREFIX=  v
# and uncomment the following two lines
#PORTVERSION=   0
#PKGNAMESUFFIX= -git-HEAD
CATEGORIES= net-p2p finance

MAINTAINER= vd@FreeBSD.org
COMMENT=    Private, secure, untraceable, decentralised digital currency (CLI)

LICENSE=    BSD3CLAUSE

BROKEN_aarch64=     fails to compile: the clang compiler does not support -march=native
BROKEN_armv6=       fails to compile: the clang compiler does not support -march=native
BROKEN_armv7=       fails to compile: the clang compiler does not support -march=native
BROKEN_powerpc64=   fails to compile: the clang compiler does not support -march=native

LIB_DEPENDS=    \
        libboost_chrono.so:devel/boost-libs \
        libboost_date_time.so:devel/boost-libs \
        libboost_filesystem.so:devel/boost-libs \
        libboost_program_options.so:devel/boost-libs \
        libboost_regex.so:devel/boost-libs \
        libboost_serialization.so:devel/boost-libs \
        libboost_system.so:devel/boost-libs \
        libboost_thread.so:devel/boost-libs \
        libminiupnpc.so:net/miniupnpc \
        libnorm.so:net/norm \
        libpgm.so:net/openpgm \
        libsodium.so:security/libsodium \
        libunbound.so:dns/unbound \
        libzmq.so:net/libzmq4
BUILD_DEPENDS=  ${LOCALBASE}/include/rapidjson/document.h:devel/rapidjson \
        ${LOCALBASE}/include/zmq.hpp:net/cppzmq

USES=       cmake compiler:c++11-lib pkgconfig readline ssl
USE_GITHUB= yes

GH_ACCOUNT= monero-project
GH_PROJECT= monero
.if defined(PKGNAMESUFFIX)
GH_TAGNAME= ${PKGNAMESUFFIX:C/-git-//}
.endif
CFLAGS+=    -D_WANT_SEMUN

OPTIONS_DEFINE=     DOXYGEN
DOXYGEN_BUILD_DEPENDS=  dot:graphics/graphviz \
            doxygen:devel/doxygen
DOXYGEN_CMAKE_BOOL= BUILD_DOCUMENTATION

.include <bsd.port.pre.mk>

# On FreeBSD 12.x the default ld(1) is LLVM's ld which needs an explicit -m option
# when linking without any input .o on the command line, like:
# /usr/bin/ld -melf_amd64 -r -b binary -o blocksdat.o blocks.dat
# See Bug 226996 - net-p2p/monero-cli: fails to link with lld as the system linker
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226996
.if ${OSVERSION} >= 1200000

.if ${ARCH} == aarch64
LD_EMULATION=   aarch64elf
.elif ${ARCH} == amd64
LD_EMULATION=   elf_amd64
.elif ${ARCH} == i386
LD_EMULATION=   elf_i386_fbsd
.elif ${ARCH} == powerpc
LD_EMULATION=   elf32ppc
.elif ${ARCH} == powerpc64
LD_EMULATION=   elf64ppc
.endif

CMAKE_ARGS+=    -DLD_RAW_FLAGS:STRING=-m${LD_EMULATION}

.endif

# keep in sync with all platforms where libunwind is available
.if (${ARCH} == amd64 || ${ARCH} == i386)
LIB_DEPENDS+=   libunwind.so:devel/libunwind
.endif

CMAKE_ARGS+=    -DMANUAL_SUBMODULES:BOOL=ON

USE_RC_SUBR=    monerod

USERS=      monero
GROUPS=     monero

PLIST_FILES=    \
        bin/monero-blockchain-ancestry \
        bin/monero-blockchain-depth \
        bin/monero-blockchain-export \
        bin/monero-blockchain-import \
        bin/monero-blockchain-mark-spent-outputs \
        bin/monero-blockchain-usage \
        bin/monero-gen-trusted-multisig \
        bin/monero-wallet-cli \
        bin/monero-wallet-rpc \
        bin/monerod

.include <bsd.port.post.mk>