This document describes how to compile GQRX using native OSX Qt 5 and libraries from brew.
Skip any part if you have corresponding component already installed.
Didn't check other versions.
Install using instructions from official homebrew site.
https://developer.apple.com/xcode/download/
Actually you need just Command Line Tools, you can find that dmg package here: https://developer.apple.com/downloads/ (apple id required).
Install Qt 5.5 Opensource:
- go to official page;
- click “Download Now” button and download .dmg package;
- open and install Qt 5.5 into
$HOME/Qt
I have checked Qt version 5.3 and I think any 5.* version will do, btw.
Also make sure that you don't have qt installed via homebrew, it will break build and introduce weird compile errors.
brew install cmake
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 .
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.5/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>
Now convert gqrx.dmg
to a redistributable package, first step:
~/Qt/5.5/clang_64/bin/macdeployqt gqrx.app -verbose=3 2> macdeployqt.log
Before the next step you need to get script fix-deps.py
, it's in the same gist below, or you can just download it using this commands:
curl -L -o fix-deps.py https://gist.github.com/sigsergv/82925dc88e351078d42b/raw/e3b69c3710730ecd27e8bfb144fa44f954afa8bb/fix-deps.py
chmod +x fix-deps.py
Execute it (in the durectory ~/gqrx-osx/build
!):
./fix-deps.py
You should see a few lines of text followed by text Finished!
, if you don't see Finished!
then something gone wrong.
At the end you should get file gqrx.app
that doesn't contain any non-system external dependencies.