From 9c4dcfaf66d37faeb165e9284f6a57871e96e1ac Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 20 May 2018 14:31:55 +0200 Subject: gnu: Add uncrustify. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/code.scm (uncrustify): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/code.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ gnu/packages/pretty-print.scm | 1 + 2 files changed, 44 insertions(+) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 15fdf9d66f..24398fac91 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Andy Wingo ;;; Copyright © 2018 Fis Trivial +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -527,3 +528,45 @@ (define-public makefile2graph output is a graphviz-dot file, a Gexf-XML file or a list of the deepest independent targets.") (license license:expat))) + +(define-public uncrustify + (package + (name "uncrustify") + (version "0.67") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/uncrustify/uncrustify/archive/" + "uncrustify-" version ".zip")) + (sha256 + (base32 + "0n13kq0nsm35fxhdp0f275n4x0w88hdv3bdjy0hgvv42x0dx5zyp")))) + (build-system cmake-build-system) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-etc + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Configuration samples are not installed by default. + (let* ((output (assoc-ref outputs "out")) + (etcdir (string-append output "/etc"))) + (for-each (lambda (l) + (install-file l etcdir)) + (find-files "etc" "\\.cfg$"))) + #t))))) + (home-page "http://uncrustify.sourceforge.net/") + (synopsis "Code formatter for C and other related languages") + (description + "Beautify source code in many languages of the C family (C, C++, C#, +Objective@tie{}C, D, Java, Pawn, and Vala). Features: +@itemize +@item Indent and align code. +@item Reformat comments (a little bit). +@item Fix inter-character spacing. +@item Add or remove parens / braces. +@item Supports embedded SQL @code{EXEC SQL} stuff. +@item Highly configurable - More than 600 configurable options. +@end itemize\n") + (license license:gpl2+))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 6edfba95cc..29b0039788 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -322,3 +322,4 @@ (define-public astyle "Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") (license lgpl3+))) + -- cgit v1.2.3