svn commit: r459646 - in head/net-p2p: . qtum qtum/files

Vasil Dimov vd at FreeBSD.org
Mon Jan 22 12:27:43 UTC 2018


Author: vd
Date: Mon Jan 22 12:27:41 2018
New Revision: 459646
URL: https://svnweb.freebsd.org/changeset/ports/459646

Log:
  net-p2p/qtum: Add a new port
  
  PoS cryptocurrency that can execute smart contract as part of an UTXO
  
  Combining a modified Bitcoin Core infrastructure with an intercompatible
  version of the Ethereum Virtual Machine (EVM), Qtum merges the
  reliability of Bitcoin's unfailing blockchain with the endless
  possibilities provided by smart contracts.
  
  https://qtum.org/

Added:
  head/net-p2p/qtum/
  head/net-p2p/qtum/Makefile   (contents, props changed)
  head/net-p2p/qtum/distinfo   (contents, props changed)
  head/net-p2p/qtum/files/
  head/net-p2p/qtum/files/patch-src_miner.h   (contents, props changed)
  head/net-p2p/qtum/files/patch-src_txmempool.h   (contents, props changed)
  head/net-p2p/qtum/pkg-descr   (contents, props changed)
  head/net-p2p/qtum/pkg-plist   (contents, props changed)
Modified:
  head/net-p2p/Makefile

Modified: head/net-p2p/Makefile
==============================================================================
--- head/net-p2p/Makefile	Mon Jan 22 12:09:30 2018	(r459645)
+++ head/net-p2p/Makefile	Mon Jan 22 12:27:41 2018	(r459646)
@@ -77,6 +77,7 @@
     SUBDIR += py-vertex
     SUBDIR += qbittorrent
     SUBDIR += qbittorrent-nox11
+    SUBDIR += qtum
     SUBDIR += radarr
     SUBDIR += retroshare
     SUBDIR += rtorrent

Added: head/net-p2p/qtum/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/qtum/Makefile	Mon Jan 22 12:27:41 2018	(r459646)
@@ -0,0 +1,60 @@
+# Created by: Vasil Dimov <vd at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	qtum
+PORTVERSION=	0.14.13
+DISTVERSIONPREFIX=	mainnet-ignition-v
+CATEGORIES=	net-p2p finance
+
+MAINTAINER=	vd at FreeBSD.org
+COMMENT=	PoS cryptocurrency that can execute smart contract as part of an UTXO
+
+LICENSE=	GPLv3
+
+BUILD_DEPENDS=	libzmq4>0:net/libzmq4
+RUN_DEPENDS=	libzmq4>0:net/libzmq4
+LIB_DEPENDS=	libboost_date_time.so:devel/boost-libs \
+		libevent.so:devel/libevent \
+		libminiupnpc.so:net/miniupnpc \
+		libprotobuf.so:devel/protobuf \
+		libqrencode.so:graphics/libqrencode
+
+GNU_CONFIGURE=	yes
+CONFIGURE_ENV=	BDB_CFLAGS="-I${BDB_INCLUDE_DIR}" \
+		BDB_LIBS="-L${BDB_LIB_DIR} -l${BDB_LIB_CXX_NAME}"
+# * Man pages have not been adjusted after cloning the Bitcoin code base.
+#   They are the old Bitcoin man pages, so do not install them.
+# * --with-incompatible-bdb is required in order to use bdb-5.
+# * Do not install unneeded include/bitcoinconsensus.h and
+#   lib/libbitcoinconsensus.* (--without-libs)
+CONFIGURE_ARGS=	--disable-man \
+		--with-gui=qt5 \
+		--with-incompatible-bdb \
+		--with-miniupnpc=${LOCALBASE} \
+		--with-qrencode \
+		--without-libs
+
+USES=		autoreconf bdb:5 compiler:c++11-lib gmake libtool pkgconfig ssl
+USE_QT5=	buildtools core dbus gui linguisttools network testlib widgets
+USE_GITHUB=	yes
+GH_ACCOUNT=	qtumproject
+GH_PROJECT=	qtum
+# Add extra account:project:tag:meaninglessgroupname/sub/dir via GH_TUPLE
+# for the one git submodule used by Qtum.
+GH_TUPLE=	qtumproject:cpp-eth-qtum:488ccdc7cef0a0b4fa54c8:cppeth/src/cpp-ethereum
+
+.include <bsd.port.pre.mk>
+
+# The ./configure script tries to use pkg-config to derive the SSL CFLAGS and
+# libraries, but pkg-config requires libssl.pc which is only installed by the
+# ports' security/openssl and not present in the base system. So if we are to
+# use the base's SSL, then we trick ./configure to not use pkg-config by
+# setting some related environment variables.
+.if ${SSL_DEFAULT} == base
+CONFIGURE_ENV+=	CRYPTO_CFLAGS="-I${OPENSSLINC}" \
+		CRYPTO_LIBS="-L${OPENSSLLIB} -lcrypto" \
+		SSL_CFLAGS="-I${OPENSSLINC}" \
+		SSL_LIBS="-L${OPENSSLLIB} -lssl"
+.endif
+
+.include <bsd.port.post.mk>

Added: head/net-p2p/qtum/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/qtum/distinfo	Mon Jan 22 12:27:41 2018	(r459646)
@@ -0,0 +1,5 @@
+TIMESTAMP = 1516443928
+SHA256 (qtumproject-qtum-mainnet-ignition-v0.14.13_GH0.tar.gz) = 30cbd2ff31208e9f76558b8bef820ecdc7bc2d3d87768e6d8fb1014aab233a7c
+SIZE (qtumproject-qtum-mainnet-ignition-v0.14.13_GH0.tar.gz) = 12711274
+SHA256 (qtumproject-cpp-eth-qtum-488ccdc7cef0a0b4fa54c8_GH0.tar.gz) = 7e4325f959104ab781892d5078d33b53de2d4efddf7effe67a9d837d56872ff2
+SIZE (qtumproject-cpp-eth-qtum-488ccdc7cef0a0b4fa54c8_GH0.tar.gz) = 1113806

Added: head/net-p2p/qtum/files/patch-src_miner.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/qtum/files/patch-src_miner.h	Mon Jan 22 12:27:41 2018	(r459646)
@@ -0,0 +1,11 @@
+--- src/miner.h.orig	2018-01-21 15:27:53 UTC
++++ src/miner.h
+@@ -99,7 +99,7 @@ struct modifiedentry_iter {
+ // except operating on CTxMemPoolModifiedEntry.
+ // TODO: refactor to avoid duplication of this logic.
+ struct CompareModifiedEntry {
+-    bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b)
++    bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b) const
+     {
+         bool fAHasCreateOrCall = a.iter->GetTx().HasCreateOrCall();
+         bool fBHasCreateOrCall = b.iter->GetTx().HasCreateOrCall();

Added: head/net-p2p/qtum/files/patch-src_txmempool.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/qtum/files/patch-src_txmempool.h	Mon Jan 22 12:27:41 2018	(r459646)
@@ -0,0 +1,65 @@
+--- src/txmempool.h.orig	2018-01-21 15:28:11 UTC
++++ src/txmempool.h
+@@ -231,7 +231,7 @@ struct mempoolentry_txid
+ class CompareTxMemPoolEntryByDescendantScore
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         bool fUseADescendants = UseDescendantScore(a);
+         bool fUseBDescendants = UseDescendantScore(b);
+@@ -253,7 +253,7 @@ public:
+     }
+ 
+     // Calculate which score to use for an entry (avoiding division).
+-    bool UseDescendantScore(const CTxMemPoolEntry &a)
++    bool UseDescendantScore(const CTxMemPoolEntry &a) const
+     {
+         double f1 = (double)a.GetModifiedFee() * a.GetSizeWithDescendants();
+         double f2 = (double)a.GetModFeesWithDescendants() * a.GetTxSize();
+@@ -268,7 +268,7 @@ public:
+ class CompareTxMemPoolEntryByScore
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         double f1 = (double)a.GetModifiedFee() * b.GetTxSize();
+         double f2 = (double)b.GetModifiedFee() * a.GetTxSize();
+@@ -282,7 +282,7 @@ public:
+ class CompareTxMemPoolEntryByEntryTime
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         return a.GetTime() < b.GetTime();
+     }
+@@ -291,7 +291,7 @@ public:
+ class CompareTxMemPoolEntryByAncestorFee
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         double aFees = a.GetModFeesWithAncestors();
+         double aSize = a.GetSizeWithAncestors();
+@@ -314,7 +314,7 @@ public:
+ class CompareTxMemPoolEntryByAncestorFeeOrGasPrice
+ {
+ public:
+-    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b)
++    bool operator()(const CTxMemPoolEntry& a, const CTxMemPoolEntry& b) const
+     {
+         bool fAHasCreateOrCall = a.GetTx().HasCreateOrCall();
+         bool fBHasCreateOrCall = b.GetTx().HasCreateOrCall();
+@@ -801,7 +801,7 @@ typedef std::pair<double, CTxMemPool::tx
+ 
+ struct TxCoinAgePriorityCompare
+ {
+-    bool operator()(const TxCoinAgePriority& a, const TxCoinAgePriority& b)
++    bool operator()(const TxCoinAgePriority& a, const TxCoinAgePriority& b) const
+     {
+         if (a.first == b.first)
+             return CompareTxMemPoolEntryByScore()(*(b.second), *(a.second)); //Reverse order to make sort less than

Added: head/net-p2p/qtum/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/qtum/pkg-descr	Mon Jan 22 12:27:41 2018	(r459646)
@@ -0,0 +1,6 @@
+Combining a modified Bitcoin Core infrastructure with an intercompatible
+version of the Ethereum Virtual Machine (EVM), Qtum merges the
+reliability of Bitcoin's unfailing blockchain with the endless
+possibilities provided by smart contracts.
+
+WWW: https://qtum.org/

Added: head/net-p2p/qtum/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-p2p/qtum/pkg-plist	Mon Jan 22 12:27:41 2018	(r459646)
@@ -0,0 +1,7 @@
+bin/bench_qtum
+bin/qtum-cli
+bin/qtum-qt
+bin/qtum-tx
+bin/qtumd
+bin/test_qtum
+bin/test_qtum-qt


More information about the svn-ports-head mailing list