Files
strawberry/Brewfile

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"