clj-on-windows

For those interested in making clj on Windows https://dev.clojure.org/jira/browse/TDEPS-67. Also see https://github.com/littleli/scoop-clojure.
seancorfield 2019-11-07T03:27:51.014900Z

(I realized I should have posted that here instead but figured the #tools-deps folks might still find it amusing)

seancorfield 2019-11-07T03:30:03.017Z

Also... On WSL, I've started using brew to install/update the Clojure CLI rather than the default Linux CLI script. This works since 1.10.1.483 since it uses the brew "internal" Ruby instead of the system Ruby -- so it works on systems that don't otherwise have Ruby installed.

Filipe Silva 2019-11-07T14:26:03.017300Z

a question please: what's the advantage of using brew on linux?

Filipe Silva 2019-11-07T14:26:19.017500Z

I'm setting up wsl2 atm

Filipe Silva 2019-11-07T14:26:51.017700Z

never used brew on osx because I work on windows usually, but I got the impression it was mostly a mac thing

seancorfield 2019-11-07T17:48:01.017900Z

@filipematossilva Different flavors of Linux have different installation commands and packaging processes. That's partly why the Clojure CLI is just a shell script with no-autoupdate on Linux -- it's a lot of work getting it packaged into all the different distro repos, and they all have different requirements about how to handle dependencies etc. Clojure CLI already has a brew formula so once you've installed brew on your Linux system, via whatever package management commands your flavor of Linux needs, then it

seancorfield 2019-11-07T17:48:36.018100Z

...it's always brew install clojure and brew upgrade clojure everywhere.

seancorfield 2019-11-07T17:49:06.018300Z

(and scoop install clojure / scoop update clojure on Windows, if we end up standardizing on Scoop there)

seancorfield 2019-11-07T17:49:43.018500Z

So, "convenience", both for users and for the maintainers (at least in the case of Clojure).

Filipe Silva 2019-11-07T18:07:06.018700Z

ok I see, that makes sense

Filipe Silva 2019-11-07T18:07:27.018900Z

thank you for the context

Filipe Silva 2019-11-07T18:08:02.019100Z

I don't use scoop or chocolatey or any of those windows ones, but my impression was that chocolatey was the most popular one

Filipe Silva 2019-11-07T18:08:07.019300Z

is clojure only on scoop?

seancorfield 2019-11-07T18:23:08.019500Z

Someone in the community made a Scoop manifest and put up a repo and there's talk of maybe adding that to the build for the CLI -- no decisions made yet.

seancorfield 2019-11-07T18:25:01.019700Z

I've no idea about Chocolatey. If that can be done easily and someone from the community volunteers, it becomes an option. But the Windows support requires community volunteers since it's a niche platform for Clojure -- most support has always been Mac/Linux 😐

Filipe Silva 2019-11-07T19:24:15.019900Z

I'm actually super curious about the windows user numbers

Filipe Silva 2019-11-07T19:24:26.020100Z

is there some hard data about it?

littleli 2019-11-07T19:32:27.020300Z

Clojure has Chocolatey package, but it is version 1.6.0 no more updates.

littleli 2019-11-07T19:34:02.020500Z

Plus, Chocolatey requires elevated access right (UAC) which is something I don't like and some people may not have access to (corporate machines).

littleli 2019-11-07T19:35:14.020700Z

I wanted to build the package for Chocolatey first, but I got frustrated very quickly and I end up building package for Scoop instead. That's the story.

seancorfield 2019-11-07T20:03:25.020900Z

@filipematossilva While I have no hard numbers, I'll offer this anecdotal evidence: Leiningen supported Mac/Linux for a long time before Windows support was added; Boot similarly supported Mac/Linux for quite a while before Windows support was added; Clojure's on CLI and tools.deps.alpha supported Mac/Linux out of the box but are only slowly getting a stable (alpha) Windows installer -- and tooling based on t.d.a. used to rely on (clojure-env) which shelled out to run clojure -Sdescribe which never worked on Windows, and that has only changed "recently" and not all tooling has caught up yet. So Windows has always been a bit of a "second-class citizen" in the Clojure world -- primarily because none of the Clojure/core team use Windows and the vast majority of Clojure developers also did not use Windows (so there was almost no one able to volunteer to build Windows-based versions of any of the Clojure tools).

👍 1
seancorfield 2019-11-07T20:04:30.021100Z

That has changed over the years as Clojure has grown and the raw number of Windows users has increased. Hard to say if the percentage has increased. It may have, as Clojure has attracted more beginners (from other languages that have had solid Windows support for years).

timgilbert 2019-11-07T21:18:51.021300Z

I'm very 👍 on scoop, and try to avoid chocolately now. scoop feels a lot closer to homebrew, choco seems more like apt (which I don't love)

❤️ 1
Filipe Silva 2019-11-07T21:43:23.021500Z

ok, scoop and brew are starting to look more like things I should pay attention to

Filipe Silva 2019-11-07T21:43:27.021700Z

thanks for all the feedback on it!

Filipe Silva 2019-11-07T21:44:08.022100Z

@seancorfield yeah I feel like windows tooling suffers from that effect a lot...