How do I make leiningen fetch dependencies from specific file paths?

I want to build babashka for Gentoo Linux. First, I have to build GraalVM. Second, I need to build a leiningen project with dependencies supplied by Gentoo Linux instead of leiningen. I’m going to worry about GraalVM later.

How can I make leiningen fetch dependencies from specific file paths?

Do you want to get these packages officially into Gentoo, or do you only need them for yourself? If you only need them for yourself then I would forget about Gentoo specific packaging, and just install everything under your own user. If you need it on multiple machines then automate it e.g. with Ansible.

If you really want to go the distribution-specific route then look into how Gentoo handles Java libraries. I know Debian has its own Maven repository on the file system where officially packages Java packages end up. IIRC it then packages a patched leiningen to make use of that.

It’s all far from trivial, since each dependency needs to be packaged first. Check out the episode of the REPL with Elana Hashman if you’re curious about the process.

https://www.therepl.net/episodes/8/

I realized I’d have to avoid leiningen and implement clojure packaging myself if I want to package leiningen projects for Gentoo Linux.

But, babashka wants to become an uberjar which is not compatible with packaging each dependency separately.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.