mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 02:29:55 +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:
54
packaging/homebrew/tap-README.md
Normal file
54
packaging/homebrew/tap-README.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# homebrew-vnidrop
|
||||
|
||||
Homebrew tap for [VniDrop](https://github.com/sudosylabs/vnidrop) — direct,
|
||||
private device-to-device file and folder transfer for macOS.
|
||||
|
||||
> This repo only holds the Homebrew **cask**. The app itself lives at
|
||||
> [sudosylabs/vnidrop](https://github.com/sudosylabs/vnidrop). The cask here is
|
||||
> updated automatically by VniDrop's release pipeline on each tagged release.
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
brew tap sudosylabs/vnidrop
|
||||
brew install --cask vnidrop
|
||||
```
|
||||
|
||||
Or in one line:
|
||||
|
||||
```sh
|
||||
brew install --cask sudosylabs/vnidrop/vnidrop
|
||||
```
|
||||
|
||||
## Update
|
||||
|
||||
VniDrop updates itself in-app via [Sparkle](https://sparkle-project.org), so you
|
||||
normally don't need to do anything. To update through Homebrew instead:
|
||||
|
||||
```sh
|
||||
brew upgrade --cask vnidrop
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
```sh
|
||||
brew uninstall --cask vnidrop
|
||||
```
|
||||
|
||||
Add `--zap` to also remove VniDrop's application support, cache, and preference
|
||||
files:
|
||||
|
||||
```sh
|
||||
brew uninstall --zap --cask vnidrop
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- macOS 15 (Sequoia) or later, Apple Silicon.
|
||||
|
||||
## What you get
|
||||
|
||||
The cask installs the Developer ID–signed, notarized `VniDrop.app` from the
|
||||
matching [GitHub Release](https://github.com/sudosylabs/vnidrop/releases). App
|
||||
Store users should install from the Mac App Store instead — that build does not
|
||||
include the Sparkle self-updater.
|
||||
Reference in New Issue
Block a user