David Helkowski 3d10414a88 Refactor notarization process and enhance build scripts for macOS
This commit updates the build_sign_notarize.sh script to improve the notarization process by introducing a conditional stapling option. It also cleans up temporary files and clears macOS provenance metadata to prevent issues during builds. The Dmg.cmake script is modified to remove the reliance on environment variables for codesigning, streamlining the build process. Additionally, the build_app.sh script is enhanced with heartbeat logging for long-running commands and improved cleanup procedures for build directories.
2026-01-22 18:37:02 +09:00
2026-01-17 16:23:08 +01:00
2025-12-09 18:45:57 +01:00
2025-12-09 01:16:41 +01:00
2018-02-27 18:06:05 +01:00
2018-05-01 02:54:16 +02:00
2024-10-20 00:06:42 +02:00

Strawberry (macOS-focused fork)

This repository is a macOS-focused fork of the upstream Strawberry Music Player project originally created and maintained by Jonas Kvinge (itself originally forked from Clementine).

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 free/open-source, but upstreams macOS binaries may be distributed via a paid-access channel depending on the release period and policy.

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 elses, 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


Tested on Linux, OpenBSD, FreeBSD, macOS, and Windows.

⚙️ Requirements

To build Strawberry from source, youll need:

Dependencies:

Dependencies for optional features:

Also install GStreamer plugins base, good, and optionally bad, ugly and libav for full codec support.


🔧 Build from Source

Get the code:

git clone --recursive https://github.com/strawberrymusicplayer/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


📦 Packaging status

Packaging status

Description
🍓 Strawberry Music Player
Readme 67 MiB
Languages
C++ 95.6%
CMake 1.4%
Objective-C++ 1.3%
Shell 0.7%
Objective-C 0.4%
Other 0.5%