clj-on-windows

Adam Hupp 2023-03-20T15:48:57.328019Z

The tools.deps.alpha wiki asked for any clj-on-windows feedback, here's what I've found: • I think the goal should be to ship an executable with the same name as other platforms (e.g clj), runnable in cmd.exe. This way any software that depends on clj at build/run time can use it consistently across MacOS/Linux/Windows. This implies that the current "official" solution of shipping a powershell module isn't the right default, nor is deps.clj shipping as deps.exe. • https://learn.microsoft.com/en-us/windows/package-manager/winget/ is installed by default on windows and is getting close to being a standard package manager. scoop and choclately are nice, but working with winget seems most useful at this point. Which implies an installer (MSI) file. • Speaking as someone new to clojure, the unofficial state of current windows situation makes me a little squeamish (e.g is this MSI safe?). Shipping windows releases from the http://github.com/clojure org would be reassuring.

borkdude 2023-03-20T16:02:27.476679Z

Check out https://github.com/casselc/clj-msi This is slated to be an official replacement for the current Windows installer. Please test it out and provide feedback

Adam Hupp 2023-03-20T16:03:39.678269Z

I should have been clearer, I did use that when working through this. But the wiki still treats the powershell module as the canonical solution and asked for feedback, so I gave it šŸ™‚

Adam Hupp 2023-03-20T16:04:00.534869Z

Glad to hear there's a plan for official replacement.

Adam Hupp 2023-03-20T16:04:17.755709Z

And thanks for deps.clj

borkdude 2023-03-20T16:04:28.419709Z

That's not my call though, but I'm waiting for Cognitect/Alex to pick up here. clj-msi is deps.clj in clj.exe clothing

Alex Miller (Clojure team) 2023-03-20T16:05:32.202609Z

I’m happy to move forward, not sure what else needs to be done

borkdude 2023-03-20T16:09:33.950249Z

> Shipping windows releases from the http://github.com/clojure org would be reassuring. • Maybe a cron job could download the latest clj-msi to a place that Cognitect owns and host the binary from there • Maybe someone could try and get that binary into winget (never used it myself, perhaps @chuck.cassel, @ales.najmann could help looking into this) • Maybe a signed certificate is necessary, but we can wait for that to become more urgent

šŸ’Æ 1
borkdude 2023-03-20T16:09:57.787159Z

And • Official docs pointing to the recommended solution

šŸ’Æ 2
littleli 2023-03-20T16:12:31.478679Z

if clj-msi is adopted it would also enable Clojure to be distributable through MSFT's official winget initiative as they only currently support installers.

littleli 2023-03-20T16:15:42.318059Z

FYI Scoop installation process is currently using only deps.exe binary and I no longer extract clj-msi, because it does more things that are not needed with Scoop installer.

Adam Hupp 2023-03-20T20:35:14.780569Z

> Maybe a cron job could download the latest clj-msi to a place that Cognitect owns and host the binary from there Ideally, the whole thing would be built from a clojure-owned repo: it avoids questions about integrity of the build, and if http://clojure.org is documenting it they would really need to be able to update/fix it as well. So concretely that would mean upstreaming clj-msi and deps.clj to the clojure organization. Note that I'm just a Windows user who wants to fix a bug in logseq, and don't actually use clojure (yet!)

borkdude 2023-03-20T20:37:52.649339Z

@adam040 Appreciate your input. If you want to get to your issue, personally I'd recommend installing clj-deps from scoop (for now, until things get more official)

borkdude 2023-03-20T20:38:22.851169Z

Either that, or use WSL2 :)