Skip to content

Instantly share code, notes, and snippets.

@Rotron
Forked from sigsergv/building gqrx with brew.md
Created February 10, 2019 23:01
Show Gist options
  • Save Rotron/312616805a8397fea6f4f0fa315e1f8c to your computer and use it in GitHub Desktop.
Save Rotron/312616805a8397fea6f4f0fa315e1f8c to your computer and use it in GitHub Desktop.

Overview

This document describes how to compile GQRX using native OSX Qt 5 and libraries from brew.

Requierements

Skip any part if you have corresponding component already installed.

Mac OS X 10.10 Yosemite

Didn't check other versions.

homebrew

Install using instructions from official homebrew site.

Install XCode

https://developer.apple.com/xcode/download/

Actually you need Command Line Tools only, you can find that dmg package here: https://developer.apple.com/downloads/ (apple id required).

Qt5

Install Qt 5.3 Opensource:

  • go to official page;
  • click “Download Now” button and download .dmg package;
  • open and install Qt 5.3 into $HOME/Qt

I have not checked other Qt versions, btw.

cmake

brew install cmake

osmosdr

Open terminal and execute the following commands:

brew tap chleggett/gr-osmosdr
brew install gr-osmosdr

If you have troubles here try to install Cheetah manually:

pip install Cheetah

Thanks to https://github.com/chleggett/homebrew-gqrx .

Compiling gqrx

Download gqrx itself:

mkdir ~/gqrx-osx
cd ~/gqrx-osx
git clone https://github.com/csete/gqrx.git
mkdir build
cd build
export Qt5_DIR=~/Qt/5.3/clang_64/lib/cmake/Qt5
cmake ../gqrx
make

At this moment you have compiled working version of gqrx in the directory src, you can start it from the terminal:

./src/gqrx

If you want standalone .app file without any external dependencies, execute this magic:

mkdir -p gqrx.app/Contents/MacOS gqrx.app/Contents/Resources
echo 'APPL????' > gqrx.app/Contents/PkgInfo
cp ../gqrx/resources/icons/gqrx.icns gqrx.app/Contents/Resources
cp src/gqrx gqrx.app/Contents/MacOS

Now create file gqrx.app/Contents/Info.plist with the following content:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NSPrincipalClass</key>
    <string>NSApplication</string>

    <key>CFBundleIconFile</key>
    <string>gqrx.icns</string>

    <key>CFBundlePackageType</key>
    <string>APPL</string>

    <key>CFBundleGetInfoString</key>
    <string>Created by Qt/CMake</string>

    <key>CFBundleSignature</key>
    <string>????</string>

    <key>CFBundleExecutable</key>
    <string>gqrx</string>

    <key>CFBundleIdentifier</key>
    <string>dk.gqrx</string>
</dict>
</plist>

And create redistributable file gqrx.dmg:

~/Qt/5.3/clang_64/bin/macdeployqt gqrx.app -dmg

At the end you should get file gqrx.dmg that contains redistributable version of gqrx.app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment