summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2012-03-18 00:13:59 +0000
committerAnthony G. Basile <blueness@gentoo.org>2012-03-18 00:13:59 +0000
commitf2fa6f5319d773d49e51e0e558f16fa43359a7c4 (patch)
tree1bc5411da3328c04001f9677bfa740881a0da8b0 /net-p2p
parentFix icon installation (bug #408659, thanks to Matt Turner). (diff)
downloadgentoo-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/ChangeLog10
-rw-r--r--net-p2p/bitcoin-qt/bitcoin-qt-0.5.3-r1.ebuild112
-rw-r--r--net-p2p/bitcoin-qt/bitcoin-qt-0.6.0_rc4.ebuild116
-rw-r--r--net-p2p/bitcoin-qt/files/9999-eligius_sendfee.patch131
-rw-r--r--net-p2p/bitcoin-qt/metadata.xml2
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>