I've been attempting the same activity, though with my tiny understanding of how it all works i'm getting stuck pretty quickly! I made notes about what i've done so far in case it helps anyone else.
I also use homebrew and have come up with the following package requirements:
python3
cmake
swig
boost
log4cpp
gmp
mpir
fftw
gsl
zeromq
uhd
doxygen
gtk+3
gnome-icon-theme
qt
qwt
I also had to manually install cppzmq as Homebrew wouldn't accept a formula (header only)
Next I installed the various pip packages, but found before I rand it I had to have the following for something to correctly compile/install (sorry can't recall what! Should have made better notes):
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
.. and then installed the following PIP packages (for python3 installed via homebrew, via pip3 install)
six
mako
pyyaml
numpy
click
click-plugins
pygobject3
pyqt5
Next, to fix an issue with libraries installed via homebrew not linking properly on macOS 10.14 I aded the following into the root CMakeLists.txt:
Next to get cmake to find the brew installed qwt properly, I modified cmake/Modules/FindQwt.cmake, and added 'qwt' to NAME for QWT_LIBRARIES (brew qwt package installs it as just 'qwt' but the cmake find file looks for qwt6-qt5, qwt-qt5). Looks like theres a PR in which would fix this:
https://github.com/gnuradio/gnuradio/pull/2545
With all of that done, gnuradio 3.8 builds and installs correctly, but I still got the drag and drop issue. I fixed that with changes to grc/gui/BlockTreeWindow.py - as seen in the following gist (though i'm not sure if there are other negative affects):
After that drag and drop works so progress. Next I had an issue with an OS level crash related to GTK, but it seems to be gone with 3.8.0 release (I was previously testing on master and I can't see any commits related to GTK so i'm not 100% sure why the error was gone). The crash happened when I tried to connect any blocks together and I somewhat narrowed that one down to redrawing when the mouse is released. By commenting the following line, the crash was avoided but the connection doesn't work correctly:
https://github.com/gnuradio/gnuradio/blob/d50e7b504e1482b1589d9f31a9327feae00e3fb5/grc/gui/canvas/flowgraph.py#L737. A bit academic now as it's all working ok - I might rebuild my MacOS VM and start from scratch in case something else fixed it.
Next problem is a bit beyond my understanding of libraries and why PyQt has installed a full copy of Qt libraries and how to make it pick or the other - when I try to run a graph I get errors like:
bjc[17061]: Class QMacAutoReleasePoolTracker is implemented in both /usr/local/lib/python3.7/site-packages/PyQt5/Qt/lib/QtCore.framework/Versions/5/QtCore (0x120d805a0) and /usr/local/Cellar/qt/5.13.0/lib/QtCore.framework/Versions/5/QtCore (0x12940f5b0). One of the two will be used. Which one is undefined.
I'd love to have it working, so if there's anything I can do to help test i'm happy to participate! Hope this helps someone smarter than me!