60 lines
2.5 KiB
Ruby
60 lines
2.5 KiB
Ruby
# Strawberry Music Player (macOS) - Homebrew Bundle
|
|
#
|
|
# Usage:
|
|
# brew bundle --file Brewfile
|
|
#
|
|
# Notes:
|
|
# - This is intended for macOS (Apple Silicon or Intel).
|
|
# - Some Strawberry features are optional and will auto-disable if deps are missing.
|
|
|
|
# Build tooling
|
|
brew "cmake"
|
|
brew "pkg-config"
|
|
brew "ninja"
|
|
|
|
# Core runtime/build dependencies (required by CMakeLists.txt)
|
|
brew "qt" # Qt 6 (Core/Gui/Widgets/Network/Sql/Concurrent)
|
|
brew "vulkan-headers" # helps Qt6Gui's WrapVulkanHeaders dependency on some setups
|
|
brew "boost"
|
|
brew "icu4c"
|
|
brew "glib" # provides glib-2.0 + gobject-2.0 (via pkg-config)
|
|
brew "glib-networking" # TLS + GIO modules (helps macOS bundling via dist/macos/macgstcopy.sh)
|
|
brew "sqlite"
|
|
brew "taglib"
|
|
brew "gstreamer"
|
|
|
|
# Strawberry requires KDAB's KDSingleApplication (CMake package name: KDSingleApplication-qt6).
|
|
# Homebrew core doesn't consistently provide it, so this repo includes a local formula.
|
|
# Homebrew requires formulae to be installed from a tap; `brew bundle` will tap *this repo*
|
|
# using the current working directory (run `brew bundle` from the repo root).
|
|
# If you previously tapped `strawberry/local` before `Formula/` existed, refresh it with:
|
|
# brew untap strawberry/local && brew tap strawberry/local "file://$PWD"
|
|
tap "strawberry/local", "file://#{Dir.pwd}"
|
|
brew "strawberry/local/kdsingleapplication-qt6"
|
|
brew "strawberry/local/qtsparkle-qt6" # optional: QtSparkle integration
|
|
brew "strawberry/local/sparkle-framework" # optional: Sparkle integration (framework)
|
|
|
|
# Recommended GStreamer plugin sets for broad codec support (matches README guidance)
|
|
brew "gst-plugins-base"
|
|
brew "gst-plugins-good"
|
|
brew "gst-plugins-bad"
|
|
brew "gst-plugins-ugly"
|
|
brew "gst-libav"
|
|
|
|
# Optional features (silences CMake warnings / enables extra functionality)
|
|
brew "rapidjson" # enables Discord Rich Presence (DISCORD_RPC)
|
|
brew "google-sparsehash" # enables stream tagreader (STREAMTAGREADER / libsparsehash)
|
|
brew "chromaprint" # enables MusicBrainz + song fingerprinting
|
|
brew "fftw" # enables Moodbar (fftw3)
|
|
brew "libebur128" # enables EBU R 128 loudness normalization
|
|
brew "libcdio" # enables Audio CD support
|
|
brew "libmtp" # enables MTP device support
|
|
brew "strawberry/local/libgpod" # enables iPod classic support (Homebrew core doesn't provide libgpod)
|
|
|
|
# Helpful for Strawberry's macOS "deploy" target (GStreamer dynamically loads libsoup)
|
|
brew "libsoup"
|
|
|
|
# Optional: enable building the CMake "dmg" target (cmake/Dmg.cmake)
|
|
brew "create-dmg"
|
|
|