Installers for all platforms and related fixes #1

Merged
LeoVasanko merged 38 commits from installer into main 2026-09-23 17:41:21 +00:00
3 changed files with 6 additions and 12 deletions
Showing only changes of commit 5f3ba47098 - Show all commits
+1 -1
View File
@@ -9,7 +9,7 @@ Netflix style browsing of your local media archive. Supports keyboard, mouse and
## Getting Started ## Getting Started
- Windows: Download `*-win64-setup.exe` from the releases page and run it (no admin needed; auto-updates included). A `-win64-portable.zip` is also available. - Windows: Download `*-win64-setup.exe` from the releases page and run it (no admin needed; auto-updates included). A `-win64-portable.zip` is also available.
- macOS: Download `*-macos-arm64-setup.pkg` and install (auto-updates included). - macOS: Download `*-macos-setup.pkg` and install (auto-updates included).
- Linux: Download the `.AppImage`, `chmod +x` it, and run. Alternatively install [UV](https://docs.astral.sh/uv/getting-started/installation/) and run directly with `uvx --from mediahive[gui] mediahive`. - Linux: Download the `.AppImage`, `chmod +x` it, and run. Alternatively install [UV](https://docs.astral.sh/uv/getting-started/installation/) and run directly with `uvx --from mediahive[gui] mediahive`.
## What It Does ## What It Does
+4 -10
View File
@@ -64,19 +64,13 @@ _VPK_STAGING = _build_cache_dir() / f"vpk-{_VPK_VERSION}"
def _platform_zip_suffix() -> str: def _platform_zip_suffix() -> str:
machine = platform.machine().lower() # Only Windows keeps an arch marker (win64); macOS is arm64-only and we
arch = { # build just one Linux flavor, so -macos / -linux suffice.
"x86_64": "x64",
"amd64": "x64",
"arm64": "arm64",
"aarch64": "arm64",
}.get(machine, machine or "unknown")
if sys.platform == "win32": if sys.platform == "win32":
return "win64" return "win64"
if sys.platform == "darwin": if sys.platform == "darwin":
return f"macos-{arch}" return "macos"
return f"linux-{arch}" return "linux"
def fetch_ffmpeg() -> Path: def fetch_ffmpeg() -> Path:
+1 -1
View File
@@ -68,7 +68,7 @@ def load_token() -> str:
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Matches MediaHive-1.2.3-win64-portable.zip, MediaHive-1.2.3-win64-setup.exe, # Matches MediaHive-1.2.3-win64-portable.zip, MediaHive-1.2.3-win64-setup.exe,
# MediaHive-1.2.3-macos-arm64-setup.pkg, MediaHive-1.2.3-linux-x64.AppImage, etc. # MediaHive-1.2.3-macos-setup.pkg, MediaHive-1.2.3-linux-setup.AppImage, etc.
# Rejects dev/dirty versions like MediaHive-1.2.3.dev0+gabcd-win64-portable.zip # Rejects dev/dirty versions like MediaHive-1.2.3.dev0+gabcd-win64-portable.zip
_CLEAN_ARTIFACT_RE = re.compile( _CLEAN_ARTIFACT_RE = re.compile(
r"^MediaHive-(\d+(?:\.\d+)*)-([A-Za-z0-9._-]+)\.(?:zip|dmg|exe|pkg|AppImage)$" r"^MediaHive-(\d+(?:\.\d+)*)-([A-Za-z0-9._-]+)\.(?:zip|dmg|exe|pkg|AppImage)$"