Fork me on GitHub
#clj-on-windows
<
2022-09-30
>
Daniel Craig16:09:27

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

Alex Miller (Clojure team)16:09:13

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

borkdude16:09:09

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

thheller16:09:20

I'd like an msi installer

thheller16:09:39

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

borkdude16:09:24

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?

borkdude16:09:17

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

thheller16:09:56

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

thheller16:09:10

doesn't mean it should be the only option 😛

Alex Miller (Clojure team)16:09:29

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

borkdude16:09:16

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)16:09:40

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

😆 1
borkdude16:09:41

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

borkdude16:09:10

(scoop is very similar to brew)

Daniel Craig16:09:53

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

Daniel Craig16:09:10

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

Daniel Craig16:09:52

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

Daniel Craig16:09:31

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

Alex Miller (Clojure team)16:09:46

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

Daniel Craig18:09:47

They are good after that

respatialized17:09:03

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.

Daniel Craig17:09:31

ooh shiney 😁

Alex Miller (Clojure team)17:09:31

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

seancorfield17:09:24

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

Daniel Craig18:09:06

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

1
seancorfield18:09:22

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

seancorfield18:09:59

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?

lread20:09:06

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)21:09:15

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)21:09:15

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

lread21:09:54

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?

lread21:09:28

Or would that just confuse things for you folks more?

Alex Miller (Clojure team)21:09:35

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

lread21:09:09

cool, thanks, will put on my todo list

seancorfield21:09:53

Even I no longer have edit access on that page @U064X3EF3 -- 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)21:09:38

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

seancorfield21:09:04

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)21:09:07

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

1