gnuradio-for-mac-without-macports

by ktemkin

GNURadio bundled as an app for Mac OS X (does not require MacPorts)

243 Stars 35 Forks Last release: 7 months ago (3.8.0.0-0) GNU General Public License v3.0 137 Commits 6 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

GNURadio.app

This project is here to simplify installation of GNURadio for Mac OS X; and provides a standalone application that's intended to be usable on modern MacOS systems and a variety of common SDR hardware. This branch provides GNURadio v3.8, which is configured to run on top of Python3, and with GTK3 and Qt5 for UI.

Note that this version contains some major changes from GNURadio 3.7: the WX UI has been removed following its deprecation; and, per the end-of-life of Python 2.x, we now are intended to run off of GNURadio 3.8.

Built with backend support for:

  • Airspy (via osmosdr and soapy)
  • AirspyHF (via soapy)
  • BladeRF (via osmosdr and soapy; bitstreams included)
  • HackRF (via osmosdr and soapy)
  • LimeSDR (via gr-limesdr and soapy)
  • NetSDR (via soapy)
  • Pluto SDR (via soapy)
  • Red Pitaya (via osmosdr and soapy)
  • RTLSDR (via osmosdr and soapy)
  • UHD/USRP (via osmosdr and soapy)

Currently tested platforms include:

  • BladeRF
  • HackRF
  • LimeSDR
  • RTLSDR
  • UHD

If you've successfully tested one of the other backends, feel free to PR an addition to this list. :)

Requirements

This distribution is meant to run on modern versions of macOS; technically, it should support releases as old as 10.7; but this is untested. It should support modern processor features (e.g. AVX512), but shouldn't require them.

There are two software requirements you'll need to install first:

You must install Python 3.7 using the python.org installer; GNURadio.app can't use the version installed with macOS (or MacPorts or Homebrew).

Installation

Following Apple conventions, installation is easy.

Simply download a release, open the DMG file, and then drag & drop GNURadio into your Applications directory.

Additional steps for specific platforms

UHD

You'll need to download the USRP firmware images with the

uhd_images_downloader.py
tool.
$ /Library/Frameworks/Python.framework/Versions/3.7/bin/pip install six requests
$ /Applications/GNURadio.app/Contents/MacOS/usr/lib/uhd/utils/uhd_images_downloader.py

Trackpad users

If you're using a trackpad you'll need a way to emulate a middle-click, especially for configuring the GUI blocks. One such tool is MiddleClick.

Motivation

Some users just do not want to install MacPorts only to use GNURadio. We get it. To each their own.

Getting Started

After you have installed GNURadio, check out the Tutorials.

Once you are confident with using some basic blocks, and if you don't already have an SDR you might want to consider purchasing one. RTL-SDR has a good roundup of SDR devices.

Advanced Usage: Out of Tree Modules

There are only a few extra steps to use before following Out of Tree Module Guide.

TODO: write #exactsteps Issue #9

DIY

For those who desperately want to build GNURadio for Mac from scratch using our method, you will only need two requirements listed above and to run build.sh.

Keep in mind, that building most dependencies from scratch will take some amount of time, but it should work without any errors.

If you encounter any errors, or if there is a particular runtime bug or feature that you would like to see, please create a new Issue.

Pull Requests are welcome!

License

Our shell script is released under the same LICENSE that GNURadio is released under, namely the GPLv3.

GNURadio graphics are freely available under the CC BY-ND 2.0 license1

1 Note, we have not transformed gnuradio_logo_icon-square.svg when building gnuradio.icns. It is identical to the original graphic in every way, sampled at various resolutions. See here for the #exactsteps followed. Also note that Issue #8 exists to simplify that process.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.