Compile macOS using macports

From Strawberry Music Player Wiki
Revision as of 15:50, 23 November 2024 by Jonas (talk | contribs)
Jump to navigation Jump to search

Compiling on macOS using macports.

This guide is currently not maintained and might no longer work.


Install xcode tools

   xcode-select --install

Install macports

Download and install macports from: https://www.macports.org/install.php

Prepare macports

   sudo port -v selfupdate

Install dependencies

   sudo port -N install glib2 pkgconfig cmake boost sqlite3 gnutls chromaprint fftw taglib libebur128 qt6-qtbase qt6-sqlite-plugin qt6-qttools gstreamer1 gstreamer1-gst-plugins-base gstreamer1-gst-plugins-good gstreamer1-gst-plugins-ugly gstreamer1-gst-libav libcdio libmtp libgpod libebur128
   sudo port -N install gstreamer1-gst-plugins-bad +faac +fdk_aac

Install create-dmg

   mkdir -p ~/build
   cd ~/build
   git clone --recursive https://github.com/create-dmg/create-dmg
   cd create-dmg
   sudo make install

Set environment variables

   export GIO_EXTRA_MODULES=/opt/local/lib/gio/modules
   export GST_PLUGIN_SCANNER=/opt/local/libexec/gstreamer-1.0/gst-plugin-scanner
   export GST_PLUGIN_PATH=/opt/local/lib/gstreamer-1.0

Prepare build

   mkdir -p ~/build
   cd ~/build
   git clone https://github.com/strawberrymusicplayer/strawberry
   cd strawberry
   mkdir build
   cd build

(If you already did `git clone`, do `git pull` to make sure you have the latest code).

Compile and create DMG

   /opt/local/libexec/qt6/bin/qt-cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_WITH_QT6=ON -DUSE_BUNDLE=ON
   make -j 4
   make install
   make deploy
   make deploycheck
   make dmg

You might get warnings in make deploy about missing gstreamer plugins because macports does not have all of them, they are not critical and Strawberry should still work.

Install

To install, either open the DMG, drag Strawberry over to Applications, or manually copy the strawberry.app folder over to /Applications/