ports/188655: [MAINTAINER] net-p2p/bitcoin: update to 0.9.1 - Remove Heartbleed vulnerability

Robert Backahus robbak at robbak.com
Tue Apr 15 12:30:00 UTC 2014


>Number:         188655
>Category:       ports
>Synopsis:       [MAINTAINER] net-p2p/bitcoin: update to 0.9.1 - Remove Heartbleed vulnerability
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 15 12:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Robert Backahus
>Release:        FreeBSD 9.2-STABLE amd64
>Organization:
>Environment:
System: FreeBSD boffin 9.2-STABLE FreeBSD 9.2-STABLE #2 r264289: Wed Apr  9 15:26:22
>Description:
- Update to 0.9.1

Versoin 0.9.0 used a vulnerable version of OpenSSL. This update bundles the fixed update to 
OpenSSL.

This patch includes the much needed update from 0.8.6 that has been submitted by not applied. 
0.8.6 also has errors in programming and design. That version used the qmake system that 
needed a number of patches to work - this program now uses gnu .configure, so all those 
patches have been removed.

Generated with FreeBSD Port Tools 1.00.2014.03.23 (mode: update, diff: ports)
>How-To-Repeat:
>Fix:

--- bitcoin-0.9.1.patch begins here ---
diff -ruN /usr/ports/net-p2p/bitcoin/Makefile ./Makefile
--- /usr/ports/net-p2p/bitcoin/Makefile	2014-02-07 21:44:08.000000000 +1000
+++ ./Makefile	2014-04-15 20:46:40.000000000 +1000
@@ -1,9 +1,8 @@
 # Created by: Shaun Amott <shaun at FreeBSD.org>
-# $FreeBSD: head/net-p2p/bitcoin/Makefile 343214 2014-02-07 11:44:08Z bapt $
+# $FreeBSD: net-p2p/bitcoin/Makefile 328082 2013-09-24 01:48:57Z swills $
 
 PORTNAME=	bitcoin
-PORTVERSION=	0.8.6
-PORTREVISION=	1
+PORTVERSION=	0.9.1
 CATEGORIES=	net-p2p finance
 MASTER_SITES=	${MASTER_SITE_LOCAL} \
 		http://people.freebsd.org/~swills/ \
@@ -12,84 +11,85 @@
 MAINTAINER=	robbak at robbak.com
 COMMENT=	Virtual Peer-to-Peer Currency Client
 
+LICENSE=	MIT
+
+BUILD_DEPENDS=	protoc:${PORTSDIR}/devel/protobuf \
+				pkg-config:${PORTSDIR}/devel/pkgconf
 LIB_DEPENDS=	libboost_date_time.so:${PORTSDIR}/devel/boost-libs
 
-OPTIONS_DEFINE=	GUI UPNP QRCODES
-OPTIONS_DEFAULT=	GUI QRCODES
+OPTIONS_DEFINE=	GUI WALLET UPNP QRCODES
+OPTIONS_DEFAULT=	GUI WALLET QRCODES
 
-GUI_DESC=	Build as a QT4 GUI
+GUI_DESC=	Build and install the QT4 binary
+WALLET_DESC=	Build the binaries with support to create and manage a wallet.
 UPNP_DESC=	Build with UPNP support
 QRCODES_DESC=	Build with QR code display
 
+AUTOMAKE_ARGS+=	--add-missing
+USE_AUTOTOOLS=	aclocal autoheader automake autoconf
+#ACLOCAL_ARGS=	-I ${LOCALBASE}/share/aclocal
+CONFIGURE_ENV=	SSL_LIBS="-lssl" CRYPTO_LIBS="-lcrypto" SSL_CFLAGS="-I/usr/include" CRYPTO_CFLAGS="-I/usr/include"
+
 USE_GITHUB=	yes
 GH_ACCOUNT=	bitcoin
 GH_PROJECT=	bitcoin
-GH_COMMIT=	15e2837
+GH_COMMIT=	66a2ae9
 GH_TAGNAME=	v${PORTVERSION}
 
-USES=		gmake
+USES=			gmake
 USE_OPENSSL=	yes
-USE_BDB=	yes
+USE_BDB=		yes
 WANT_BDB_VER=	48
 
 CXXFLAGS+=	-I${LOCALBASE}/include -I${BDB_INCLUDE_DIR}
 CXXFLAGS+=	-L${LOCALBASE}/lib -L${BDB_LIB_DIR}
 CXXFLAGS+=	-Wno-invalid-offsetof
 
-NO_STAGE=	yes
 .include <bsd.port.options.mk>
 
+CONFIGURE_ARGS+=--disable-tests
+
 .if ${PORT_OPTIONS:MGUI} && !defined(WITHOUT_X11)
-USE_QT4=	corelib gui qmake_build linguist uic moc rcc
-BINARY=		bitcoin-qt
+USE_QT4=	corelib gui qmake_build linguist uic moc rcc qtestlib_build
+USES+=		desktop-file-utils
+PLIST_FILES=	%%QT_BINDIR%%/bitcoin-qt %%QT_BINDIR%%/bitcoind %%QT_BINDIR%%/bitcoin-cli
+PLIST_FILES+=	share/applications/bitcoin-qt.desktop share/pixmaps/bitcoin128.png
+CONFIGURE_ARGS+=--with-gui
 .else
-BINARY=		bitcoind
-ALL_TARGET=	${BINARY} test
-MAKE_ARGS+=	-C ${WRKSRC}/src
+PLIST_FILES=		bin/bitcoind bin/bitcoin-cli
+CONFIGURE_ARGS+=--without-gui
 .endif
 
 .if ${PORT_OPTIONS:MQRCODES}
 LIB_DEPENDS+=	libqrencode.so:${PORTSDIR}/graphics/libqrencode
-QMAKE_USE_QRCODE=1
+CONFIGURE_ARGS+=--with-qrencode
 .else
-QMAKE_USE_QRCODE=0
+CONFIGURE_ARGS+=--without-qrencode
 .endif
 
-PLIST_FILES=	bin/${BINARY}
-
 .if ${PORT_OPTIONS:MUPNP}
 LIB_DEPENDS+=	libminiupnpc.so:${PORTSDIR}/net/miniupnpc
-QMAKE_USE_UPNP=	1
+CONFIGURE_ARGS+=--with-miniupnpc
+.else
+CONFIGURE_ARGS+=--without-miniupnpc
+.endif
+
+.if ${PORT_OPTIONS:MWALLET}
+CONFIGURE_ARGS+=--enable-wallet
 .else
-QMAKE_USE_UPNP=	-
+CONFIGURE_ARGS+=--disable-wallet
 .endif
 
 .include <bsd.port.pre.mk>
 
 post-patch:
-.if !${PORT_OPTIONS:MGUI} || defined(WITHOUT_X11)
-	@cd ${WRKSRC}/src && ${CP} -p makefile.unix Makefile
-	@${REINPLACE_CMD} \
-		-e 's|^USE_UPNP.*$$|USE_UPNP=${QMAKE_USE_UPNP}|' \
-		-e 's|-l pthread|${PTHREAD_LIBS}|g' \
-		-e 's:-l dl::' \
-		${WRKSRC}/src/Makefile
-.endif
-
-do-configure:
-.if ${PORT_OPTIONS:MGUI} && !defined(WITHOUT_X11)
-	cd ${WRKSRC} && ${SETENV} ${QMAKE_ENV} \
-		${QMAKE} ${QMAKE_ARGS} USE_UPNP=${QMAKE_USE_UPNP} USE_QRCODE=${QMAKE_USE_QRCODE} \
-		QMAKE_LRELEASE=${LRELEASE} INCLUDEPATH=${BDB_INCLUDE_DIR} \
-		QMAKE_LIBDIR+=${BDB_LIB_DIR} bitcoin-qt.pro
-.endif
+	${MKDIR} ${WRKSRC}/src/build-aux
 
-do-install:
-	@${MKDIR} ${PREFIX}/bin
+post-install:
 .if ${PORT_OPTIONS:MGUI} && !defined(WITHOUT_X11)
-	${INSTALL_PROGRAM} ${WRKSRC}/${BINARY} ${PREFIX}/bin/
-.else
-	${INSTALL_PROGRAM} ${WRKSRC}/src/${BINARY} ${PREFIX}/bin/
+	${REINPLACE_CMD} -e 's,=/usr,=${PREFIX},' ${WRKSRC}/contrib/debian/bitcoin-qt.desktop
+	${INSTALL} ${WRKSRC}/contrib/debian/bitcoin-qt.desktop ${STAGEDIR}${PREFIX}/share/applications
+	${INSTALL} ${WRKSRC}/share/pixmaps/bitcoin128.png ${STAGEDIR}${PREFIX}/share/pixmaps/
 .endif
 
 .include <bsd.port.post.mk>
diff -ruN /usr/ports/net-p2p/bitcoin/distinfo ./distinfo
--- /usr/ports/net-p2p/bitcoin/distinfo	2013-12-17 12:13:55.000000000 +1000
+++ ./distinfo	2014-04-15 20:40:52.000000000 +1000
@@ -1,2 +1,2 @@
-SHA256 (bitcoin-0.8.6.tar.gz) = 0703ce3fce77b63bce11388790176f5626b521b7403d72db1ed452c692fdc55d
-SIZE (bitcoin-0.8.6.tar.gz) = 3194755
+SHA256 (bitcoin-0.9.1.tar.gz) = aad8a764c0dbfa716437a6a61ac5bf33ba9d210652d3c08b1eb460e3eb76a08a
+SIZE (bitcoin-0.9.1.tar.gz) = 4022647
diff -ruN /usr/ports/net-p2p/bitcoin/files/patch-bitcoin-qt_pro-Add_boost-crypto ./files/patch-bitcoin-qt_pro-Add_boost-crypto
--- /usr/ports/net-p2p/bitcoin/files/patch-bitcoin-qt_pro-Add_boost-crypto	2013-05-30 21:28:53.000000000 +1000
+++ ./files/patch-bitcoin-qt_pro-Add_boost-crypto	1970-01-01 10:00:00.000000000 +1000
@@ -1,11 +0,0 @@
-diff -ur ../bitcoin-bitcoin-18c9239.orig/bitcoin-qt.pro ./bitcoin-qt.pro
---- ../bitcoin-bitcoin-18c9239.orig/bitcoin-qt.pro	2013-05-24 22:50:15.000000000 +1000
-+++ ./bitcoin-qt.pro	2013-05-24 22:51:35.000000000 +1000
-@@ -402,7 +402,7 @@
- LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX
- # -lgdi32 has to happen after -lcrypto (see  #681)
- win32:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32
--LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
-+LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX -lboost_chrono$$BOOST_LIB_SUFFIX
- win32:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
- macx:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
diff -ruN /usr/ports/net-p2p/bitcoin/files/patch-compat-h.patch ./files/patch-compat-h.patch
--- /usr/ports/net-p2p/bitcoin/files/patch-compat-h.patch	1970-01-01 10:00:00.000000000 +1000
+++ ./files/patch-compat-h.patch	2014-03-31 19:24:13.000000000 +1000
@@ -0,0 +1,18 @@
+--- src/compat.h.orig	2014-03-31 19:12:15.000000000 +1000
++++ src/compat.h	2014-03-31 19:12:39.000000000 +1000
+@@ -30,6 +30,7 @@
+ #else
+ #include <sys/types.h>
+ #include <arpa/inet.h>
++#include <sys/socket.h>
+ #include <ifaddrs.h>
+ #include <limits.h>
+ #include <net/if.h>
+@@ -37,7 +38,6 @@
+ #include <netinet/in.h>
+ #include <sys/fcntl.h>
+ #include <sys/mman.h>
+-#include <sys/socket.h>
+ #include <unistd.h>
+ #endif
+ 
diff -ruN /usr/ports/net-p2p/bitcoin/files/patch-makefile_unix-Add_boost-crypto ./files/patch-makefile_unix-Add_boost-crypto
--- /usr/ports/net-p2p/bitcoin/files/patch-makefile_unix-Add_boost-crypto	2013-05-30 21:28:53.000000000 +1000
+++ ./files/patch-makefile_unix-Add_boost-crypto	1970-01-01 10:00:00.000000000 +1000
@@ -1,11 +0,0 @@
-diff -ur ../bitcoin-bitcoin-18c9239.orig/src/makefile.unix ./src/makefile.unix
---- ../bitcoin-bitcoin-18c9239.orig/src/makefile.unix	2013-05-24 22:50:15.000000000 +1000
-+++ ./src/makefile.unix	2013-05-24 22:52:34.000000000 +1000
-@@ -38,6 +38,7 @@
-    -l boost_filesystem$(BOOST_LIB_SUFFIX) \
-    -l boost_program_options$(BOOST_LIB_SUFFIX) \
-    -l boost_thread$(BOOST_LIB_SUFFIX) \
-+   -l boost_chrono$(BOOST_LIB_SUFFIX) \
-    -l db_cxx$(BDB_LIB_SUFFIX) \
-    -l ssl \
-    -l crypto
diff -ruN /usr/ports/net-p2p/bitcoin/files/patch-src__serialize.h ./files/patch-src__serialize.h
--- /usr/ports/net-p2p/bitcoin/files/patch-src__serialize.h	2013-11-16 04:50:18.000000000 +1000
+++ ./files/patch-src__serialize.h	1970-01-01 10:00:00.000000000 +1000
@@ -1,22 +0,0 @@
---- ./src/serialize.h.orig	2013-09-24 01:50:35.661706153 +0000
-+++ ./src/serialize.h	2013-09-24 01:50:52.913703572 +0000
-@@ -895,19 +895,6 @@
-     iterator insert(iterator it, const char& x=char()) { return vch.insert(it, x); }
-     void insert(iterator it, size_type n, const char& x) { vch.insert(it, n, x); }
- 
--    void insert(iterator it, const_iterator first, const_iterator last)
--    {
--        assert(last - first >= 0);
--        if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
--        {
--            // special case for inserting at the front when there's room
--            nReadPos -= (last - first);
--            memcpy(&vch[nReadPos], &first[0], last - first);
--        }
--        else
--            vch.insert(it, first, last);
--    }
--
-     void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
-     {
-         assert(last - first >= 0);
--- bitcoin-0.9.1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list