diff options
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | src/xyz/euandreh/patches/B-Lint-1.20-Skip-a-bare-sub-test.patch | 68 | ||||
-rw-r--r-- | src/xyz/euandreh/queue.scm | 61 |
3 files changed, 132 insertions, 2 deletions
@@ -1,10 +1,11 @@ guix-sources = \ + src/xyz/euandreh/latest.scm \ src/xyz/euandreh/packages.scm \ src/xyz/euandreh/posix.scm \ - src/xyz/euandreh/latest.scm + src/xyz/euandreh/queue.scm \ all: - for s in $(guix-sources); do guix build -f $$s; done + for s in $(guix-sources); do guix build -Lsrc/ -f $$s; done nix-shell --run '' refresh: diff --git a/src/xyz/euandreh/patches/B-Lint-1.20-Skip-a-bare-sub-test.patch b/src/xyz/euandreh/patches/B-Lint-1.20-Skip-a-bare-sub-test.patch new file mode 100644 index 0000000..c74e2ab --- /dev/null +++ b/src/xyz/euandreh/patches/B-Lint-1.20-Skip-a-bare-sub-test.patch @@ -0,0 +1,68 @@ +From d350b6338066d2563b4abacf1eb7da56c5264b22 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> +Date: Fri, 12 Jun 2015 13:27:07 +0200 +Subject: [PATCH] Skip a bare-sub test +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Perl 5.22 optimization causes B::Lint not to recognize $a{b} for +bare-sub check. This patch document this deficency and skips a test +for it. + +Signed-off-by: Petr Písař <ppisar@redhat.com> +--- + lib/B/Lint.pm | 4 ++++ + t/lint.t | 11 +++++++++-- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/lib/B/Lint.pm b/lib/B/Lint.pm +index 1f5098f..7291b18 100644 +--- a/lib/B/Lint.pm ++++ b/lib/B/Lint.pm +@@ -85,6 +85,10 @@ trap are: + + Neither of these will do what a naive user would expect. + ++Notice: Perl 5.22.0 does not report C<foo> in C<$b{foo}> as BARE token ++anymore. Therefore L<B::Lint> test is not reliable here. See ++L<CPAN RT#101115|https://rt.cpan.org/Public/Bug/Display.html?id=101115>. ++ + =item B<dollar-underscore> + + This option warns whenever C<$_> is used either explicitly anywhere or +diff --git a/t/lint.t b/t/lint.t +index 7317b1d..93255d9 100644 +--- a/t/lint.t ++++ b/t/lint.t +@@ -14,7 +14,7 @@ BEGIN { + use strict; + use warnings; + +-plan tests => 29; ++plan tests => 30; + + # Runs a separate perl interpreter with the appropriate lint options + # turned on +@@ -116,10 +116,17 @@ RESULT + + runlint 'bare-subs', 'sub bare(){1};$x=bare', ''; + +-runlint 'bare-subs', 'sub bare(){1}; $x=[bare=>0]; $x=$y{bare}', <<'RESULT'; ++runlint 'bare-subs', 'sub bare(){1}; $x=[bare=>0]', <<'RESULT'; + Bare sub name 'bare' interpreted as string at -e line 1 ++RESULT ++ ++SKIP: { ++ skip 'Perl 5.22 stopped marking $hash{bare} as BARE word, CPAN RT#101115', ++ 1, if $] >= 5.022; ++ runlint 'bare-subs', 'sub bare(){1}; $x=$y{bare}', <<'RESULT'; + Bare sub name 'bare' interpreted as string at -e line 1 + RESULT ++} + + { + +-- +2.1.0 + diff --git a/src/xyz/euandreh/queue.scm b/src/xyz/euandreh/queue.scm new file mode 100644 index 0000000..be155d7 --- /dev/null +++ b/src/xyz/euandreh/queue.scm @@ -0,0 +1,61 @@ +(define-module (xyz euandreh queue) + #:use-module (srfi srfi-26) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system perl) + #:use-module (gnu packages) + #:use-module (gnu packages perl) + #:use-module (gnu packages perl-check)) + +(define-public perl-tidy + (package + (name "perl-tidy") + (version "20210111") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-" + version ".tar.gz")) + (sha256 + (base32 + "17qqvass1n726ff1bkl8pc8yijhjy9vlm3wcc1xaykjxmz76cxi0")))) + (build-system perl-build-system) + (home-page "https://perltidy.github.io/perltidy/") + (synopsis "Indent and reformat Perl code") + (description "Perl::Tidy is a module and command-line utility to +indent and format Perl code.") + (license license:gpl2))) + +(define-public perl-b-lint + (package + (name "perl-b-lint") + (version "1.20") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/B-Lint-" + version ".tar.gz")) + (sha256 + (base32 + "1cqhgj17jqlrwdw2lz2sprs2zydry09y14lwhmipk2zxcj4l0jfw")) + (patches + ;; Taken from: + ;; https://rt.cpan.org/Public/Bug/Display.html?id=101115 + (search-patches "xyz/euandreh/patches/B-Lint-1.20-Skip-a-bare-sub-test.patch")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-harness" ,perl-test-harness))) + (propagated-inputs + `(("perl-module-pluggable" ,perl-module-pluggable))) + (home-page "https://metacpan.org/pod/B::Lint") + (synopsis "Simple linter for Perl source code") + (description "The B::Lint module is equivalent to an extended +version of the -w option of perl. It is named after the program lint +which carries out a similar process for C programs.") + (license license:perl-license))) + + +(list + perl-tidy + perl-b-lint) |