commit:     9e5358e83eedcbd65ee25fa87dd6c503d1a832d0
Author:     Zero_Chaos <zerochaos <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 02:25:06 2018 +0000
Commit:     Richard Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 03:48:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e5358e8

net-wireless/gnuradio: add support for wx:3.0

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../gnuradio/files/gnuradio-wxpy3.0-compat.patch   |  50 +++++
 net-wireless/gnuradio/gnuradio-3.7.11-r2.ebuild    | 238 +++++++++++++++++++++
 2 files changed, 288 insertions(+)

diff --git a/net-wireless/gnuradio/files/gnuradio-wxpy3.0-compat.patch 
b/net-wireless/gnuradio/files/gnuradio-wxpy3.0-compat.patch
new file mode 100644
index 00000000000..60eb7c7bbbe
--- /dev/null
+++ b/net-wireless/gnuradio/files/gnuradio-wxpy3.0-compat.patch
@@ -0,0 +1,50 @@
+Description: Update for wxPython 3.0
+ wx.InitAllImageHandlers() issues a deprecation warning with wxPython 3.0
+ and is a no-op with wxPython 2.8.
+ Deprecated constants like wxSAVE are gone from the C++ API, so wx.SAVE, etc
+ are also likely to go from wxPython soon.
+ The alias "wx.Color" is gone in wxPython 3.0 - only "wx.Colour" is now
+ supported, so update docstring to use the correct class name.
+Author: Olly Betts <[email protected]>
+Forwarded: no
+Last-Update: 2014-08-21
+
+--- a/gr-wxgui/python/wxgui/plot.py
++++ b/gr-wxgui/python/wxgui/plot.py
+@@ -522,7 +522,7 @@
+                     self,
+                     "Choose a file with extension bmp, gif, xbm, xpm, png, or 
jpg", ".", "",
+                     "BMP files (*.bmp)|*.bmp|XBM files (*.xbm)|*.xbm|XPM file 
(*.xpm)|*.xpm|PNG files (*.png)|*.png|JPG files (*.jpg)|*.jpg",
+-                    wx.SAVE|wx.OVERWRITE_PROMPT
++                    wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT
+                     )
+             try:
+                 while 1:
+@@ -1820,7 +1820,6 @@
+ 
+     class MyApp(wx.App):
+         def OnInit(self):
+-            wx.InitAllImageHandlers()
+             frame = TestFrame(None, -1, "PlotCanvas")
+             #frame.Show(True)
+             self.SetTopWindow(frame)
+--- a/gr-wxgui/python/wxgui/plotter/gltext.py
++++ b/gr-wxgui/python/wxgui/plotter/gltext.py
+@@ -50,7 +50,7 @@
+         """
+         text (String)         - Text
+         font (wx.Font)        - Font to draw with (None = System default)
+-        foreground (wx.Color) - Color of the text
++        foreground (wx.Colour)- Color of the text
+                 or (wx.Bitmap)- Bitmap to overlay the text with
+         centered (bool)       - Center the text
+ 
+@@ -317,7 +317,7 @@
+             text (string)           - displayed text
+             font (wx.Font)          - if None, system default font will be 
used with font_size
+             font_size (int)         - font size in points
+-            foreground (wx.Color)   - Color of the text
++            foreground (wx.Colour)  - Color of the text
+                     or (wx.Bitmap)  - Bitmap to overlay the text with
+             centered (bool)         - should the text drawn centered towards 
position?
+ 

diff --git a/net-wireless/gnuradio/gnuradio-3.7.11-r2.ebuild 
b/net-wireless/gnuradio/gnuradio-3.7.11-r2.ebuild
new file mode 100644
index 00000000000..acadae1e43c
--- /dev/null
+++ b/net-wireless/gnuradio/gnuradio-3.7.11-r2.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+CMAKE_BUILD_TYPE="None"
+inherit cmake-utils fdo-mime gnome2-utils python-single-r1 eutils
+
+DESCRIPTION="Toolkit that provides signal processing blocks to implement 
software radios"
+HOMEPAGE="http://gnuradio.org/";
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+
+if [[ ${PV} == "9999" ]] ; then
+       EGIT_REPO_URI="http://gnuradio.org/git/gnuradio.git";
+       inherit git-r3
+       KEYWORDS=""
+else
+       SRC_URI="http://gnuradio.org/releases/gnuradio/${P}.tar.gz";
+       KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+IUSE="+audio +alsa atsc +analog +digital channels doc dtv examples fcd fec 
+filter grc jack log noaa oss pager performance-counters portaudio +qt4 sdl 
test trellis uhd vocoder +utils wavelet wxwidgets zeromq"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+               audio? ( || ( alsa oss jack portaudio ) )
+               alsa? ( audio )
+               oss? ( audio )
+               jack? ( audio )
+               portaudio? ( audio )
+               analog? ( filter )
+               digital? ( filter analog )
+               dtv? ( fec )
+               pager? ( filter analog )
+               qt4? ( filter )
+               uhd? ( filter analog )
+               fcd? ( || ( alsa oss ) )
+               wavelet? ( analog )
+               wxwidgets? ( filter analog )"
+
+# bug #348206
+# comedi? ( >=sci-electronics/comedilib-0.8 )
+# boost-1.52.0 is blacklisted, bug #461578, upstream #513, boost #7669
+RDEPEND="${PYTHON_DEPS}
+       >=dev-lang/orc-0.4.12
+       dev-libs/boost:0=[${PYTHON_USEDEP}]
+       !<=dev-libs/boost-1.52.0-r6:0/1.52
+       dev-python/numpy[${PYTHON_USEDEP}]
+       sci-libs/fftw:3.0=
+       alsa? (
+               media-libs/alsa-lib[${PYTHON_USEDEP}]
+       )
+       fcd? ( virtual/libusb:1 )
+       filter? ( sci-libs/scipy )
+       grc? (
+               dev-python/cheetah[${PYTHON_USEDEP}]
+               dev-python/lxml[${PYTHON_USEDEP}]
+               >=dev-python/pygtk-2.10:2[${PYTHON_USEDEP}]
+       )
+       jack? (
+               media-sound/jack-audio-connection-kit
+       )
+       log? ( dev-libs/log4cpp )
+       portaudio? (
+               >=media-libs/portaudio-19_pre
+       )
+       qt4? (
+               >=dev-python/PyQt4-4.4[X,opengl,${PYTHON_USEDEP}]
+               >=dev-python/pyqwt-5.2:5[${PYTHON_USEDEP}]
+               >=dev-qt/qtcore-4.4:4
+               >=dev-qt/qtgui-4.4:4
+               x11-libs/qwt:6[qt4(+)]
+       )
+       sdl? ( >=media-libs/libsdl-1.2.0 )
+       uhd? ( >=net-wireless/uhd-3.9.6:=[${PYTHON_USEDEP}] )
+       utils? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+       vocoder? ( media-sound/gsm )
+       wavelet? (
+               >=sci-libs/gsl-1.10
+       )
+       wxwidgets? (
+               dev-python/lxml[${PYTHON_USEDEP}]
+               dev-python/numpy[${PYTHON_USEDEP}]
+               dev-python/wxpython:3.0[${PYTHON_USEDEP}]
+       )
+       zeromq? ( >=net-libs/zeromq-2.1.11 )
+       "
+
+DEPEND="${RDEPEND}
+       app-text/docbook-xml-dtd:4.2
+       >=dev-lang/swig-3.0.5
+       dev-python/cheetah[${PYTHON_USEDEP}]
+       virtual/pkgconfig
+       doc? (
+               >=app-doc/doxygen-1.5.7.1
+               dev-python/sphinx[${PYTHON_USEDEP}]
+       )
+       grc? ( x11-misc/xdg-utils )
+       oss? ( virtual/os-headers )
+       test? ( >=dev-util/cppunit-1.9.14 )
+       zeromq? ( net-libs/cppzmq )
+"
+
+src_prepare() {
+       gnome2_environment_reset #534582
+
+       epatch "${FILESDIR}"/gnuradio-wxpy3.0-compat.patch
+       # Useless UI element would require qt3support, bug #365019
+       sed -i '/qPixmapFromMimeSource/d' 
"${S}"/gr-qtgui/lib/spectrumdisplayform.ui || die
+       #default
+}
+
+src_configure() {
+       # SYSCONFDIR/GR_PREFSDIR default to install below CMAKE_INSTALL_PREFIX
+       #audio provider is still automagic
+       #zeromq missing deps isn't fatal
+       mycmakeargs=(
+               -DENABLE_DEFAULT=OFF
+               -DENABLE_GNURADIO_RUNTIME=ON
+               -DENABLE_VOLK=ON
+               -DENABLE_PYTHON=ON
+               -DENABLE_GR_BLOCKS=ON
+               -DENABLE_GR_FFT=ON
+               -DENABLE_GR_AUDIO=ON
+               $(cmake-utils_use_enable alsa GR_AUDIO_ALSA) \
+               $(cmake-utils_use_enable analog GR_ANALOG) \
+               $(cmake-utils_use_enable atsc GR_ATSC) \
+               $(cmake-utils_use_enable channels GR_CHANNELS) \
+               $(cmake-utils_use_enable digital GR_DIGITAL) \
+               $(cmake-utils_use_enable doc DOXYGEN) \
+               $(cmake-utils_use_enable doc SPHINX) \
+               $(cmake-utils_use_enable dtv GR_DTV) \
+               $(cmake-utils_use_enable fcd GR_FCD) \
+               $(cmake-utils_use_enable fec GR_FEC) \
+               $(cmake-utils_use_enable filter GR_FILTER) \
+               $(cmake-utils_use_enable grc GRC) \
+               $(cmake-utils_use_enable jack GR_AUDIO_JACK) \
+               $(cmake-utils_use_enable log GR_LOG) \
+               $(cmake-utils_use_enable noaa GR_NOAA) \
+               $(cmake-utils_use_enable oss GR_AUDIO_OSS) \
+               $(cmake-utils_use_enable pager GR_PAGER) \
+               $(cmake-utils_use_enable performance-counters 
ENABLE_PERFORMANCE_COUNTERS) \
+               $(cmake-utils_use_enable portaudio GR_AUDIO_PORTAUDIO) \
+               $(cmake-utils_use_enable test TESTING) \
+               $(cmake-utils_use_enable trellis GR_TRELLIS) \
+               $(cmake-utils_use_enable uhd GR_UHD) \
+               $(cmake-utils_use_enable utils GR_UTILS) \
+               $(cmake-utils_use_enable vocoder GR_VOCODER) \
+               $(cmake-utils_use_enable wavelet GR_WAVELET) \
+               $(cmake-utils_use_enable wxwidgets GR_WXGUI) \
+               $(cmake-utils_use_enable qt4 GR_QTGUI) \
+               $(cmake-utils_use_enable sdl GR_VIDEO_SDL) \
+               $(cmake-utils_use_enable zeromq GR_ZEROMQ) \
+               -DENABLE_GR_CORE=ON \
+               -DSYSCONFDIR="${EPREFIX}"/etc \
+               -DPYTHON_EXECUTABLE="${PYTHON}"
+               -DGR_PKG_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
+       )
+       use vocoder && mycmakeargs+=( -DGR_USE_SYSTEM_LIBGSM=TRUE )
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       if use examples ; then
+               dodir /usr/share/doc/${PF}/
+               mv "${ED}"/usr/share/${PN}/examples 
"${ED}"/usr/share/doc/${PF}/ || die
+               docompress -x /usr/share/doc/${PF}/examples
+       else
+       # It seems that the examples are always installed
+               rm -rf "${ED}"/usr/share/${PN}/examples || die
+       fi
+
+       if use doc || use examples; then
+               #this doesn't appear useful
+               rm -rf "${ED}"/usr/share/doc/${PF}/xml || die
+       fi
+
+       # We install the mimetypes to the correct locations from the ebuild
+       rm -rf "${ED}"/usr/share/${PN}/grc/freedesktop || die
+       rm -f "${ED}"/usr/libexec/${PN}/grc_setup_freedesktop || die
+
+       # Install icons, menu items and mime-types for GRC
+       if use grc ; then
+               local fd_path="${S}/grc/scripts/freedesktop"
+               insinto /usr/share/mime/packages
+               doins "${fd_path}/${PN}-grc.xml"
+
+               domenu "${fd_path}/"*.desktop
+               doicon "${fd_path}/"*.png
+       fi
+
+       python_fix_shebang "${ED}"
+}
+
+src_test()
+{
+       ctest -E qtgui
+}
+
+pkg_postinst()
+{
+       local GRC_ICON_SIZES="32 48 64 128 256"
+
+       if use grc ; then
+               fdo-mime_desktop_database_update
+               fdo-mime_mime_database_update
+               for size in ${GRC_ICON_SIZES} ; do
+                       xdg-icon-resource install --noupdate --context 
mimetypes --size ${size} \
+                               
"${EROOT}/usr/share/pixmaps/grc-icon-${size}.png" application-gnuradio-grc \
+                               || die "icon resource installation failed"
+                       xdg-icon-resource install --noupdate --context apps 
--size ${size} \
+                               
"${EROOT}/usr/share/pixmaps/grc-icon-${size}.png" gnuradio-grc \
+                               || die "icon resource installation failed"
+               done
+               xdg-icon-resource forceupdate
+       fi
+}
+
+pkg_postrm()
+{
+       local GRC_ICON_SIZES="32 48 64 128 256"
+
+       if use grc ; then
+               fdo-mime_desktop_database_update
+               fdo-mime_mime_database_update
+               for size in ${GRC_ICON_SIZES} ; do
+                       xdg-icon-resource uninstall --noupdate --context 
mimetypes --size ${size} \
+                               application-gnuradio-grc || ewarn "icon 
uninstall failed"
+                       xdg-icon-resource uninstall --noupdate --context apps 
--size ${size} \
+                               gnuradio-grc || ewarn "icon uninstall failed"
+
+               done
+               xdg-icon-resource forceupdate
+       fi
+}

Reply via email to