[bug#78475,v2] gnu: Add perl-pod-site.

Message ID 4750693d522ea705f3583803d0387bbbf37172ef.1749943972.git.gemmaro.dev@gmail.com
State New
Headers
Series [bug#78475,v2] gnu: Add perl-pod-site. |

Commit Message

gemmaro June 14, 2025, 11:33 p.m. UTC
  * gnu/packages/perl.scm (perl-pod-site): New variable.

Change-Id: I4db66a75860b03fdfbc1b1f16c57aff103fc6f45
---
 gnu/packages/perl.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)


base-commit: 6c980300f485953bb4935abc2ea0047118e07466
prerequisite-patch-id: 5b7e99ce7175fbd361a467e44e44201cf3acf8e3
prerequisite-patch-id: e9f8963e688df1bfaa05e2122f8b093670bdeee2
  

Comments

Andreas Enge June 15, 2025, 2:44 p.m. UTC | #1
Hello,

I did not quite see why bash-minimal would be needed, so tried to
compile the package without it; this works, but bash-minimal is still
among the references of the resulting package. So I suppose it is pulled
in by propagation. In any case, I have pushed without this input.

If you notice any problem, please do not hesitate to complain.

Andreas
  
gemmaro June 16, 2025, 12:41 p.m. UTC | #2
Andreas Enge <andreas@enge.fr> writes:

> Hello,
> 
> I did not quite see why bash-minimal would be needed, so tried to
> compile the package without it; this works, but bash-minimal is still
> among the references of the resulting package. So I suppose it is pulled
> in by propagation. In any case, I have pushed without this input.
> 
> If you notice any problem, please do not hesitate to complain.
> 
> Andreas

Since wrap-program is used, I think it makes sense to explicitly add
bash-minimal as a input (as noted by "guix lint").  Relying on
propagation could make things less clear.  Just a thought! :)

-- gemmaro
  
Andreas Enge June 16, 2025, 1:04 p.m. UTC | #3
Am Mon, Jun 16, 2025 at 09:41:18PM +0900 schrieb gemmaro:
> Since wrap-program is used, I think it makes sense to explicitly add
> bash-minimal as a input (as noted by "guix lint").  Relying on
> propagation could make things less clear.  Just a thought! :)

Ah, if "guix lint" says so, we should do it. Pushed.
I learnt something new today, thanks!

Andreas
  

Patch

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 8c89009cc0..12dbbf7781 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -9909,6 +9909,48 @@  (define-public perl-pod-simple
 used for writing documentation for Perl and for Perl modules.")
     (license (package-license perl))))
 
+(define-public perl-pod-site
+  (package
+    (name "perl-pod-site")
+    (version "0.56")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/D/DW/DWHEELER/Pod-Site-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "0imi2sjrjnkc0p8j2g5alw492f5zgi1ryhw1izdwbvl85gabigmd"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   (delete-file "t/build.t"))))) ;requires internet access
+    (build-system perl-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'wrap-podsite
+            (lambda _
+              (wrap-program (string-append #$output "/bin/podsite")
+                `("PERL5LIB" ":" prefix
+                  (,(getenv "PERL5LIB") ,(string-append #$output
+                                          "/lib/perl5/site_perl")))))))))
+    (native-inputs (list perl-module-build
+                         perl-test-file
+                         perl-test-mockmodule
+                         perl-test-pod
+                         perl-test-pod-coverage
+                         perl-test-xpath))
+    (inputs (list bash-minimal))
+    (propagated-inputs (list perl-html-parser ;for HTML::Entities
+                             perl-object-tiny))
+    (home-page "https://metacpan.org/release/Pod-Site")
+    (synopsis "Build browsable HTML documentation for Perl program")
+    (description
+     "This is a Perl package designed to generate browsable HTML
+documentation from the POD (Plain Old Documentation) embedded in Perl source
+code.")
+    (license (package-license perl))))
+
 (define-public perl-pod-spell
   (package
     (name "perl-pod-spell")