commit:     cd06526466c9f14b5abce4730843a1452c028819
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 28 01:02:32 2017 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Fri Apr 28 01:05:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd065264

net-p2p/pybitmessage: new version 0.6.2 thanks to Dmitri Bogomolov.

This new version updates the build system significantly. First, we are
now able to use the distutils-r1 eclass, which fixes bug 573198. A
number of optional dependencies have also been added and made truly
optional behind USE flags.

Much of the work for this (upstream too!) was done by Dmitri Bogomolov
on bug 582862. The version I'm committing is close to his, with a few
minor differences:

  * I don't think SSL is optional, so I've left out that USE flag.

  * I have not added support for LINGUAS, since the translations
    are already there and don't take much additional time/space.

  * No (optional) dependency on dev-python/qrcode, because I couldn't
    figure out where or even if it's used.

  * No optional dependency on media-libs/gst-plugins-base for the same
    reason.

I've also updated the ebuild to EAPI=6 and dropped the eutils
eclass. There is one new temporary patch to work around a problem in
the build system.

Gentoo-Bug: 573198
Gentoo-Bug: 582862

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 net-p2p/pybitmessage/Manifest                      |  2 +-
 .../pybitmessage/files/noninteractive-build.patch  | 18 +++++
 net-p2p/pybitmessage/metadata.xml                  | 45 +++++++------
 net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild     | 74 --------------------
 net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild     | 78 ++++++++++++++++++++++
 5 files changed, 122 insertions(+), 95 deletions(-)

diff --git a/net-p2p/pybitmessage/Manifest b/net-p2p/pybitmessage/Manifest
index 7ca16fd36e0..fe7502e7c33 100644
--- a/net-p2p/pybitmessage/Manifest
+++ b/net-p2p/pybitmessage/Manifest
@@ -1,2 +1,2 @@
 DIST pybitmessage-0.4.2.tar.gz 547565 SHA256 
c69cef72adbdfa2a0ff8c5c7e5d15e640bf3283b9089c388ea48e893d564a573 SHA512 
5e783243db4f507ec221092f6da18d25bb15a8c83f28aab7c1796a063d2608c0115c9d636cc73b66a09264a4ff69dda9ba373eff81640b1dd9595100dcdc4917
 WHIRLPOOL 
22c1ca5e5132248dc8492bd1ea327e81b8567b0ec271c774a07141579a63365dd4cc7fbd066dbba6153ce471057cead1f0763b4ae209789991b7c3b2cb5ebaa4
-DIST pybitmessage-0.4.4.tar.gz 611490 SHA256 
2fe2b1ad4d7426c8777fb429129b7a07c717ea5f00cc3041a03ac19fd3259b3a SHA512 
977d901525864557fcb6deada27d45a0cc90a40090f9f70f7a1cf27ffcc93ab69ef3d369375414988c519211b6d19a1ad7a0e9b38eec26f3fea02b386c652711
 WHIRLPOOL 
d3da00d5b1bfe5ae9361a78d8a251567d2a06cd7009da9f1af58e0d06f3d2830f0133fc559b16cd10620cc5933292027bebc6f20abe026f5a63e6cfc1057bc28
+DIST pybitmessage-0.6.2.tar.gz 1053815 SHA256 
bc209725ef7c1b913ec8560557e3e862a11f664bd8c5fd2eea5adcd915acc2c6 SHA512 
4aaa0f6b1cc04de01154bb5c90416901e51abb4465c62269ab07abb7da980ac07f2f548ae7a3780da9f3efe89d3b841b004996c5e33bc2638e58efcbecc8baef
 WHIRLPOOL 
490be7f22a4d5494313c79fb5af396b08344e18bfecbe9c33243b70b9546f177a59a88b403306356fa328c3a559865a355edaf6a998a1dfc9f0caa6f85544d8e

diff --git a/net-p2p/pybitmessage/files/noninteractive-build.patch 
b/net-p2p/pybitmessage/files/noninteractive-build.patch
new file mode 100644
index 00000000000..889711a7dce
--- /dev/null
+++ b/net-p2p/pybitmessage/files/noninteractive-build.patch
@@ -0,0 +1,18 @@
+Temporary workaround for a build system that wants you to press
+"Return" interactively.
+
+https://github.com/Bitmessage/PyBitmessage/issues/993
+
+diff --git a/setup.py b/setup.py
+index 2c769a6..166ab14 100644
+--- a/setup.py
++++ b/setup.py
+@@ -163,7 +163,7 @@ if __name__ == "__main__":
+         print "Press Return to continue"
+         try:
+             nothing = raw_input()
+-        except NameError:
++        except EOFError,NameError:
+             pass
+ 
+     here = os.path.abspath(os.path.dirname(__file__))

diff --git a/net-p2p/pybitmessage/metadata.xml 
b/net-p2p/pybitmessage/metadata.xml
index 079cf86a893..72a9c818738 100644
--- a/net-p2p/pybitmessage/metadata.xml
+++ b/net-p2p/pybitmessage/metadata.xml
@@ -1,24 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
-       <!-- maintainer-needed -->
-       <longdescription lang="en">
-               Bitmessage is a P2P communications protocol used to send 
encrypted
-               messages to another person or to many subscribers. It is
-               decentralized and trustless, meaning that you need-not 
inherently
-               trust any entities like root certificate authorities. It uses
-               strong authentication which means that the sender of a message
-               cannot be spoofed, and it aims to hide "non-content" data, like
-               the sender and receiver of messages, from passive eavesdroppers
-               like those running warrantless wiretapping programs.
-       </longdescription>
-       <upstream>
-               <bugs-to>
-                       https://github.com/Bitmessage/PyBitmessage/issues
-               </bugs-to>
-               <doc lang="en">
-                       https://bitmessage.org/wiki/PyBitmessage_Help
-               </doc>
-               <remote-id type="github">Bitmessage/PyBitmessage</remote-id>
-       </upstream>
+  <!-- maintainer-needed -->
+  <longdescription lang="en">
+    Bitmessage is a P2P communications protocol used to send encrypted
+    messages to another person or to many subscribers. It is
+    decentralized and trustless, meaning that you need-not inherently
+    trust any entities like root certificate authorities. It uses
+    strong authentication which means that the sender of a message
+    cannot be spoofed, and it aims to hide "non-content" data, like
+    the sender and receiver of messages, from passive eavesdroppers
+    like those running warrantless wiretapping programs.
+  </longdescription>
+  <upstream>
+    <bugs-to>
+      https://github.com/Bitmessage/PyBitmessage/issues
+    </bugs-to>
+    <doc lang="en">
+      https://bitmessage.org/wiki/PyBitmessage_Help
+    </doc>
+    <remote-id type="github">Bitmessage/PyBitmessage</remote-id>
+  </upstream>
+  <use>
+    <flag name="opencl">
+      Uses <pkg>dev-python/pyopencl</pkg> for GPU acceleration.
+    </flag>
+  </use>
 </pkgmetadata>

diff --git a/net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild 
b/net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild
deleted file mode 100644
index fb0b0da289a..00000000000
--- a/net-p2p/pybitmessage/pybitmessage-0.4.4.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="sqlite"
-
-inherit eutils python-r1 gnome2-utils
-
-DESCRIPTION="P2P communications protocol"
-HOMEPAGE="https://bitmessage.org";
-SRC_URI="https://github.com/Bitmessage/PyBitmessage/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="libressl"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
-       !libressl? ( dev-libs/openssl:0[-bindist] )
-       libressl? ( dev-libs/libressl )
-       dev-python/PyQt4[${PYTHON_USEDEP}]"
-
-S=${WORKDIR}/PyBitmessage-${PV}
-
-src_compile() { :; }
-
-src_install () {
-       cat >> "${T}"/${PN}-wrapper <<-EOF || die
-       #!/usr/bin/env python
-       import os
-       import sys
-       sys.path.append("@SITEDIR@")
-       os.chdir("@SITEDIR@")
-       os.execl('@PYTHON@', '@EPYTHON@', '@SITEDIR@/bitmessagemain.py')
-       EOF
-
-       touch src/__init__.py || die
-
-       install_python() {
-               python_moduleinto ${PN}
-               python_domodule src/*
-               sed \
-                       -e "s#@SITEDIR@#$(python_get_sitedir)/${PN}#" \
-                       -e "s#@EPYTHON@#${EPYTHON}#" \
-                       -e "s#@PYTHON@#${PYTHON}#" \
-                       "${T}"/${PN}-wrapper > ${PN} || die
-               python_doscript ${PN}
-       }
-
-       python_foreach_impl install_python
-
-       dodoc README.md debian/changelog
-       doman man/*
-
-       newicon -s 24 desktop/icon24.png ${PN}.png
-       newicon -s scalable desktop/can-icon.svg ${PN}.svg
-       domenu desktop/${PN}.desktop
-}
-
-pkg_preinst() {
-       gnome2_icon_savelist
-}
-
-pkg_postinst() {
-       gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-       gnome2_icon_cache_update
-}

diff --git a/net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild 
b/net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild
new file mode 100644
index 00000000000..93db12aefd7
--- /dev/null
+++ b/net-p2p/pybitmessage/pybitmessage-0.6.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+# See https://github.com/Bitmessage/PyBitmessage/pull/952 for
+# why ipv6 is needed at the moment.
+PYTHON_REQ_USE="ipv6,sqlite"
+
+inherit distutils-r1 gnome2-utils
+
+MY_PN="PyBitmessage"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="P2P communications protocol"
+HOMEPAGE="https://bitmessage.org/";
+SRC_URI="https://github.com/Bitmessage/${MY_PN}/archive/v${PV}.tar.gz
+       -> ${P}.tar.gz"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl ncurses opencl qt4 sound"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+
+# Some of these can be determined from src/depends.py.
+# The sound deps were found in src/bitmessageqt/__init__.py.
+# And src/openclpow.py imports numpy directly, so throw that in too.
+#
+# All of the dependencies that are behind USE flags are detected
+# and enabled automagically, so maybe it would be better if we
+# required them unconditionally?
+RDEPEND="${DEPEND}
+       dev-python/msgpack[${PYTHON_USEDEP}]
+       !libressl? ( dev-libs/openssl:0[-bindist] )
+       libressl? ( dev-libs/libressl )
+       ncurses? ( dev-python/pythondialog[${PYTHON_USEDEP}] )
+       opencl? (
+               dev-python/numpy[${PYTHON_USEDEP}]
+               dev-python/pyopencl[${PYTHON_USEDEP}]
+       )
+       qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+       sound? (
+               media-sound/alsa-utils
+               media-sound/gst123
+               media-sound/mpg123
+       )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/noninteractive-build.patch")
+
+src_install () {
+       distutils-r1_src_install
+       dodoc README.md
+       doman man/pybitmessage.1.gz
+
+       if use qt4 ; then
+               newicon -s 24 desktop/icon24.png "${PN}.png"
+               newicon -s scalable desktop/can-icon.svg "${PN}.svg"
+               domenu "desktop/${PN}.desktop"
+       fi
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+}

Reply via email to