Archive v0.1.0 — 사진/영상 라이브러리 관리 프로그램
Tauri v2 + SolidJS + SQLite + ffmpeg 사이드카로 구현한 크로스플랫폼 사진·영상 관리 앱. 로컬/NAS(SFTP·WebDAV·FTP) 소스, 가상 그리드, 인앱 재생, 태그/이동/삭제/undo, 중복 탐지, 포터블 배포. - archive-db: SQLite 스키마·마이그레이션·단일 writer 스레드 + FTS5 trigram - archive-vfs: VFS 4백엔드(local/sftp/ftp/webdav) + 자격증명(키체인/볼트) - archive-indexer: 스캔·해시·썸네일·중복탐지·태그·파일작업·유지보수 - archive-media: localhost HTTP 미디어 서버(Range) + ffmpeg 스트림 잡 - 프론트: 3-pane UI, justified 가상 그리드, 라이트박스, 중복 검토 패널 Rust 테스트 49개 통과. CI: win x64/arm64 포터블 zip + macOS universal dmg. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# macOS용 ffmpeg/ffprobe 사이드카 — arm64 + x64를 받아 lipo로 universal 생성.
|
||||
# CI(macos-14)에서 실행. 실패 시 개별 아키텍처 바이너리라도 배치한다.
|
||||
# 참고: Martin Riedl 빌드(ffmpeg.martin-riedl.de) — 서명·공증됨.
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
$root = Split-Path $PSScriptRoot -Parent
|
||||
$binDir = Join-Path $root "src-tauri/binaries"
|
||||
New-Item -ItemType Directory -Force $binDir | Out-Null
|
||||
|
||||
# Riedl 최신 릴리스 API (arm64/amd64 각각 ffmpeg/ffprobe zip)
|
||||
$api = "https://ffmpeg.martin-riedl.de/api/v1/latest"
|
||||
$release = Invoke-RestMethod $api
|
||||
|
||||
function Get-Tool($arch, $tool) {
|
||||
$tmp = Join-Path ([System.IO.Path]::GetTempPath()) "ff-$arch-$tool"
|
||||
New-Item -ItemType Directory -Force $tmp | Out-Null
|
||||
$entry = $release.$tool.$arch
|
||||
if (-not $entry) { throw "$tool/$arch 다운로드 정보 없음" }
|
||||
$zip = Join-Path $tmp "$tool.zip"
|
||||
Invoke-WebRequest $entry.url -OutFile $zip
|
||||
Expand-Archive $zip -DestinationPath $tmp -Force
|
||||
$bin = Get-ChildItem $tmp -Recurse -Filter $tool | Select-Object -First 1
|
||||
return $bin.FullName
|
||||
}
|
||||
|
||||
foreach ($tool in @("ffmpeg", "ffprobe")) {
|
||||
$arm = Get-Tool "arm64" $tool
|
||||
$x64 = Get-Tool "amd64" $tool
|
||||
$out = Join-Path $binDir "$tool-universal-apple-darwin"
|
||||
# lipo로 universal 결합
|
||||
& lipo -create $arm $x64 -output $out
|
||||
& chmod +x $out
|
||||
Write-Host "[fetch-ffmpeg-macos] $out (universal)"
|
||||
}
|
||||
Reference in New Issue
Block a user