From owner-svn-ports-all@freebsd.org Mon Jan 22 12:27:43 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CCE74EBE822; Mon, 22 Jan 2018 12:27:43 +0000 (UTC) (envelope-from vd@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9DA2079B8E; Mon, 22 Jan 2018 12:27:43 +0000 (UTC) (envelope-from vd@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C69161A235; Mon, 22 Jan 2018 12:27:42 +0000 (UTC) (envelope-from vd@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w0MCRgWk025423; Mon, 22 Jan 2018 12:27:42 GMT (envelope-from vd@FreeBSD.org) Received: (from vd@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w0MCRfDJ025416; Mon, 22 Jan 2018 12:27:41 GMT (envelope-from vd@FreeBSD.org) Message-Id: <201801221227.w0MCRfDJ025416@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vd set sender to vd@FreeBSD.org using -f From: Vasil Dimov Date: Mon, 22 Jan 2018 12:27:41 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r459646 - in head/net-p2p: . qtum qtum/files X-SVN-Group: ports-head X-SVN-Commit-Author: vd X-SVN-Commit-Paths: in head/net-p2p: . qtum qtum/files X-SVN-Commit-Revision: 459646 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jan 2018 12:27:43 -0000 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 +# $FreeBSD$ + +PORTNAME= qtum +PORTVERSION= 0.14.13 +DISTVERSIONPREFIX= mainnet-ignition-v +CATEGORIES= net-p2p finance + +MAINTAINER= vd@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 + +# 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 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