Current version
If you don’t like or don’t have the time for tinkering, we have:
-
An Upplay 1.7.2 amd64 binary version built on Mac OS Big Sur using Qt 6.4.2 upplay-1.7.2-20240107-0ec640bf-webengine.dmg
-
And a contributed "universal" 1.7.2 x86_64/arm64 version: upplay-1.7.2-arm+x64-contrib.dmg
Note
|
It seems that upplay sometimes crash on first execution when there are several screens connected. The current workaround is to only keep one screen and run upplay once and exit, then re-connect the screens. Further executions run fine with multiple screens connected. Thanks to Juan Pablo for finding the workaround ! Hopefully I’ll find a way to fix this… |
Building
Two possibilities for building:
-
Use macports or homebrew: npupnp, libupnpp and upplay build just fine, using Qt 5/6 and other tools from the ports (and using the configure scripts).
-
Use a more native approach, using Qt creator and the .pro files of each project (in the macos directories for npupnp and libupnpp, and the default upplay one). Details follow.
Building without a ports tree
Install Qt with Qt Creator, and XCode (see the Qt docs for this).
Extract and build libmicrohttpd 0.9.71. The regular configure/make method bundled with the lib source "just works":
./configure --without-gnutls make
The qmake .pro uses a static link for libmicrohttpd. The rest of the necessary libs (e.g. expat, libcurl) are bundled with MacOS.
Extract the source for libnpupnp, libupnppp, and upplay in the same directory where you extracted libmicrohttpd.
-
Copy libnpupnp-x.y.z/macos/autoconfig-macos.h to libnpupnp-x.y.z/autoconfig.h
-
Copy libnpupnp-x.y.z/macos/upnpconfig-macos.h to libnpupnp-x.y.z/inc/upnpconfig.h
-
Copy libupnpp-n.m.p/macos/config-macos.h to libupnpp-n.m.p/libupnpp/config.h
Start QtCreator and open libnpupnp-x.y.z/macos/qmk/libnpupnp.pro, libupnpp-n.m.p/macos/qmk/libupnpp.pro and upplay-t.u.v/upplay.pro, then build the three projects. There will almost certainly be some paths to adjust inside the '.pro' files.
Finally, if needed, generate a .dmg distribution, using the macos/make-upplay-dmg.sh script.