dh-clojure
dh-clojure is a new debhelper plugin/buildsystem aimed at streamlining building and maintaining Clojure packages in Debian.
It currently supports building Leiningen packages.
Motivation
Without dh-clojure, packaging and maintaining Clojure packages involves crafting an intricate patch on the upstream project.clj files to adjust dependency artifact versions, strip unwanted plugins and add the :local-repo key.
With every new upstream release, this patch needs to be rebased by hand, leading to large amounts of tedious, manual work that's prone to errors.
Status
dh-clojure is functional for most simple libraries, but needs additional work to handle some corner cases.
Packages
A few packages have been transitioned to dh-clojure. As we transition more packages, we expect to find more bugs and corner cases to handle.
The table below tracks this progress:
package |
version |
project adjustments |
notes |
1.0.4-3 |
no |
usj-name override |
|
1.3.0-2 |
|
||
1.10.0-2 |
|
||
1.1.3-2 |
no |
|
|
1.6.0-2 |
bogus version string in project.clj, needs patch to override |
||
0.5.1-1 |
yes |
|
|
1.7.2-2 |
yes |
|
|
0.6.2-2 |
yes |
|
|
3.5.7-3 |
yes |
|
|
1.6.312-2 |
yes |
|
|
1.6.312-2 |
yes |
|
|
1.0.8-1 |
no |
|
|
puppetlabs-i18n-clojure |
n/a |
n/a |
:eval-in-leiningen interferes with project adjustments |
trapperkeeper-clojure |
n/a |
n/a |
i18n plugin is breaking build |
