Scoop bucket for EVE tools
I got tired of manually updating a bunch of third-party tools I use for EVE Online. I made a set of manifests for Scoop, a package manager[1] I use on Windows: https://github.com/lkhrs/eve-tools
Several of the tools don’t have their own installer, which is a perfect use case for Scoop: it works best for “portable” apps that don’t trigger UAC or need elevated privileges. Scoop can create Start Menu shortcuts, add custom icons, and persist data between app versions.
I was excited to find that I could set up automatic updates for my manifests, by providing a URL and regex pattern to look for version numbers. This was easy to set up for projects that follow semantic versioning and use GitHub Releases, but one project was a pain: EVE IPH uses a “Latest Files” repository where new builds are committed, and to pull the version, I had to craft a regex to match the build number in the patch notes text file. Here’s a snippet from the manifest:
{
"checkver": {
"url": "https://raw.githubusercontent.com/EVEIPH/LatestFiles/master/Patch%20Notes.txt",
"regex": "Build ([0-9]+(.[0-9]+)+)"
}
}
Projects that follow common practices are easier to add. Here’s the manifest for EVE-O Preview:
{
"version": "5.1.2",
"homepage": "https://github.com/EveOPlus/eve-o-preview",
"license": "MIT",
"description": "An EVE client window switcher tool created to aid playing with multiple clients in CCP game EVE Online",
"url": "https://github.com/EveOPlus/eve-o-preview/releases/download/5.1.2/EVE-O.Preview.zip",
"hash": "...",
"persist": "EVE-O Preview.json",
"bin": "EVE-O Preview.exe",
"shortcuts": [["EVE-O Preview.exe", "EVE-O Preview"]],
"checkver": {
"github": "https://github.com/EveOPlus/eve-o-preview"
},
"autoupdate": {
"url": "https://github.com/EveOPlus/eve-o-preview/releases/download/$version/EVE-O.Preview.zip",
"hash": {
"mode": "download"
}
}
}
Looking through it again, the bin
property might be unnecessary, I think that adds the string to the $PATH
environment variable.
The Scoop bucket template comes with GitHub Actions workflows for validation, testing, and automatic updating, which is super cool.
Scoop prefers the term “command-line installer”. ↩︎