This commit introduces a new section in the README.md detailing the process for building and signing a macOS package for the Mac App Store. It includes requirements for Apple Developer accounts, a manual setup guide for certificates and provisioning profiles, and a command to build the signed upload package. Additionally, it provides instructions for uploading the package to App Store Connect for review.
Strawberry (macOS-focused fork)
This repository is a macOS-focused fork of upstream Strawberry.
The goal of this fork is to make Strawberry build cleanly and repeatably on macOS, with:
- Homebrew dependency installation via
Brewfile - local Homebrew formulas (tap) for missing dependencies
- build / deploy / signing / notarization helper scripts under
build_tools/ - Sparkle feed configuration knobs so you can publish your own updates
Upstream vs this fork (macOS distribution)
Upstream Strawberry is where ongoing development happens:
- Upstream:
https://github.com/strawberrymusicplayer/strawberry
This fork’s source (the code you are building here):
- Fork:
https://gitea.dryark.com/dryark/strawberry
This fork is intended for people who want to:
- build from source on macOS without guesswork
- produce signed + notarized binaries themselves (and optionally distribute them)
General safety note: whether you use upstream builds, your own builds, or someone else’s, only install software from sources you trust and prefer signed + notarized releases.
Quick start (macOS)
Install Homebrew dependencies:
./build_tools/macos/install_brew_deps.sh
Build:
./build_tools/macos/build_app.sh --release --clean
open ./cmake-build-macos-release/strawberry.app
Build + deploy + sign + notarize (+ DMG):
./build_tools/macos/build_sign_notarize.sh --run --release --clean --deploy --dmg \
--identity "Developer ID Application: Your Name (TEAMID)" \
--notary-profile "<profile-name>"
Features
- Play and organize your music collection
- Supports formats: WAV, FLAC, WavPack, Ogg Vorbis, Opus, MPC, TrueAudio, AIFF, MP4, MP3, ASF, and Monkey’s Audio
- Audio CD playback
- Bit-perfect playback on Linux
- Native desktop notifications
- Advanced playlist management
- Smart and dynamic playlists
- Loudness analysis and EBU R128 normalization
- Editing tags and fetching missing tags via MusicBrainz
- Album art from: Last.fm, MusicBrainz, Discogs, Musixmatch, Deezer, Tidal, Qobuz, Spotify
- Lyrics from: Genius, Musixmatch, ChartLyrics, lyrics.ovh, lololyrics, songlyrics, azlyrics, elyrics, letras, LyricFind and lrclib.net
- Audio analyzer and equalizer
- Transfer music to USB, MTP and iPod devices
- Scrobbling to Last.fm and ListenBrainz
- Streaming from Subsonic-compatible servers
- Unofficial integrations: Tidal, Spotify, and Qobuz
- Discord Rich Presence
✅ Tested on Linux, OpenBSD, FreeBSD, macOS, and Windows.
⚙️ Requirements
To build Strawberry from source, you’ll need:
Dependencies:
- CMake ≥= 3.13
- C/C++ compiler (GCC, Clang, or MSVC)
- pkg-config or pkgconf
- Boost
- GLib
- Qt ≥= 6.4 (Core, Concurrent, Gui, Widgets, Network, SQL, D-Bus)
- SQLite ≥= 3.9
- ALSA (Linux only)
- GStreamer
- TagLib ≥= 1.12
- ICU
- KDSingleApplication ≥= 1.1.0
Dependencies for optional features:
- Fingerprinting & tagging: Chromaprint
- Moodbar: FFTW3
- PulseAudio integration: PulseAudio
- Audio CD support: libcdio
- MTP devices: libmtp
- iPod Classic: libgpod
- EBU R128 normalization: libebur128
- Discord presence: RapidJSON
Also install GStreamer plugins base, good, and optionally bad, ugly and libav for full codec support.
🔧 Build from Source
Get the code (this fork):
git clone --recursive https://gitea.dryark.com/dryark/strawberry
Build and install:
cd strawberry
cmake -S . -B build
cmake --build build --parallel $(nproc)
sudo cmake --install build
For building on Windows with Visual Studio 2022, see: 👉 https://github.com/strawberrymusicplayer/strawberry-msvc