blob: 7800c2df81801691afb056bd78c14b60b9c53d52 (
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
132
|
# Created by: Shaun Amott <shaun@FreeBSD.org>
# $FreeBSD$
PORTNAME= bitcoin
PORTVERSION= 0.17.0
PORTREVISION?= 0
CATEGORIES= net-p2p finance
MASTER_SITES= https://bitcoincore.org/bin/bitcoin-core-${PORTVERSION}/:DEFAULT \
LOCAL/swills:icon
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} bitcoin128.png:icon
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${_DISTFILES:N*.png}
MAINTAINER= kbowling@FreeBSD.org
COMMENT?= Virtual Peer-to-Peer Currency Client (QT)
LICENSE= MIT
LIB_DEPENDS= libboost_date_time.so:devel/boost-libs \
libevent.so:devel/libevent
USES= autoreconf compiler:c++11-lib gmake libtool pkgconfig qt:5 shebangfix ssl
GNU_CONFIGURE= yes
SLAVE_PORT?= no
.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no"
USES+= desktop-file-utils
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_bitcoin-qt \
bin/test_bitcoin
.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
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_bitcoin
.endif
TESTS_PLIST_FILES+= bin/bench_bitcoin
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
GH_ACCOUNT= bitcoin
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/bitcoin-qt man/man1/bitcoin-qt.1.gz \
share/applications/bitcoin-qt.desktop share/pixmaps/bitcoin128.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}/bitcoin-qt.desktop \
${STAGEDIR}${PREFIX}/share/applications
${INSTALL} ${DISTDIR}/${DIST_SUBDIR}/bitcoin128.png \
${STAGEDIR}${PREFIX}/share/pixmaps/
.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>
|