Bug#889794: elpa-cider: should inject dependencies from Debian packages
Sean Whitton
spwhitton at spwhitton.name
Wed Feb 7 00:15:34 UTC 2018
Package: elpa-cider
Version: 0.16.0+dfsg-1
Severity: wishlist
Control: block -1 by 885409
elpa-cider's README.Debian says:
The usual way to start a CIDER REPL is `M-x cider-jack-in`. This
requires CIDER's nREPL middleware be available in your project.
CIDER can automatically download and inject this middleware during
`M-x cider-jack-in`, but CIDER in Debian has this feature disabled
by default to avoid surprise downloads from the Internet.
You can either toggle the Emacs variable
cider-inject-dependencies-at-jack-in to t in your ~/.emacs, which
will enable transparent download and injection of CIDER's
middleware, or add the middleware as dependencies of your project.
See the "CIDER's nREPL middleware" subsection of the "Installation"
section of CIDER's manual.
Ideally, we would patch CIDER such that it would inject middleware which
had been installed by means of Debian packages. Then elpa-cider could
depend on those packages, and since CIDER would never try to download
its middleware from the Internet, we could set
cider-inject-dependencies-at-jack-in back to t.
Notes on my attempts to make this happen:
When using lein, CIDER users lein's `update-in` subcommand to inject its
dependencies. So we should be able to use `update-in` to add a local
repository, like this:
lein update-in : :repositories conj '["debian" \
"file:/usr/share/maven-repo"]' -- update-in :dependencies conj \
'[org.clojure/tools.nrepl "0.2.12" :exclusions \
[org.clojure/clojure]]' -- update-in :plugins conj \
'[cider/cider-nrepl "0.15.1"]' -- repl :headless :host ::
Alternatively, it might work to use a CIDER profile which sets the
mirror or the repositories:
{:mirrors {#".+" {:url "file:/usr/share/maven-repo"}}}
or
{:repositories [["debian" "file:/usr/share/maven-repo"]]}
Note that if we go the profiles approach, we would need to add support
for /etc/leiningen/profiles.d; currently only ~/.lein/profiles.d/,
~/.lein/profiles.clj and /etc/leiningen/profiles.clj are supported.
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (900, 'testing'), (100, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages elpa-cider depends on:
pn elpa-clojure-mode <none>
ii elpa-pkg-info 0.6-2
pn elpa-queue <none>
ii elpa-seq 2.19-1
pn elpa-spinner <none>
ii emacsen-common 2.0.8
pn leiningen | gradle <none>
Versions of packages elpa-cider recommends:
ii emacs 47.0
Versions of packages elpa-cider suggests:
pn cider-doc <none>
--
Sean Whitton
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-clojure-maintainers/attachments/20180206/e71dd6e7/attachment.sig>
More information about the Pkg-clojure-maintainers
mailing list