(link: https://scoop.sh/ text: Scoop) is kind of like Homebrew-for-Windows. It fetches packages and installs them in a portable way, puts binaries/shims on your Windows path, etc. There are a few options like this for Windows, but I have found Scoop to be the simplest and most effective for developer-style tools (and that is in fact a focus of Scoop, per their FAQ).
I have created a Scoop manifest for the Clojure CLI tools and it seems to work quite well. The {{clj}} and {{clojure}} tools show up in both {{cmd.exe}} and in PowerShell, and in {{cmd.exe}} they bypass the PowerShell execution warnings.
There are a number of options here if the team would be interested in maintaining a Scoop manifest for the Clojure CLI tools:
- Submit the app manifest to the (link: https://github.com/lukesampson/scoop/tree/master/bucket text: official Scoop repo).
- Add the Scoop app manifest to the clojure/brew-install repo and tell people to {{scoop install RAWGITHUBLINK}} directly from there.
I like the first option, especially since Leiningen is already in Scoop using that option.
I have attached the current version of my Scoop app manifest for the Clojure CLI tools to this ticket. This manifest is also available in a GitHub Gist, so if you install Scoop then you can run the following command to try out the Clojure CLI manifest:
scoop install https://gist.githubusercontent.com/malyn/98973db594061ab57a8222432b8074d9/raw/53554e5301a975596d70d5dea5577b6486def619/clojure.json
I have not done this work yet, but it might be worthwhile to add (link: https://github.com/lukesampson/scoop/wiki/App-Manifest-Autoupdate text: autoupdate support) to the app manifest if you choose to go with the first option. That should be as simple as using the "github" variant of Scoop's "checkver" feature, if the goal is to tie releases of the app manifest to the latest GitHub release.
Thanks for all of the hard work on making these tools run on Windows, I very much appreciate the effort!