Add Brewfile and local formula for KDSingleApplication-qt6
This commit introduces a Brewfile for managing dependencies required by the Strawberry Music Player on macOS, including build tools and runtime dependencies. Additionally, a local Homebrew formula for KDSingleApplication-qt6 is added to facilitate its installation, as it is not consistently available in Homebrew core. A README is also included to guide users on installation and usage.
This commit is contained in:
51
Formula/kdsingleapplication-qt6.rb
Normal file
51
Formula/kdsingleapplication-qt6.rb
Normal file
@@ -0,0 +1,51 @@
|
||||
class KdsingleapplicationQt6 < Formula
|
||||
desc "Helper class for single-instance Qt applications (Qt 6 build)"
|
||||
homepage "https://github.com/KDAB/KDSingleApplication"
|
||||
url "https://github.com/KDAB/KDSingleApplication/archive/refs/tags/v1.1.0.tar.gz"
|
||||
sha256 "1f19124c0aa5c6fffee3da174f7d2e091fab6dca1e123da70bb0fe615bfbe3e8"
|
||||
license "MIT"
|
||||
|
||||
depends_on "cmake" => :build
|
||||
depends_on "ninja" => :build
|
||||
depends_on "qt"
|
||||
|
||||
def install
|
||||
args = std_cmake_args + %W[
|
||||
-GNinja
|
||||
-DKDSingleApplication_QT6=ON
|
||||
-DKDSingleApplication_TESTS=OFF
|
||||
-DKDSingleApplication_EXAMPLES=OFF
|
||||
-DKDSingleApplication_DOCS=OFF
|
||||
-DKDSingleApplication_DEVELOPER_MODE=OFF
|
||||
-DKDSingleApplication_STATIC=OFF
|
||||
]
|
||||
|
||||
system "cmake", "-S", ".", "-B", "build", *args
|
||||
system "cmake", "--build", "build"
|
||||
system "cmake", "--install", "build"
|
||||
end
|
||||
|
||||
test do
|
||||
# Verify CMake package is usable via find_package(KDSingleApplication-qt6 CONFIG REQUIRED)
|
||||
(testpath/"CMakeLists.txt").write <<~CMAKE
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(kdsa_test LANGUAGES CXX)
|
||||
find_package(KDSingleApplication-qt6 CONFIG REQUIRED)
|
||||
add_executable(test_kdsa main.cpp)
|
||||
target_link_libraries(test_kdsa PRIVATE KDAB::kdsingleapplication)
|
||||
CMAKE
|
||||
|
||||
(testpath/"main.cpp").write <<~CPP
|
||||
#include <QCoreApplication>
|
||||
int main(int argc, char** argv) {
|
||||
QCoreApplication app(argc, argv);
|
||||
return 0;
|
||||
}
|
||||
CPP
|
||||
|
||||
system "cmake", "-S", ".", "-B", "build",
|
||||
"-DCMAKE_PREFIX_PATH=#{opt_prefix}"
|
||||
system "cmake", "--build", "build"
|
||||
end
|
||||
end
|
||||
|
||||
25
Formula/kdsingleapplication-qt6/README.md
Normal file
25
Formula/kdsingleapplication-qt6/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# kdsingleapplication-qt6 (local Homebrew formula)
|
||||
|
||||
This directory exists to keep any supporting files for the local Homebrew formula
|
||||
next to it (e.g. patches or notes).
|
||||
|
||||
## Install (from this Strawberry repo)
|
||||
|
||||
From the repo root:
|
||||
|
||||
```bash
|
||||
brew tap strawberry/local "file://$PWD"
|
||||
brew install strawberry/local/kdsingleapplication-qt6
|
||||
```
|
||||
|
||||
## Why it exists
|
||||
|
||||
Strawberry’s build requires the CMake package `KDSingleApplication-qt6`, but it is
|
||||
not consistently available via Homebrew core. Shipping a local formula makes the
|
||||
dependency easy to install for anyone building this repo on macOS.
|
||||
|
||||
## Note for local development
|
||||
|
||||
Homebrew taps are Git clones, so the formula must be committed (or pushed to a remote)
|
||||
to be visible to `brew tap`.
|
||||
|
||||
Reference in New Issue
Block a user