mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 10:29:58 +02:00
feat(apple): add direct-download macOS channel (notarized DMG + Sparkle + Homebrew)
Add a second macOS shipping channel alongside the App Store build: - New VniDropDirect target (Release-Direct config) sharing VniDrop's sources via an AppBase target template; links Sparkle behind the DIRECT_DISTRIBUTION flag so the App Store binary never bundles a self-updater. arm64-only (core is arm64). - Sparkle updater (SparkleUpdater.swift) + "Check for Updates" menu, compiled only under DIRECT_DISTRIBUTION; Info.plist SUFeedURL points at the GitHub Release /latest/download/appcast.xml, non-sandboxed entitlements for Developer ID. - build-dmg.sh (archive → Developer ID export → DMG → sign → notarize → staple), generate-appcast.sh, and ExportOptions-DeveloperID.plist. - apple-release.yml: on tag v*.*.*, build/notarize the DMG, publish the GitHub Release with appcast, and push the Homebrew cask to sudosylabs/homebrew-vnidrop. apple.yml gains a PR compile-check of the direct target. - CFBundleVersion is stamped at build time as a UTC YYMMDD.HHMM timestamp for both channels, replacing the hand-maintained build number. - Docs (RELEASE-MACOS.md, README), cask template + tap README, localized updates_check string, Makefile targets, gitignore for dist/ artifacts.
This commit is contained in:
36
packaging/homebrew/vnidrop.rb
Normal file
36
packaging/homebrew/vnidrop.rb
Normal file
@@ -0,0 +1,36 @@
|
||||
# Homebrew cask for the direct-download (notarized .dmg) macOS build.
|
||||
#
|
||||
# This file is the source template. The Apple release workflow substitutes the
|
||||
# version + sha256 for each release and pushes the result to the tap repo
|
||||
# (sudosylabs/homebrew-vnidrop, path Casks/vnidrop.rb). Users then install with:
|
||||
# brew install --cask sudosylabs/vnidrop/vnidrop
|
||||
#
|
||||
# `auto_updates true` tells Homebrew that the app updates itself via Sparkle, so
|
||||
# `brew upgrade` won't fight the in-app updater.
|
||||
cask "vnidrop" do
|
||||
version "0.0.0"
|
||||
sha256 "0000000000000000000000000000000000000000000000000000000000000000"
|
||||
|
||||
url "https://github.com/sudosylabs/vnidrop/releases/download/v#{version}/VniDrop-#{version}.dmg",
|
||||
verified: "github.com/sudosylabs/vnidrop/"
|
||||
name "VniDrop"
|
||||
desc "Direct device-to-device file and folder transfer over the network"
|
||||
homepage "https://github.com/sudosylabs/vnidrop"
|
||||
|
||||
livecheck do
|
||||
url :url
|
||||
strategy :github_latest
|
||||
end
|
||||
|
||||
auto_updates true
|
||||
depends_on arch: :arm64
|
||||
depends_on macos: ">= :sequoia"
|
||||
|
||||
app "VniDrop.app"
|
||||
|
||||
zap trash: [
|
||||
"~/Library/Application Support/com.vnidrop.app",
|
||||
"~/Library/Caches/com.vnidrop.app",
|
||||
"~/Library/Preferences/com.vnidrop.app.plist",
|
||||
]
|
||||
end
|
||||
Reference in New Issue
Block a user