{"id":51840591,"url":"https://github.com/nexuls/legacy-launcher-git","last_synced_at":"2026-07-23T04:32:28.811Z","repository":{"id":372365379,"uuid":"1306889751","full_name":"nexuls/legacy-launcher-git","owner":"nexuls","description":"An unofficial Arch Linux package for installing Legacy Launcher as a native application.","archived":false,"fork":false,"pushed_at":"2026-07-20T19:45:54.000Z","size":9865,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-07-20T20:18:31.157Z","etag":null,"topics":["arch-user-repository","aur","legacy-launcher","package-installer","pkgbuild"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nexuls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-20T18:10:58.000Z","updated_at":"2026-07-20T19:46:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nexuls/legacy-launcher-git","commit_stats":null,"previous_names":["nexuls/legacy-launcher-git"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/nexuls/legacy-launcher-git","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Flegacy-launcher-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Flegacy-launcher-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Flegacy-launcher-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Flegacy-launcher-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nexuls","download_url":"https://codeload.github.com/nexuls/legacy-launcher-git/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexuls%2Flegacy-launcher-git/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35789240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-23T02:00:06.683Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-user-repository","aur","legacy-launcher","package-installer","pkgbuild"],"created_at":"2026-07-23T04:32:28.646Z","updated_at":"2026-07-23T04:32:28.802Z","avatar_url":"https://github.com/nexuls.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"legacy-launcher.svg\" alt=\"Legacy Launcher\" width=\"96\" height=\"96\"\u003e\n\n# Legacy Launcher PKGBUILD\n\n**An unofficial Arch Linux package for installing [Legacy Launcher](https://llaun.ch/) as a native application.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Arch Linux](https://img.shields.io/badge/Arch_Linux-1793D1?logo=arch-linux\u0026logoColor=white)](https://archlinux.org/)\n[![Java 17+](https://img.shields.io/badge/Java-17%2B-orange.svg)](https://openjdk.org/)\n\n\u003c/div\u003e\n\n---\n\nThis package downloads the official Legacy Launcher JAR from upstream at build time, verifies it against a pinned checksum, installs it under `/opt`, creates a launcher script, installs a desktop entry, and registers application icons so it integrates cleanly with your desktop environment.\n\n\u003e [!NOTE]\n\u003e This repository is **not affiliated with the Legacy Launcher project**. It simply packages the official launcher for Arch Linux. All rights to the launcher itself belong to its original authors.\n\n## Table of Contents\n\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [What Gets Installed](#what-gets-installed)\n- [Usage](#usage)\n- [Updating Legacy Launcher](#updating-legacy-launcher)\n- [Uninstall](#uninstall)\n- [Repository Structure](#repository-structure)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n- ✅ Native Arch package built with `makepkg`\n- 🔒 JAR fetched from upstream at build time and verified against a pinned SHA-256\n- 🖥️ Desktop menu integration via a `.desktop` entry\n- 🎨 Scalable SVG and high-resolution PNG application icons\n- ⌨️ Launcher available as the `legacy-launcher` command\n- 📁 Installs to standard Linux locations (`/opt`, `/usr/bin`, `/usr/share`)\n- 🧹 Clean removal through `pacman`\n\n## Requirements\n\n| Requirement | Notes |\n| --- | --- |\n| Arch Linux (or an Arch-based distro) | e.g. Manjaro, EndeavourOS |\n| `base-devel` | Provides `makepkg` and build tooling |\n| Java 17 or newer | Runtime dependency (`java-runtime\u003e=17`) |\n\nInstall the required packages:\n\n```bash\nsudo pacman -S --needed base-devel jre17-openjdk\n```\n\n## Installation\n\nClone the repository and build the package:\n\n```bash\ngit clone \u003crepository-url\u003e\ncd legacy-launcher\nmakepkg -si\n```\n\n`makepkg -si` builds the package and installs it (along with any missing dependencies) via `pacman`. When it finishes, Legacy Launcher is available in your application menu and on the command line.\n\n\u003e [!TIP]\n\u003e To build the package **without** installing it, run `makepkg` on its own. The resulting `legacy-launcher-*.pkg.tar.zst` can then be installed later with `sudo pacman -U \u003cfile\u003e`.\n\n## What Gets Installed\n\n| Path | Description |\n| --- | --- |\n| `/opt/legacy-launcher/LegacyLauncher.jar` | The launcher application |\n| `/usr/bin/legacy-launcher` | Wrapper script (`java -jar …`) |\n| `/usr/share/applications/legacy-launcher.desktop` | Desktop menu entry |\n| `/usr/share/icons/hicolor/scalable/apps/legacy-launcher.svg` | Scalable icon |\n| `/usr/share/icons/hicolor/256x256/apps/legacy-launcher.png` | Raster icon (tray/dock size) |\n| `/usr/share/icons/hicolor/512x512/apps/legacy-launcher.png` | Raster icon |\n\n## Usage\n\nOnce installed, launch Legacy Launcher from:\n\n- **Your application launcher** — search for *Legacy Launcher*\n- **The command line:**\n\n  ```bash\n  legacy-launcher\n  ```\n\nAny arguments you pass are forwarded to the underlying JAR:\n\n```bash\nlegacy-launcher --help\n```\n\n## Updating Legacy Launcher\n\nThe `PKGBUILD` fetches the JAR from `https://llaun.ch/jar` — a rolling \"latest\" endpoint with\nno version in the path — and pins its SHA-256. When upstream publishes a new build, that\nchecksum stops matching and `makepkg` fails at the validation step:\n\n```\n==\u003e Validating source files with sha256sums...\n    LegacyLauncher.jar ... FAILED\n```\n\n**This is the intended signal that an update is available, not a bug.** To take the update:\n\n```bash\nupdpkgsums     # refresh sha256sums= from upstream\nmakepkg -si    # rebuild and install\n```\n\nThen bump `pkgver` to match the new release. The authoritative version is inside the JAR\nitself, not on the website:\n\n```bash\nunzip -p LegacyLauncher.jar META-INF/bootstrap-meta.json\n# {\"version\":\"1.40.3+legacy\",\"shortBrand\":\"legacy\",\"brand\":\"Stable\"}\n```\n\n\u003e [!WARNING]\n\u003e Do not take the version from upstream's `.deb` control file — it still reports `1.0` from a\n\u003e 2024 build and is stale.\n\n\u003e [!CAUTION]\n\u003e Never commit `sha256sums=('SKIP')` for the JAR. The download endpoint sits behind\n\u003e Cloudflare, and every other artifact path on that host answers unauthenticated requests\n\u003e with an HTTP 403 challenge page. Without the pin, `makepkg` would happily save that HTML\n\u003e as `LegacyLauncher.jar` and report a successful build. The pin turns that into a loud\n\u003e checksum failure instead.\n\n### What the checksum does and does not cover\n\nThe file this package installs is a **bootstrap**, not the launcher itself\n(`Start-Class: net.legacylauncher.bootstrap.BootstrapStarter`). On first run it downloads the\nactual launcher into your home directory and self-updates there, outside of `pacman`.\n\nSo the pinned checksum verifies *the downloader* that `pacman` tracks; the code that arrives\nafterwards is not covered by it. This is inherent to how upstream ships the launcher and no\nchange to this `PKGBUILD` can alter it. Worth knowing rather than assuming otherwise.\n\nUpstream also publishes no GPG signature, no detached `.sig`/`.asc`, and no checksums file,\nand the JAR is not JAR-signed — so the SHA-256 pin is the only integrity mechanism available\nhere.\n\n## Uninstall\n\nRemove the package with `pacman`:\n\n```bash\nsudo pacman -R legacy-launcher\n```\n\nThis removes all files installed by the package. Your personal Legacy Launcher data and game files are left untouched — including the launcher the bootstrap downloaded into your home directory, which `pacman` never tracked (see [above](#what-the-checksum-does-and-does-not-cover)). Remove that manually if you want a full cleanup.\n\n## Repository Structure\n\n```\n.\n├── PKGBUILD                  # Build recipe for makepkg\n├── legacy-launcher.svg       # Scalable application icon\n├── legacy-launcher_256.png   # 256×256 raster icon\n├── legacy-launcher_512.png   # 512×512 raster icon\n├── LICENSE                   # MIT license for packaging files\n└── README.md                 # This file\n```\n\n`LegacyLauncher.jar` is **not** stored in this repository. It is downloaded into the build\ndirectory by `makepkg` and is listed in `.gitignore`.\n\n## Troubleshooting\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eThe \u003ccode\u003elegacy-launcher\u003c/code\u003e command isn't found after install\u003c/strong\u003e\u003c/summary\u003e\n\nMake sure `/usr/bin` is in your `PATH` (it is by default). Try opening a new shell, or run `hash -r` to refresh your shell's command cache.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eNothing happens / a Java error appears when launching\u003c/strong\u003e\u003c/summary\u003e\n\nVerify a compatible Java runtime is installed and active:\n\n```bash\njava -version          # should report 17 or newer\narchlinux-java status  # list and switch between installed JREs\n```\n\nIf needed, set the default: `sudo archlinux-java set java-17-openjdk`.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eThe icon or menu entry doesn't appear\u003c/strong\u003e\u003c/summary\u003e\n\nRefresh the desktop caches, then log out and back in:\n\n```bash\nsudo update-desktop-database\nsudo gtk-update-icon-cache /usr/share/icons/hicolor\n```\n\u003c/details\u003e\n\n## Contributing\n\nIssues and pull requests are welcome — for example, keeping the pinned checksum and `pkgver` current, improving the desktop integration, or refining the `PKGBUILD`. Please keep changes focused on the packaging; anything relating to the launcher itself should be reported to the [upstream project](https://llaun.ch/).\n\n## License\n\nThe packaging files in this repository (PKGBUILD, wrapper script, desktop entry, README, and related metadata) are provided under the [MIT License](LICENSE).\n\nThe **Legacy Launcher** application, its name, logo, and JAR file are the property of their respective authors and are distributed under their own license and terms. See [llaun.ch](https://llaun.ch/) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexuls%2Flegacy-launcher-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnexuls%2Flegacy-launcher-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexuls%2Flegacy-launcher-git/lists"}