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.
carkh 2019-07-30T04:07:09.225400Z

https://github.com/cark/clojure-cli-portable

carkh 2019-07-30T04:07:35.226100Z

now with added cross compilation from linux to windows

carkh 2019-07-30T04:08:58.227Z

it's also possible to generate a proper windows installer from linux, with nsis, not quite sure i'll be able to compile it there, but worth a shot

lread 2019-07-30T13:02:03.229500Z

@carkh, I ask out of ignorance: do developers expect a gui installers these days? Is this a windows developer specific expectation?

carkh 2019-07-30T13:02:41.230Z

well it depends on the dev i guess

carkh 2019-07-30T13:03:08.230300Z

it's idiomatic on windows i'd say

carkh 2019-07-30T13:04:18.232200Z

although i have many years of professional work under my belt, i was surprised with the ps installer, and having to work around execution policy etc

carkh 2019-07-30T13:05:02.233300Z

so i guess for a new dev it's even worst

carkh 2019-07-30T13:05:44.234500Z

though i had little experience with powershell i must admit

lread 2019-07-30T13:06:54.235400Z

when I dipped my toe back into windows, I was happy to see and use scoop and friends - but that’s me bringing my macos and linux biases and habits back to windows.

carkh 2019-07-30T13:07:06.235600Z

i like chocolatey

carkh 2019-07-30T13:07:38.236Z

but that's a very different proposition than our current installer

lread 2019-07-30T13:07:46.236300Z

yep

carkh 2019-07-30T13:07:49.236500Z

no hassle, no thinking, type and go

carkh 2019-07-30T13:08:39.237300Z

probably due to my lack of knowledge of powershell, i was quite bewildered by those offered install paths

carkh 2019-07-30T13:08:54.237700Z

what to chose, will i mess it up ?

carkh 2019-07-30T13:09:10.238Z

i don't have to do this for python

lread 2019-07-30T13:09:59.239Z

same ignorance and response for me, I relied on guidance in wiki

carkh 2019-07-30T13:10:21.239400Z

well it was an occasion for learning =) always fine by me =)

carkh 2019-07-30T13:13:24.242700Z

So i'm making another installer, which may be cross-compiling too... and it calls into powershell for some scripting ...That's a total mess, i have to first edit the registry, then call the script, then restore the registry

carkh 2019-07-30T13:13:39.243100Z

i don't know what they were thinking at microsoft

lread 2019-07-30T13:15:34.244900Z

sounds like maintenance costs might be high for that one.

lread 2019-07-30T13:16:14.246300Z

great that you are digging in and exploring @carkh!

carkh 2019-07-30T13:16:15.246400Z

not really, i had an installer based program i maintained for years and had to maybe edit the installer twice or thrice

carkh 2019-07-30T13:17:58.247600Z

the parameters are harder here, gotta make it cross-compilable, not introduce more compiled binaries etc

lread 2019-07-30T13:18:54.248400Z

lotsa interesting data for @alexmiller to digest!

carkh 2019-07-30T13:19:03.248600Z

=)

carkh 2019-07-30T13:19:50.249200Z

it would be so easy to reach for a little dll and just do that stuff myself instead of relying on powershell

carkh 2019-07-30T13:20:47.249700Z

i already wasn't too keen on it, but now i'm starting to hate it with a passion =)

pez 2019-07-30T16:17:25.252500Z

@carkh: Installing clojure on Windows was quite the task for me. (As was installing Java) Some of it due to my inexperience with Windows and Powershell. But I can totally see why you want to help make it easier.

pez 2019-07-30T16:23:42.257400Z

@alexmiller: When you look at this, please have us poor tool smiths in mind. 😃 I have just spent countless of hours (I don't want to count them) getting Calva to be able to Jack in to clojure-cli, Leiningen and shadow-cljs across both Mac/Linux and Windows. I think I have something that works now, but it will depend on that that clojure command is installed in Powershell and can be invoked with the escaping suggested on the docs page for how to install clojure on Windows. If this changes, I'd love me a heads up so that I can make Calva support both the current and whatever new CLI api.

alexmiller 2019-07-30T16:24:57.258Z

certainly. I spent months asking for direction on this but never getting any feedback, glad to be seeing some now.

1🤘
pez 2019-08-01T07:22:11.312100Z

I started to think about my comment here, don't know why. but thought maybe it came out like ”I spent countless of hours because of something lacking in clojure-cli”. That is not the case. The hours is a result of Calva needing to support quite an array of combinations of operating systems and Clojure project setups, and added to that, Windows' quite messy quoting mechanisms.

alexmiller 2019-07-30T16:25:30.258400Z

not at the top of my list at the moment unfortunately, but hope to cycle through

pez 2019-07-30T16:37:23.259600Z

If there are any Calva users in here, you can help me test that clojure-cli jack-in works in this test build. (It's a quite big change under the hood, so I'd love help with testing Leiningen and shadow-cljs projects as well.) To put it to a test: install the VSIX file in VS Code from the meatballs menu (`...`) in the Extensions pane.

carkh 2019-07-30T23:04:00.260400Z

see that's the trouble with those incompatibilities, some are adapting to powershell, some are not

carkh 2019-07-30T23:04:27.260900Z

and it's a lot of work, for more people

carkh 2019-07-30T23:05:43.261500Z

thanks for the feedback @pez