Scoop bucket for EVE tools

Published 2 minute read

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 manager1 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.


  1. Scoop prefers the term “command-line installer”. ↩︎