* gnu/packages/check.scm (tidyall): New variable.
---
gnu/packages/check.scm | 67 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
Toggle diff (101 lines)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 87728fefa32..5a3c5ad5ff1 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
+;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,6 +76,8 @@ (define-module (gnu packages check)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-check)
+ #:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
@@ -97,6 +100,7 @@ (define-module (gnu packages check)
#:use-module (guix build-system go)
#:use-module (guix build-system guile)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
@@ -3119,6 +3123,69 @@ (define-public python-pyhamcrest
allowing you to declaratively define \"match\" rules.")
(license license:bsd-3)))
+(define-public tidyall
+ (package
+ (name "tidyall")
+ (version "0.83")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "18awq4fb72pbfdrc8h1cdvbwwbp456pnz6aam1cgq5vb7b85580n"))))
+ (build-system perl-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (delete 'remove-command-line-tool)
+ (add-after 'install 'wrap-programs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/tidyall")
+ `("PERL5LIB" ":" prefix
+ (,(getenv "PERL5LIB")
+ ,(string-append out
+ "/lib/perl5/site_perl"))))))))))
+ (native-inputs (list perl-test-class-most perl-test-differences
+ perl-test-fatal perl-test-warnings perl-lib-relative))
+ (inputs (list php bash-minimal))
+ (propagated-inputs (list perl-capture-tiny
+ perl-config-ini
+ perl-timedate
+ perl-file-which
+ perl-ipc-run3
+ perl-ipc-system-simple
+ perl-list-compare
+ perl-list-someutils
+ perl-log-any
+ perl-module-runtime
+ perl-moo-2
+ perl-path-tiny
+ perl-scope-guard
+ perl-specio
+ perl-specio-library-path-tiny
+ perl-text-diff
+ perl-time-duration-parse
+ perl-try-tiny
+ perl-parallel-forkmanager
+ perl-file-pushd))
+ (home-page "https://metacpan.org/release/Code-TidyAll")
+ (synopsis "Engine for tidyall, your all-in-one code tidier and validator")
+ (description
+ "@command{tidyall} makes a lot of code tidiers and validators available
+from a single unified interface. You can run @command{tidyall} on a
+single file or on an entire project hierarchy, and configure which
+tidiers/validators are applied to which files. @command{tidyall} will
+back up files beforehand, and for efficiency will only consider files
+that have changed since they were last processed.
+
+Note that if you see some missing tidier or validator modules error,
+you can let tidyall load them after install them. For example, one
+can run @code{guix shell perl-perl-tidy perl} in advance to load
+@code{Perl::Tidy}.")
+ (license license:perl-license)))
+
(define-public unittest-cpp
(package
(name "unittest-cpp")
--
2.40.1