## page was renamed from SummerOfCode2021/PendingProjects/ClojureBuildToolsinDebian ## page was renamed from SummerOfCode2021/Projects/ClojureBuildToolsinDebian == Clojure Build Tools in Debian == '''Description of the project:''' The current Clojure ecosystem in Debian, although functional, is still very young and is missing some build tools and core libraries. This project aims to fix this situation, mainly by packaging the `clojure` CLI and updating the Clojure runtime to use it, instead of using the current home-brewed scripts. If time permits, students will work on Debian QA tools to increase the quality of existing Clojure packages in the Debian archive. * '''Confirmed Mentor''': Louis-Philippe Véronneau * '''How to contact the mentor:''' * email: pollo@debian.org * IRC: pollo on #debian-clojure (OFTC) * '''Confirmed Co-Mentor''': Utkarsh Gupta * '''How to contact the mentor:''' * email: utkarsh@debian.org * IRC: utkarsh2102 on IRC (OFTC/Freenode/elsewhere) * '''Deliverables of the project''': * Finished packages submitted to Debian unstable, both for new packages and updated packages. * Updated Clojure Packaging documentation. * Stretch Goal: new Clojure Lintian tags merged by the Lintian maintainers. * Stretch Goal: new Clojure autodep8 scripts merged by the autodep8 maintainers. * '''Desirable skills''': * Git * Clojure * Perl (not required but a plus) * '''What the intern will learn:''' * Debian packaging using a git-based workflow. * Bug triaging using the Debian Bug Tracking System. * Hands-on knowledge of the Clojure Build tools and current best-practices. * Hands-on knowledge of the Debian QA tools. * '''Application tasks:''' * Setup a full Debian packaging development environment and learn the basics of Debian packaging. * Identify and package the missing dependencies to package [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891141|clojure-cli]] * Package `clojure-cli` * Update `clojure` to use `clojure-cli`. * Update the [[Clojure/PackagingTutorial#Packaging_WITHOUT_leiningen| Clojure Packaging Guide]] with information on how to use the new `clojure-cli` scripts. * Stretch Goal: write Lintian tags to make Clojure packaging in Debian more robust. * Stretch Goal: work to automate Clojure unit testing in autopkgtests using [[https://manpages.debian.org/unstable/autodep8/autodep8.1.en.html |autodep8]]. * Stretch Goals: update older Clojure packages not built using `leiningen` or `clojure-cli`. * '''Related projects:'''