This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-11-04
Channels
- # announcements (7)
- # aws (5)
- # babashka (72)
- # beginners (43)
- # calva (12)
- # cider (9)
- # clara (3)
- # clj-kondo (12)
- # cljdoc (32)
- # cljs-dev (10)
- # cljsrn (1)
- # clojure (78)
- # clojure-dev (50)
- # clojure-europe (17)
- # clojure-gamedev (8)
- # clojure-nl (1)
- # clojure-spec (30)
- # clojure-uk (3)
- # clojurescript (52)
- # core-async (1)
- # cursive (5)
- # datomic (8)
- # emacs (58)
- # events (2)
- # fulcro (5)
- # graalvm (7)
- # holy-lambda (37)
- # honeysql (9)
- # jobs (5)
- # leiningen (3)
- # lsp (7)
- # lumo (2)
- # malli (3)
- # meander (13)
- # membrane-term (64)
- # missionary (19)
- # music (3)
- # nextjournal (8)
- # off-topic (29)
- # pathom (16)
- # polylith (14)
- # portal (16)
- # re-frame (2)
- # reagent (5)
- # sci (14)
- # shadow-cljs (20)
- # spacemacs (6)
- # sql (1)
- # tools-deps (58)
- # vim (14)
@seancorfield Hello. I'm trying to install clj-new on Linux (CentOS) and get the following error:
➜ ~ clojure -Ttools install com.github.seancorfield/clj-new '{:git/tag "v1.2.362"}' :as clj-new
Checking out: at 3523d8be5ccef13961e49d2abc55a2ed4f18fc69
Error building classpath. Unable to checkout 39663a017d45d05a704113c9c147c7886e66d345
git: 'worktree' is not a git command. See 'git --help'.
@U097654L8 What is your version of Git? worktree
is a command introduced in Git 2.5+
Oh, thanks. I think this is the error cause. ➜ ~ git --version git version 1.8.3.1
yep, clojure cli tooling shells out to the system git for cloning repos, hence dependent on that version
yeah, but CentOS 7 from cloud provider is my constraint.
We require at least git 2.5
@U097654L8 As a suggestion: you could use Nix to get yourself more recent tooling or alternatively, use a more modern distro inside of a Docker container.
Thanks.
Did not understand how to fix it?
➜ ~ clj --version Clojure CLI version 1.10.3.998
we've been toying with this lib (https://github.com/exoscale/deps-modules) at work, attempting to replace setups involving lein sub
in some of our repos, maybe that's of interest here
for the rest tools.deps (and some tools/extensions) seems to do pretty much everything we need I think now
@mpenet We've done a similar thing with one base/deps.edn
which has all the pinned versions and then merging that into each subrepo deps.template.edn
just using clojure.edn
but using rewrite-clj surely works too
fwiw, I have an "abstraction" on top of rewrite-clj which lets you manipulate EDN using normal functions like assoc
etc: https://github.com/borkdude/rewrite-edn
I saw about rewrite-edn (after the fact), but we're using like 10 lines of rewrite-clj, good enough this way
also this deps.edn logic is all compatible with bb as well, so we execute it any time we touch something, since the startup time is neglectible
the move from lein -> tools.deps is not always welcomed (it's a lot of change), so we want to limit friction
same reason why we went with write-in-place vs injecting deps.edn files or alias merging
fwiw here's "our" version: https://gist.github.com/borkdude/58f099b2694d206e6eec18daedc5077b
then you can just do a pedantic style check in CI that fails the run if stuff is not in sync
we often have comments indicating typically "this is here because some conflict there bla bla"
I agree that the rewrite-clj / rewrite-edn approach is nicer. I went with this in neil
as well: neil add dep foo/bar
adds it to your deps.edn
@borkdude do I get it right that neil
is more or less your take on what I tried to do with joker
+ klein
?
it's a little bit different. neil
just adds things to an existing Clojure project, but doesn't "wrap" or hide any features or tries to make things "easy", it's not a project / task runner. bb already has a task runner which fulfills that part:
https://book.babashka.org/#tasks
All neil does right now is add common "facets" to existing projects, like a test runner, tools.build, etc.
but as @mpenet points out we're taking the slow road to introduce changes to our tooling, right now we're still in lein
land
I am trying
$ clj -J-Djava.library.path=/usr/share/
Clojure 1.10.3
user=> (require '[zeromq.zmq])
Execution error (UnsatisfiedLinkError) at java.lang.ClassLoader/loadLibrary (ClassLoader.java:2670).
no jzmq in java.library.path: [/usr/share/]
and dpkg returns
$ dpkg -L libzmq-java
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libzmq-java
/usr/share/doc/libzmq-java/AUTHORS
/usr/share/doc/libzmq-java/README.md
/usr/share/doc/libzmq-java/copyright
/usr/share/java
/usr/share/java/zmq-3.1.0.jar
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libzmq-java
/usr/share/maven-repo
/usr/share/maven-repo/org
/usr/share/maven-repo/org/zeromq
/usr/share/maven-repo/org/zeromq/jzmq
/usr/share/maven-repo/org/zeromq/jzmq/3.1.0
/usr/share/maven-repo/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.pom
/usr/share/maven-repo/org/zeromq/jzmq/debian
/usr/share/maven-repo/org/zeromq/jzmq/debian/jzmq-debian.pom
/usr/share/doc/libzmq-java/changelog.Debian.gz
/usr/share/java/jzmq-3.1.0.jar
/usr/share/java/jzmq.jar
/usr/share/java/zmq.jar
/usr/share/maven-repo/org/zeromq/jzmq/3.1.0/jzmq-3.1.0.jar
/usr/share/maven-repo/org/zeromq/jzmq/debian/jzmq-debian.jar
I have a coworker who uses a PAT to authenticate with github over https. Looking at https://clojure.atlassian.net/browse/TDEPS-33 it seems like deps.edn would support this type of authentication now. Is that correct? Is there anything special that would need to be done to allow using git coordinates for private repos with https/PAT auth?
Clojure CLI shells out to git. If it works that way, it probably works with the Clojure CLI.
I'll pass along that they probably need to update to the latest clojure cli as well. If it doesn't, switching to ssh is not an issue. Thanks for the info
Clojure CLI prerelease 1.10.3.1020 is now available:
• Updates to latest tools.deps.alpha (which updates transitive dep versions)
• Modification to prior manifest changes to consider classpath stale if manifest file is missing (local or git dir was deleted)
• Includes alpha version of a new clj -X:deps list
- similar to tree but list only the libs on the final classpath (in sorted order), takes all the modifiers from create-basis