aboutsummaryrefslogtreecommitdiffstats
path: root/net-p2p/zetacoin/Makefile
blob: a81dffbb5861f30656617bc479fb90de8179ccd5 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Created by: Daniel Morante <daniel@morante.net>
# $FreeBSD$

PORTNAME=   zetacoin
PORTVERSION=    0.13.2.1
DISTVERSIONPREFIX=  v
CATEGORIES= net-p2p finance

MAINTAINER= daniel@morante.net
COMMENT=    Peer-to-Peer crypto currency with quick transactions

LICENSE=    MIT

NOT_FOR_ARCHS=      powerpc powerpc64 sparc64
NOT_FOR_ARCHS_REASON=   does not support big-endian architectures

LIB_DEPENDS=    libboost_date_time.so:devel/boost-libs \
        libevent.so:devel/libevent

USES=       autoreconf compiler:c++11-lib gmake libtool pkgconfig shebangfix ssl

USE_GITHUB= yes

GNU_CONFIGURE=  yes

SLAVE_PORT?=    no

.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no"
USES+=      desktop-file-utils qt:5
USE_QT=     core gui network widgets \
        buildtools_build linguisttools_build qmake_build

BUILD_DEPENDS+= protoc:devel/protobuf
LIB_DEPENDS+=   libprotobuf.so:devel/protobuf

TESTS_USES= qt:5
TESTS_USE=      QT=testlib
TESTS_PLIST_FILES=  bin/test_${PORTNAME}-qt \
            bin/test_${PORTNAME}
.endif

OPTIONS_DEFINE?=    DBUS DEBUG HARDENING QRCODES TESTS UPNP ZMQ
OPTIONS_RADIO?=     WALLET
OPTIONS_RADIO_WALLET?=  WALLET_BDB48 WALLET_BDBMODERN
OPTIONS_DEFAULT?=   DBUS HARDENING QRCODES UPNP WALLET_BDBMODERN ZMQ
OPTIONS_SUB=        yes

HARDENING_DESC= Attempt to harden binaries (PIE for ASLR, NX Stack)
QRCODES_DESC=   Display QR Codes
TESTS_DESC= Build test binary and unit tests
WALLET_DESC=    Wallet Management Support
WALLET_BDB48_DESC=  Wallet using BDB 4.8
WALLET_BDBMODERN_DESC=  Wallet using modern BDB 5.x or 6.x
ZMQ_DESC=   Block and transaction broadcasting with ZeroMQ

DBUS_CONFIGURE_WITH=    dbus
DBUS_USES=  qt:5
DBUS_USE=       QT=dbus

DEBUG_CONFIGURE_ENABLE=     debug
DEBUG_INSTALL_TARGET_OFF=   install-strip

HARDENING_CONFIGURE_ENABLE= hardening

TESTS_CONFIGURE_ENABLE= tests bench
.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "yes"
TESTS_PLIST_FILES=  bin/test_${PORTNAME}
.endif
TESTS_PLIST_FILES+= bin/bench_${PORTNAME}

UPNP_CONFIGURE_WITH=    miniupnpc
UPNP_LIB_DEPENDS=   libminiupnpc.so:net/miniupnpc
UPNP_CPPFLAGS=      -I${LOCALBASE}/include
UPNP_LIBS=      -L${LOCALBASE}/lib

QRCODES_CONFIGURE_WITH= qrencode
QRCODES_LIB_DEPENDS=    libqrencode.so:graphics/libqrencode

ZMQ_CONFIGURE_ENABLE=   zmq
ZMQ_BUILD_DEPENDS=  libzmq4>0:net/libzmq4
ZMQ_RUN_DEPENDS=    libzmq4>0:net/libzmq4

CONFIGURE_ARGS?=    --without-libs \
            --with-gui=qt5 \
            --without-daemon \
            --without-utils

CONFIGURE_ENV=  CRYPTO_CFLAGS="-I${OPENSSLINC}" CRYPTO_LIBS="-L${OPENSSLLIB} -lcrypto" \
        SSL_CFLAGS="-I${OPENSSLINC}" SSL_LIBS="-L${OPENSSLLIB} -lssl" \
        OBJCXX="${CXX}" OBJCXXFLAGS="${CXXFLAGS}"
MAKE_ENV+=  V=1

PLIST_FILES?=   bin/${PORTNAME}-qt share/applications/${PORTNAME}-qt.desktop \
        share/pixmaps/${PORTNAME}256.png

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MWALLET_BDB48}
CONFIGURE_ARGS+=    --enable-wallet
USES+=          bdb:48
.elif ${PORT_OPTIONS:MWALLET_BDBMODERN}
CONFIGURE_ARGS+=    --enable-wallet --with-incompatible-bdb
USES+=          bdb:5+
.else
CONFIGURE_ARGS+=    --disable-wallet
.endif

.include <bsd.port.pre.mk>

.if ${PORT_OPTIONS:MWALLET_BDB48} || ${PORT_OPTIONS:MWALLET_BDBMODERN}
CPPFLAGS+=  -I${BDB_INCLUDE_DIR}
LIBS+=      -L${BDB_LIB_DIR}
.endif

.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no"

post-install:
    ${INSTALL} ${FILESDIR}/${PORTNAME}-qt.desktop \
        ${STAGEDIR}${PREFIX}/share/applications
    ${INSTALL} ${WRKSRC}/src/qt/res/icons/bitcoin.png \
        ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}256.png

.endif

regression-test: build
    # To use this sucessfully, remove --without-daemon and --without-utils
    # from CONFIGURE_ARGS above.

    @cd ${WRKSRC} && ${GMAKE} check

.include <bsd.port.post.mk>