-
-
Notifications
You must be signed in to change notification settings - Fork 987
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(macos)!: add homebrew formula and drop dmg #2222
Conversation
00f41d2
to
d2cc861
Compare
ab5cbbb
to
9a9911d
Compare
I think we should also drop the standard macOS build as part of this. It will save 3 runners, and the artifacts produced by the build are not actually usable due to missing deps and the linking used doesn't allow it to be standalone like on Windows. The homebrew install will be very easy compared to the macports build as well... essentially it will be a single terminal command to install sunshine through homebrew. |
911bcf6
to
7eaf4b4
Compare
#WebUI build | ||
add_custom_target(web-ui ALL | ||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" | ||
COMMENT "Installing NPM Dependencies and Building the Web UI" | ||
COMMAND bash -c \"npm install && SUNSHINE_SOURCE_ASSETS_DIR=${SUNSHINE_SOURCE_ASSETS_DIR} SUNSHINE_ASSETS_DIR=${CMAKE_BINARY_DIR} npm run build\") # cmake-lint: disable=C0301 | ||
COMMAND bash -c \"npm install && SUNSHINE_BUILD_HOMEBREW=${NPM_BUILD_HOMEBREW} SUNSHINE_SOURCE_ASSETS_DIR=${NPM_SOURCE_ASSETS_DIR} SUNSHINE_ASSETS_DIR=${NPM_ASSETS_DIR} npm run build\") # cmake-lint: disable=C0301 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vite build fails if we provide a full path to the directories
packaging/macos/sunshine.rb
Outdated
class @PROJECT_NAME@ < Formula | ||
desc "@PROJECT_DESCRIPTION@" | ||
homepage "@PROJECT_HOMEPAGE_URL@" | ||
url "@GITHUB_CLONE_URL@", | ||
tag: "@GITHUB_BRANCH@" | ||
version "@PROJECT_VERSION@" | ||
license all_of: ["GPL-3.0-only"] | ||
head "@GITHUB_CLONE_URL@" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The file is configured just like the Portfile, flatpak, etc.
packaging/macos/sunshine.rb
Outdated
test do | ||
# test that the binary runs at all | ||
output = shell_output("#{bin}/sunshine --version").strip | ||
puts output |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
without this the output is suppressed
2bebc23
to
e855534
Compare
@RealHQ would you mind reviewing this? homebrew repo will be here: https://github.com/LizardByte/homebrew The action that publishes the tap has been tested here: https://github.com/LizardByte/homebrew-release-action/tree/tests New docs for homebrew are here: https://lizardbyte--2222.org.readthedocs.build/projects/sunshine/en/2222/about/setup.html#install And the generated spec file can be seen in the CI here: https://github.com/LizardByte/Sunshine/actions/runs/8195989432/job/22415345732?pr=2222#step:4:61 |
394cd56
to
659e0d7
Compare
The core parts of this PR will remain the same, but... I think I'm going to modify the action to do more of the heavy lifting.
And for the future:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine to me, though I'm by no means an expert in Homebrew packaging.
986a0c8
to
6e733aa
Compare
6e733aa
to
066dfa8
Compare
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.18) | |||
|
|||
# todo - set version to 0.0.0 once confident in automated versioning | |||
project(Sunshine VERSION 0.22.0 | |||
DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight." | |||
DESCRIPTION "Self-hosted game stream host for Moonlight" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was modified to appease the homebrew audit step. The same complaints were presented by the Macports team previously, and I think the Flatpak team.
Why isn't the thomebrew formula up to date with the latest sunshine.rb release ? There is also the homebrew head flag in case that it isn't updated because it is a beta releease.
|
head only works if the build process hasn't changed |
What a bummer. Is there another way to use the |
Latest stable version should work with brew |
Description
This PR will add a homebrew forumla for Sunshine.
Todo:
References:
Screenshot
Issues Fixed or Closed
Type of Change
.github/...
)Checklist
Branch Updates
LizardByte requires that branches be up-to-date before merging. This means that after any PR is merged, this branch
must be updated before it can be merged. You must also
Allow edits from maintainers.