Bug#900299: leiningen-clojure: depends on openjdk-8

Elana Hashman ehashman at debian.org
Mon Jan 21 21:07:09 GMT 2019


On 2019-01-21 14:49, Moritz Mühlenhoff wrote:
> 
> We can only support one OpenJDK relase in a stable release and that 
> version
> will be openjdk-11. I'm bumping the severity back to serious.
> 
> Cheers,
>         Moritz

So here's the issue with Leiningen and Java 11. We previously tracked 
down some sort of bytecode incompatibilty problem. When Leiningen is 
built with Java 11, it seems to recompile every time it's run, leading 
to unacceptable performance, and it results in *different* help output, 
which is baffling.

Phil, have we attempted building Leiningen with Java 11 upstream?


Built with Java 8
-----------------

elana at debian:/debian$ time lein help
Leiningen is a tool for working with Clojure projects.

...
real	0m2.961s
user	0m3.511s
sys	0m0.381s
elana at debian:/debian/leiningen-clojure$ sadt
..

OK (tests=2)


Built with Java 11
------------------

elana at debian:/debian$ time lein help
Leiningen is a tool for working with Clojure projects.
...
real	0m10.659s
user	0m12.258s
sys	0m0.787s
elana at debian:/debian/leiningen-clojure$ sadt
.F
======================================================================
FAIL: test-lein (exit code: 1)

FAILED (tests=2, failures=1)
elana at debian:/debian/leiningen-clojure$ bash debian/tests/test-lein
lein check 1 failed
diff:
4c4,5
< change              Rewrite project.clj by applying a function.
---
> WARNING: cat already refers to: #'clojure.core/cat in namespace: 
> net.cgrand.regex, being replaced by: #'net.cgrand.regex/cat
> change              Rewrite project.clj with f applied to the value at 
> key-or-path.
6,7c7,8
< classpath           Print the classpath of the current project.
< clean               Remove all files from project's target-path.
---
> classpath           Write the classpath of the current project to 
> output-file.
> clean               Removes all files from paths in clean-targets for a 
> project
9,10c10,11
< deploy              Build and deploy jar to remote repository.
< deps                Download all dependencies.
---
> deploy              Deploy jar and pom to remote repository.
> deps                Show details about dependencies.
12,13c13,14
< help                Display a list of tasks or help for a given task.
< install             Install the current project to the local 
repository.
---
> help                Display a list of tasks or help for a given task or 
> subtask.
> install             Install jar and pom to the local repository; 
> typically ~/.m2.
16c17
< new                 Generate project scaffolding based on a template.
---
> new                 Generate scaffolding for a new project based on a 
> template.
19c20
< release             Perform :release-tasks.
---
> release             Perform release tasks.
22c23
< run                 Run a -main function with optional command-line 
arguments.
---
> run                 Run the project's -main function.
27c28
< uberjar             Package up the project files and dependencies into 
a jar file.
---
> uberjar             Package up the project files and all dependencies 
> into a jar file.



More information about the Pkg-clojure-maintainers mailing list