clj-on-windows

2022-09-30T16:33:27.915009Z

From the dev team's persepective is there any interest in publishing Clojure on windows with an msi installer?

Alex Miller (Clojure team) 2022-09-30T16:35:13.173499Z

I'm interested in things that make sense to developers on windows

borkdude 2022-09-30T16:39:09.999789Z

What would be the benefit over installing with scoop, chocolatey, etc?

thheller 2022-09-30T16:41:20.155719Z

I'd like an msi installer

thheller 2022-09-30T16:41:39.636629Z

I have neither scoop, nor chocolatey, nor any of the others installed

borkdude 2022-09-30T16:42:24.499309Z

and what would that MSI installer install? The same powershell scripts as it does now? What would then be the benefit over the current powershell install?

borkdude 2022-09-30T16:43:17.098999Z

also, how would an MSI installer behave in CI environments? (yes, Windows CI is a thing)

thheller 2022-09-30T16:44:56.110079Z

I like clicking an executable over copy&pasting some powershell commands. I'm lazy like that

thheller 2022-09-30T16:45:10.094369Z

doesn't mean it should be the only option 😛

Alex Miller (Clojure team) 2022-09-30T16:46:29.117759Z

given how many developers there are using windows, I am continually mystified by how hard it is to learn how windows-based devs normally do stuff or expect to install a programming language

borkdude 2022-09-30T16:47:16.095249Z

I think there might not be one category of Windows programmers. When I'm using Windows (admittedly for dev tooling dev) I far prefer scoop over anything else

Alex Miller (Clojure team) 2022-09-30T16:47:40.262019Z

well, clearly there's not as people have suggested about 10 different things and none of them seem to have consensus

😆 1
borkdude 2022-09-30T16:47:41.516829Z

Re-downloading an .exe to update Node.js, why would I, if I can just type scoop update

borkdude 2022-09-30T16:48:10.419169Z

(scoop is very similar to brew)

2022-09-30T16:54:53.438579Z

An msi installer would be familiar to the students that I work with, I think it would be a boon to the ecosystem

2022-09-30T16:56:10.961109Z

The only prereq for the Clojure class that I teach is a python class, and Python is installed with an installer wizard

2022-09-30T16:56:52.013819Z

Some of the students have complained bitterly of confusion over how to install Clojure

2022-09-30T16:57:31.585269Z

For my part, I'm able to help them through it but I'm no powershell guru myself

Alex Miller (Clojure team) 2022-09-30T16:59:46.612509Z

does that just move the pain to the next step? or are they good after that?

2022-09-30T18:03:47.620659Z

They are good after that

respatialized 2022-09-30T17:02:03.959159Z

https://learn.microsoft.com/en-us/windows/package-manager/winget/ An MSI installer might be nice, but more direct integration with the new native package manager in Windows 10/11 would be very useful, especially for more compliance heavy shops - the fact that there's now something officially released by Microsoft (as opposed to third party stuff like scoop or chocolatey) may make Clojure easier to try out in those settings.

2022-09-30T17:03:31.513589Z

ooh shiney 😁

Alex Miller (Clojure team) 2022-09-30T17:16:31.104879Z

if someone wants to figure out how to package things so they can be installed via winget, I'm happy to figure out how to make that and publish it as part of the build

seancorfield 2022-09-30T17:56:24.748679Z

If only Microsoft would use a standard Linux-y shell like everyone else, eh? 🙂

2022-09-30T18:05:06.395199Z

I'll read up on winget, I'm invested so I'll spend some time and see how it works

👍🏻 1
seancorfield 2022-09-30T18:26:22.751339Z

"Windows Package Manager currently supports installers in the following formats: MSIX, MSI, and EXE"

seancorfield 2022-09-30T18:27:59.074769Z

Although when you drill into the manifest description, it says "supported installer types (exe, msi, msix, inno, wix, nullsoft, appx)" but I'm not sure that's much better?

lread 2022-09-30T20:48:06.505299Z

Would the Clojure core team consider blessing (or even adopting) deps.exe (from https://github.com/borkdude/deps.clj) as an alternative to the current alpha Powershell module solution? It is what I use to escape many escaping issues for Windows native testing on continuous integration servers. (I use that or bb clojure which is equivalent).

Alex Miller (Clojure team) 2022-09-30T21:06:15.423729Z

I don't know if Rich would want to do that given the set of additional things it depends on (Graal/babashka). That's not a no, just have never had that conversation.

Alex Miller (Clojure team) 2022-09-30T21:14:15.970919Z

so I guess the answer is yes we would consider it :)

lread 2022-09-30T21:15:54.482719Z

Yeah, that certainly is a thing to consider. I did mention bb, but deps.clj’s deps.exe depends only on Graal. I suppose if Graal went poof we could just rewrite deps.clj in C or Rust or whatever. Or maybe… jank! simple_smile Would it be ok to add a helpful note for alternatives to the https://github.com/clojure/tools.deps.alpha/wiki/clj-on-Windows?

lread 2022-09-30T21:16:28.313249Z

Or would that just confuse things for you folks more?

Alex Miller (Clojure team) 2022-09-30T21:32:35.886119Z

perfectly welcome there. if you need rights to edit, let me know - recently that page was defaced with spam urls so I had to restrict the editing

lread 2022-09-30T21:33:09.962349Z

cool, thanks, will put on my todo list

seancorfield 2022-09-30T21:36:53.173239Z

Even I no longer have edit access on that page @alexmiller -- I was going to split Questions into Questions and Alternatives (which already mentions deps.clj by the way) and add a note at the top for readers to look at Alternatives for community-supported options.

👍 1
Alex Miller (Clojure team) 2022-09-30T21:38:38.354319Z

looks like I do not have the right permissions atm to change that in this repo so it's going to have to wait

seancorfield 2022-09-30T21:44:04.877339Z

NP. The Tools page needs some serious love, reorganizing sections there so more widely-needed stuff is nearer the top and more esoteric stuff further down -- and alpha-order items.

Alex Miller (Clojure team) 2022-09-30T21:45:07.759499Z

the wiki permission options are pretty crappy, may need to look at moving this somewhere else

👍🏻 1