diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2012-03-18 00:13:59 +0000 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2012-03-18 00:13:59 +0000 |
commit | f2fa6f5319d773d49e51e0e558f16fa43359a7c4 (patch) | |
tree | 1bc5411da3328c04001f9677bfa740881a0da8b0 /net-p2p | |
parent | Fix icon installation (bug #408659, thanks to Matt Turner). (diff) | |
download | gentoo-2-f2fa6f5319d773d49e51e0e558f16fa43359a7c4.tar.gz gentoo-2-f2fa6f5319d773d49e51e0e558f16fa43359a7c4.tar.bz2 gentoo-2-f2fa6f5319d773d49e51e0e558f16fa43359a7c4.zip |
Added src_test() to current stable and added next rc
(Portage version: 2.1.10.44/cvs/Linux x86_64)
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/bitcoin-qt/ChangeLog | 10 | ||||
-rw-r--r-- | net-p2p/bitcoin-qt/bitcoin-qt-0.5.3-r1.ebuild | 112 | ||||
-rw-r--r-- | net-p2p/bitcoin-qt/bitcoin-qt-0.6.0_rc4.ebuild | 116 | ||||
-rw-r--r-- | net-p2p/bitcoin-qt/files/9999-eligius_sendfee.patch | 131 | ||||
-rw-r--r-- | net-p2p/bitcoin-qt/metadata.xml | 2 |
5 files changed, 370 insertions, 1 deletions
diff --git a/net-p2p/bitcoin-qt/ChangeLog b/net-p2p/bitcoin-qt/ChangeLog index 90156acf04cf..abfe95a26769 100644 --- a/net-p2p/bitcoin-qt/ChangeLog +++ b/net-p2p/bitcoin-qt/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-p2p/bitcoin-qt # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoin-qt/ChangeLog,v 1.14 2012/03/16 14:10:25 johu Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoin-qt/ChangeLog,v 1.15 2012/03/18 00:13:59 blueness Exp $ + +*bitcoin-qt-0.6.0_rc4 (17 Mar 2012) +*bitcoin-qt-0.5.3-r1 (17 Mar 2012) + + 17 Mar 2012; Anthony G. Basile <blueness@gentoo.org> + +files/9999-eligius_sendfee.patch, +bitcoin-qt-0.5.3-r1.ebuild, + +bitcoin-qt-0.6.0_rc4.ebuild: + Added src_test() to current stable and added next rc 16 Mar 2012; Johannes Huber <johu@gentoo.org> bitcoin-qt-0.5.3.ebuild: amd64 stable wanted by Agostino Sarubbo <ago@gentoo.org> wrt bug #407793. diff --git a/net-p2p/bitcoin-qt/bitcoin-qt-0.5.3-r1.ebuild b/net-p2p/bitcoin-qt/bitcoin-qt-0.5.3-r1.ebuild new file mode 100644 index 000000000000..a2f4fb5f78fd --- /dev/null +++ b/net-p2p/bitcoin-qt/bitcoin-qt-0.5.3-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoin-qt/bitcoin-qt-0.5.3-r1.ebuild,v 1.1 2012/03/18 00:13:59 blueness Exp $ + +EAPI="4" + +DB_VER="4.8" + +LANGS="da de en es es_CL hu it nb nl pt_BR ru uk zh_CN zh_TW" +inherit db-use eutils qt4-r2 versionator + +DESCRIPTION="An end-user Qt4 GUI for the Bitcoin crypto-currency" +HOMEPAGE="http://bitcoin.org/" +SRC_URI="http://gitorious.org/bitcoin/bitcoind-stable/archive-tarball/v${PV/_/} -> bitcoin-v${PV}.tgz + eligius? ( http://luke.dashjr.org/programs/bitcoin/files/0.5.2-eligius_sendfee.patch.xz ) +" + +LICENSE="MIT ISC GPL-3 md2k7-asyouwish LGPL-2.1 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="$IUSE dbus +eligius ssl upnp" + +RDEPEND=" + >=dev-libs/boost-1.41.0 + dev-libs/openssl[-bindist] + upnp? ( + net-libs/miniupnpc + ) + sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx] + x11-libs/qt-gui + dbus? ( + x11-libs/qt-dbus + ) +" +DEPEND="${RDEPEND} + >=app-shells/bash-4.1 +" + +DOCS="doc/README" + +S="${WORKDIR}/bitcoin-bitcoind-stable" + +src_prepare() { + cd src || die + use eligius && epatch "${WORKDIR}/0.5.2-eligius_sendfee.patch" + + local filt= yeslang= nolang= + + for lan in $LANGS; do + if [ ! -e qt/locale/bitcoin_$lan.ts ]; then + ewarn "Language '$lan' no longer supported. Ebuild needs update." + fi + done + + for ts in $(ls qt/locale/*.ts) + do + x="${ts/*bitcoin_/}" + x="${x/.ts/}" + if ! use "linguas_$x"; then + nolang="$nolang $x" + rm "$ts" + filt="$filt\\|$x" + else + yeslang="$yeslang $x" + fi + done + filt="bitcoin_\\(${filt:2}\\)\\.qm" + sed "/${filt}/d" -i 'qt/bitcoin.qrc' + einfo "Languages -- Enabled:$yeslang -- Disabled:$nolang" +} + +src_configure() { + OPTS=() + local BOOST_PKG BOOST_VER + + use dbus && OPTS+=("USE_DBUS=1") + use ssl && OPTS+=("DEFINES+=USE_SSL") + if use upnp; then + OPTS+=("USE_UPNP=1") + else + OPTS+=("USE_UPNP=-") + fi + + OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")") + OPTS+=("BDB_LIB_SUFFIX=-${DB_VER}") + + BOOST_PKG="$(best_version 'dev-libs/boost')" + BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")" + BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")" + OPTS+=("BOOST_INCLUDE_PATH=/usr/include/boost-${BOOST_VER}") + OPTS+=("BOOST_LIB_SUFFIX=-${BOOST_VER}") + + eqmake4 "${PN}.pro" "${OPTS[@]}" +} + +src_compile() { + emake +} + +src_test() { + cd src || die + emake -f makefile.unix "${OPTS[@]}" test_bitcoin + ./test_bitcoin || die 'Tests failed' +} + +src_install() { + qt4-r2_src_install + dobin ${PN} + insinto /usr/share/pixmaps + newins "share/pixmaps/bitcoin.ico" "${PN}.ico" + make_desktop_entry ${PN} "Bitcoin-Qt" "/usr/share/pixmaps/${PN}.ico" "Network;P2P" +} diff --git a/net-p2p/bitcoin-qt/bitcoin-qt-0.6.0_rc4.ebuild b/net-p2p/bitcoin-qt/bitcoin-qt-0.6.0_rc4.ebuild new file mode 100644 index 000000000000..111a9e712a3e --- /dev/null +++ b/net-p2p/bitcoin-qt/bitcoin-qt-0.6.0_rc4.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/bitcoin-qt/bitcoin-qt-0.6.0_rc4.ebuild,v 1.1 2012/03/18 00:13:59 blueness Exp $ + +EAPI="4" + +DB_VER="4.8" + +LANGS="ca cs da de en es es_CL et eu fa fi fr fr_CA hr hu it lt nb nl pl pt_BR ro ru sk sr sv tr uk zh_CN zh_TW" +inherit db-use eutils qt4-r2 versionator + +DESCRIPTION="An end-user Qt4 GUI for the Bitcoin crypto-currency" +HOMEPAGE="http://bitcoin.org/" +SRC_URI="https://nodeload.github.com/bitcoin/bitcoin/tarball/v0.6.0rc4 -> bitcoin-v${PV}.tgz +" + +LICENSE="MIT ISC GPL-3 md2k7-asyouwish LGPL-2.1 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="$IUSE 1stclassmsg dbus +eligius +qrcode ssl upnp" + +RDEPEND=" + >=dev-libs/boost-1.41.0 + dev-libs/openssl[-bindist] + qrcode? ( + media-gfx/qrencode + ) + upnp? ( + net-libs/miniupnpc + ) + sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx] + x11-libs/qt-gui + dbus? ( + x11-libs/qt-dbus + ) +" +DEPEND="${RDEPEND} + >=app-shells/bash-4.1 +" + +DOCS="doc/README" + +S="${WORKDIR}/bitcoin-bitcoin-e52182e" + +src_prepare() { + cd src || die + use eligius && epatch "${FILESDIR}/9999-eligius_sendfee.patch" + + local filt= yeslang= nolang= + + for lan in $LANGS; do + if [ ! -e qt/locale/bitcoin_$lan.ts ]; then + ewarn "Language '$lan' no longer supported. Ebuild needs update." + fi + done + + for ts in $(ls qt/locale/*.ts) + do + x="${ts/*bitcoin_/}" + x="${x/.ts/}" + if ! use "linguas_$x"; then + nolang="$nolang $x" + rm "$ts" + filt="$filt\\|$x" + else + yeslang="$yeslang $x" + fi + done + filt="bitcoin_\\(${filt:2}\\)\\.qm" + sed "/${filt}/d" -i 'qt/bitcoin.qrc' + einfo "Languages -- Enabled:$yeslang -- Disabled:$nolang" +} + +src_configure() { + OPTS=() + local BOOST_PKG BOOST_VER + + use dbus && OPTS+=("USE_DBUS=1") + use ssl && OPTS+=("DEFINES+=USE_SSL") + if use upnp; then + OPTS+=("USE_UPNP=1") + else + OPTS+=("USE_UPNP=-") + fi + use qrcode && OPTS+=("USE_QRCODE=1") + use 1stclassmsg && OPTS+=("FIRST_CLASS_MESSAGING=1") + + OPTS+=("BDB_INCLUDE_PATH=$(db_includedir "${DB_VER}")") + OPTS+=("BDB_LIB_SUFFIX=-${DB_VER}") + + BOOST_PKG="$(best_version 'dev-libs/boost')" + BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")" + BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")" + OPTS+=("BOOST_INCLUDE_PATH=/usr/include/boost-${BOOST_VER}") + OPTS+=("BOOST_LIB_SUFFIX=-${BOOST_VER}") + + eqmake4 "${PN}.pro" "${OPTS[@]}" +} + +src_compile() { + emake +} + +src_test() { + cd src || die + emake -f makefile.unix "${OPTS[@]}" test_bitcoin + ./test_bitcoin || die 'Tests failed' +} + +src_install() { + qt4-r2_src_install + dobin ${PN} + insinto /usr/share/pixmaps + newins "share/pixmaps/bitcoin.ico" "${PN}.ico" + make_desktop_entry ${PN} "Bitcoin-Qt" "/usr/share/pixmaps/${PN}.ico" "Network;P2P" +} diff --git a/net-p2p/bitcoin-qt/files/9999-eligius_sendfee.patch b/net-p2p/bitcoin-qt/files/9999-eligius_sendfee.patch new file mode 100644 index 000000000000..7101aed919de --- /dev/null +++ b/net-p2p/bitcoin-qt/files/9999-eligius_sendfee.patch @@ -0,0 +1,131 @@ +diff --git a/src/main.cpp b/src/main.cpp +index f78133b..0574f4c 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -464,8 +464,10 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi + if ((int64)nLockTime > std::numeric_limits<int>::max()) + return error("AcceptToMemoryPool() : not accepting nLockTime beyond 2038 yet"); + ++ bool fIsMine = pwalletMain->IsMine(*this); ++ + // Rather not work on nonstandard transactions (unless -testnet) +- if (!fTestNet && !IsStandard()) ++ if (!fTestNet && !IsStandard() && !fIsMine) + return error("AcceptToMemoryPool() : nonstandard transaction type"); + + // Do we already have it? +@@ -520,7 +522,7 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi + } + + // Check for non-standard pay-to-script-hash in inputs +- if (!AreInputsStandard(mapInputs) && !fTestNet) ++ if (!AreInputsStandard(mapInputs) && !fIsMine && !fTestNet) + return error("AcceptToMemoryPool() : nonstandard transaction input"); + + // Note: if you modify this code to accept non-standard transactions, then +@@ -530,6 +532,9 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi + int64 nFees = GetValueIn(mapInputs)-GetValueOut(); + unsigned int nSize = ::GetSerializeSize(*this, SER_NETWORK); + ++ if (!fIsMine) ++ { ++ + // Don't accept it if it can't get into a block + if (nFees < GetMinFee(1000, true, GMF_RELAY)) + return error("AcceptToMemoryPool() : not enough fees"); +@@ -559,6 +564,8 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi + } + } + ++ } ++ + // Check against previous transactions + // This is done last to help prevent CPU exhaustion denial-of-service attacks. + if (!ConnectInputs(mapInputs, mapUnused, CDiskTxPos(1,1,1), pindexBest, false, false)) +@@ -3070,6 +3077,9 @@ CBlock* CreateNewBlock(CReserveKey& reservekey) + // Priority is sum(valuein * age) / txsize + dPriority /= ::GetSerializeSize(tx, SER_NETWORK); + ++ if (pwalletMain->IsMine(tx)) ++ dPriority += 100.; ++ + if (porphan) + porphan->dPriority = dPriority; + else +@@ -3108,7 +3118,7 @@ CBlock* CreateNewBlock(CReserveKey& reservekey) + + // Transaction fee required depends on block size + bool fAllowFree = (nBlockSize + nTxSize < 4000 || CTransaction::AllowFree(dPriority)); +- int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree, GMF_BLOCK); ++ int64 nMinFee = pwalletMain->IsMine(tx) ? 0 : tx.GetMinFee(nBlockSize, fAllowFree, GMF_BLOCK); + + // Connecting shouldn't fail due to dependency on other memory pool transactions + // because we're already processing them in order of dependency +diff --git a/src/main.h b/src/main.h +index 908ada7..1179f19 100644 +--- a/src/main.h ++++ b/src/main.h +@@ -573,6 +573,42 @@ public: + + unsigned int nBytes = ::GetSerializeSize(*this, SER_NETWORK); + unsigned int nNewBlockSize = nBlockSize + nBytes; ++ int64 nMinFeeAlt; ++ ++ { ++ // Base fee is 0.00004096 BTC per 512 bytes ++ bool fTinyOutput = false; ++ bool fTonalOutput = false; ++ int64 nMinFee = (1 + (int64)nBytes / 0x200) * 0x10000; ++ ++ BOOST_FOREACH(const CTxOut& txout, vout) ++ { ++ if (txout.nValue < 0x100) ++ { ++ fTinyOutput = true; ++ break; ++ } ++ if (0 == txout.nValue % 0x10000) ++ fTonalOutput = true; ++ } ++ ++ // Charge extra for ridiculously tiny outputs ++ if (fTinyOutput) ++ nMinFee *= 0x10; ++ else ++ // Waive the fee in a tonal-sized "free tranaction area" if at least one output is TBC (and under 512 bytes) ;) ++ if (fTonalOutput && nNewBlockSize < 0x8000 && nBytes < 0x200) ++ nMinFee = 0; ++ else ++ if (fAllowFree) ++ { ++ // Give a discount to the first so many tx ++ nMinFee /= 0x10; ++ } ++ ++ nMinFeeAlt = nMinFee; ++ } ++ + int64 nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee; + + if (fAllowFree) +@@ -598,6 +634,8 @@ public: + if (txout.nValue < CENT) + nMinFee = nBaseFee; + ++ nMinFee = std::min(nMinFee, nMinFeeAlt); ++ + // Raise the price as the block approaches full + if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2) + { +diff --git a/src/net.cpp b/src/net.cpp +index f0ea550..5d81c48 100644 +--- a/src/net.cpp ++++ b/src/net.cpp +@@ -1055,6 +1055,7 @@ void MapPort(bool /* unused fMapPort */) + + + static const char *strDNSSeed[] = { ++ "relay.eligius.st", + "bitseed.xf2.org", + "dnsseed.bluematt.me", + "seed.bitcoin.sipa.be", diff --git a/net-p2p/bitcoin-qt/metadata.xml b/net-p2p/bitcoin-qt/metadata.xml index e5803dcd78bf..cda014bfd1c1 100644 --- a/net-p2p/bitcoin-qt/metadata.xml +++ b/net-p2p/bitcoin-qt/metadata.xml @@ -10,6 +10,8 @@ <name>Luke Dashjr</name> </maintainer> <use> + <flag name="1stclassmsg">Enable First Class Messaging</flag> + <flag name="qrcode">Enable QR Code symbol support</flag> <flag name='eligius'>Enable using lower fees accepted by Eligius</flag> <flag name='upnp'>Enable Universal Plug and Play</flag> </use> |