unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#57347] [PATCH] packages: Add man-pages-posix.
@ 2022-08-22 20:42 Lilah Tascheter via Guix-patches via
  2022-08-22 23:50 ` Maxime Devos
  0 siblings, 1 reply; 9+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2022-08-22 20:42 UTC (permalink / raw)
  To: 57347

* gnu/packages/man.scm (man-pages-posix): New variable.
---
 gnu/packages/man.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 1c1d82758b..e6f4a8bb5b 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -302,6 +302,39 @@ (define-public man-pages
     ;; Each man page has its own license; some are GPLv2+, some are MIT/X11.
     (license license:gpl2+)))
 
+(define-public man-pages-posix
+  (package
+    (name "man-pages-posix")
+    (version "2013-a")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kernel.org/linux/docs/man-pages/"
+                            "man-pages-posix/man-pages-posix-" version
+                            ".tar.xz"))
+        (sha256
+         (base32 "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f
+       #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:license-file-regexp "POSIX-COPYRIGHT"
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (replace 'build
+                    (lambda _
+                      ;; make all is useless due to guix build semantics, so just gzip.
+                      ;; Parallel builds are useless with how the Makefile's setup.
+                      (invoke "make" "gz"))))))
+    (home-page "https://www.kernel.org/doc/man-pages/")
+    (synopsis "Man pages from the POSIX.1-2013 standard")
+    (description "This package contains excerpts from the POSIX.1-2008 and TC1
+standards (collectively, POSIX.1-2013) in manual page form.")
+    (license (license:fsdg-compatible "file://POSIX-COPYRIGHT"
+              "Redistribution of this material is permitted so long as this
+notice and the corresponding notices within each POSIX manual page are retained
+on any distribution, and the nroff source is included."))))
+
 (define-public help2man
   ;; TODO: Manual pages for languages not available from the implicit
   ;; input "locales" contain the original (English) text.

base-commit: ff3cecffafad0ddf5cc2af6cb676e73bcf58e431
-- 
2.37.1





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH] packages: Add man-pages-posix.
  2022-08-22 20:42 [bug#57347] [PATCH] packages: Add man-pages-posix Lilah Tascheter via Guix-patches via
@ 2022-08-22 23:50 ` Maxime Devos
  2022-08-23  3:33   ` Lilah Tascheter via Guix-patches via
  2022-08-23 13:08   ` [bug#57347] [PATCH] packages: Add man-pages-posix Lilah Tascheter via Guix-patches via
  0 siblings, 2 replies; 9+ messages in thread
From: Maxime Devos @ 2022-08-22 23:50 UTC (permalink / raw)
  To: Lilah Tascheter, 57347


[-- Attachment #1.1.1: Type: text/plain, Size: 1445 bytes --]

On 22-08-2022 22:42, Lilah Tascheter via Guix-patches via wrote:

> +    (home-page"https://www.kernel.org/doc/man-pages/")
> +    (synopsis "Man pages from the POSIX.1-2013 standard")
> +    (description "This package contains excerpts from the POSIX.1-2008 and TC1
> +standards (collectively, POSIX.1-2013) in manual page form.")

This package can easily be confused with 'man-pages' -- at least, I 
initially confused this as a duplicate of man-pages. Could the 
relationship be clarified in the description?

> +    (arguments
> +     '(#:tests? #f
> +       #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
> +       #:license-file-regexp "POSIX-COPYRIGHT"
> +       #:phases (modify-phases %standard-phases
> +                  (delete 'configure)
> +                  (replace 'build
> +                    (lambda _
> +                      ;; make all is useless due to guix build semantics, so just gzip.
> +                      ;; Parallel builds are useless with how the Makefile's setup.
> +                      (invoke "make" "gz"))))))
Maybe (assoc-ref %outputs "out") -> #$output and '(#:tests? ...) -> 
(list #:tests? #f #:make-flags #~(list ...) #:phases #~(...)), now we 
have G-exps.

Also, IIRC there's a #:make-target and #:parallel-build? #false

As a bonus, you could update the 'man-pages' package to the new G-exps, 
though not required.

Greetings,
Maxime.


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH] packages: Add man-pages-posix.
  2022-08-22 23:50 ` Maxime Devos
@ 2022-08-23  3:33   ` Lilah Tascheter via Guix-patches via
  2022-08-26 13:41     ` Maxime Devos
  2022-08-23 13:08   ` [bug#57347] [PATCH] packages: Add man-pages-posix Lilah Tascheter via Guix-patches via
  1 sibling, 1 reply; 9+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2022-08-23  3:33 UTC (permalink / raw)
  To: Maxime Devos, 57347

On Tue, Aug 23, 2022 at 01:50:34AM +0200, Maxime Devos wrote:
> This package can easily be confused with 'man-pages' -- at least, I
> initially confused this as a duplicate of man-pages. Could the relationship
> be clarified in the description?
That's fair. How does this revised description sound? "Excerpts from the
POSIX.1-2008 and TC1 standards (collectively, POSIX.1-2013) in manual
page form. While the Linux man-pages project documents the system as it
exists, this package documents the portable software API nominally
implemented by many unix-likes."

> Maybe (assoc-ref %outputs "out") -> #$output and '(#:tests? ...) -> (list
> #:tests? #f #:make-flags #~(list ...) #:phases #~(...)), now we have G-exps.
Sounds good!

> Also, IIRC there's a #:make-target and #:parallel-build? #false
There is a #:parallel-build? #f, but no #:make-target field, as far as I
could tell. Though, the build phase doesn't explicitly target all, so it
would be possible to provide the gz target through #:make-flags.

But, also, all the build phase does is compress the manpages, which
could entirely be done by the compress-documentation phase with some
edits done to it; at the moment, its regex for detecting manpages
doesn't take into account the [023]p format of this package's manpages.

Thoughts?

> As a bonus, you could update the 'man-pages' package to the new G-exps,
> though not required.
Sure! I'll submit that with v2 as a patchset.

Thanks!
Lilah




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH] packages: Add man-pages-posix.
  2022-08-22 23:50 ` Maxime Devos
  2022-08-23  3:33   ` Lilah Tascheter via Guix-patches via
@ 2022-08-23 13:08   ` Lilah Tascheter via Guix-patches via
  1 sibling, 0 replies; 9+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2022-08-23 13:08 UTC (permalink / raw)
  To: Maxime Devos, 57347

On Tue, Aug 23, 2022 at 01:50:34AM +0200, Maxime Devos wrote:
> This package can easily be confused with 'man-pages' -- at least, I
> initially confused this as a duplicate of man-pages. Could the relationship
> be clarified in the description?
That's fair. How does this revised description sound? "Excerpts from the
POSIX.1-2008 and TC1 standards (collectively, POSIX.1-2013) in manual
page form. While the Linux man-pages project documents the system as it
exists, this package documents the portable software API nominally
implemented by many unix-likes."

> Maybe (assoc-ref %outputs "out") -> #$output and '(#:tests? ...) -> (list
> #:tests? #f #:make-flags #~(list ...) #:phases #~(...)), now we have G-exps.
Sounds good!

> Also, IIRC there's a #:make-target and #:parallel-build? #false
There is a #:parallel-build? #f, but no #:make-target field, as far as I
could tell. Though, the build phase doesn't explicitly target all, so it
would be possible to provide the gz target through #:make-flags.

But, also, all the build phase does is compress the manpages, which
could entirely be done by the compress-documentation phase with some
edits done to it; at the moment, its regex for detecting manpages
doesn't take into account the [023]p format of this package's manpages.

Thoughts?

> As a bonus, you could update the 'man-pages' package to the new G-exps,
> though not required.
Sure! I'll submit that with v2 as a patchset.

Thanks!
Lilah




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH] packages: Add man-pages-posix.
  2022-08-23  3:33   ` Lilah Tascheter via Guix-patches via
@ 2022-08-26 13:41     ` Maxime Devos
  2022-08-27 23:37       ` [bug#57347] [PATCH v2 1/2] " Lilah Tascheter via Guix-patches via
  2022-08-27 23:37       ` [bug#57347] [PATCH v2 2/2] packages: Update man-pages package to newer style Lilah Tascheter via Guix-patches via
  0 siblings, 2 replies; 9+ messages in thread
From: Maxime Devos @ 2022-08-26 13:41 UTC (permalink / raw)
  To: Lilah Tascheter, 57347


[-- Attachment #1.1.1.1: Type: text/plain, Size: 1647 bytes --]


On 23-08-2022 05:33, Lilah Tascheter wrote:
> On Tue, Aug 23, 2022 at 01:50:34AM +0200, Maxime Devos wrote:
>> This package can easily be confused with 'man-pages' -- at least, I
>> initially confused this as a duplicate of man-pages. Could the relationship
>> be clarified in the description?
> That's fair. How does this revised description sound? "Excerpts from the
> POSIX.1-2008 and TC1 standards (collectively, POSIX.1-2013) in manual
> page form. While the Linux man-pages project documents the system as it
> exists, this package documents the portable software API nominally
> implemented by many unix-likes."
>
'as it exists' -> 'as it exists on Linux- and glibc-based systems', as 
we also support the Hurd.

Otherwise looks good to me.

>> Also, IIRC there's a #:make-target and #:parallel-build? #false
> There is a #:parallel-build? #f, but no #:make-target field, as far as I
> could tell. Though, the build phase doesn't explicitly target all, so it
> would be possible to provide the gz target through #:make-flags.
Right, there's a #:test-target but not #:make-target.
> But, also, all the build phase does is compress the manpages, which
> could entirely be done by the compress-documentation phase with some
> edits done to it; at the moment, its regex for detecting manpages
> doesn't take into account the [023]p format of this package's manpages.
>
> Thoughts?
I think we could do #:make-flags "gz" for now, extending the regex to 
[023]p is more of a long-term thing (while a simple change, it would 
cause many rebuilds and hence needs to be done on core-updates).

Greetings,
Maxime.


[-- Attachment #1.1.1.2: Type: text/html, Size: 2593 bytes --]

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH v2 1/2] packages: Add man-pages-posix.
  2022-08-26 13:41     ` Maxime Devos
@ 2022-08-27 23:37       ` Lilah Tascheter via Guix-patches via
  2022-08-29 19:36         ` Maxime Devos
  2022-09-08 12:55         ` bug#57347: [PATCH] " Ludovic Courtès
  2022-08-27 23:37       ` [bug#57347] [PATCH v2 2/2] packages: Update man-pages package to newer style Lilah Tascheter via Guix-patches via
  1 sibling, 2 replies; 9+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2022-08-27 23:37 UTC (permalink / raw)
  To: Maxime Devos, 57347; +Cc: Lilah Tascheter

* gnu/packages/man.scm (man-pages-posix): New variable.
---
 gnu/packages/man.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 1c1d82758b..a3c6bb6aa4 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -302,6 +302,38 @@ (define-public man-pages
     ;; Each man page has its own license; some are GPLv2+, some are MIT/X11.
     (license license:gpl2+)))
 
+(define-public man-pages-posix
+  (package
+    (name "man-pages-posix")
+    (version "2013-a")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kernel.org/linux/docs/man-pages/"
+                            "man-pages-posix/man-pages-posix-" version
+                            ".tar.xz"))
+        (sha256
+         (base32 "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"))))
+    (build-system gnu-build-system)
+    (arguments
+      `(#:tests? #f
+        ;; The compress-documentation phase doesn't pick up on our manpages as
+        ;; its regex doesn't support trailing letters, so manually compress.
+        #:make-flags ,#~(list (string-append "prefix=" #$output) "gz")
+        #:license-file-regexp "POSIX-COPYRIGHT"
+        #:phases (modify-phases %standard-phases (delete 'configure))))
+    (home-page "https://www.kernel.org/doc/man-pages/")
+    (synopsis "Man pages from the POSIX.1-2013 standard")
+    (description "Excerpts from the POSIX.1-2008 and TC1 standards
+(collectively, POSIX.1-2013) in manual page form. While the Linux man-pages
+project documents the system as it exists on Linux- and glibc-based systems,
+this package documents the portable software API as nominally implemented by
+many unix-likes.")
+    (license (license:fsdg-compatible "file://POSIX-COPYRIGHT"
+               "Redistribution of this material is permitted so long as this
+notice and the corresponding notices within each POSIX manual page are retained
+on any distribution, and the nroff source is included."))))
+
 (define-public help2man
   ;; TODO: Manual pages for languages not available from the implicit
   ;; input "locales" contain the original (English) text.

base-commit: ff3cecffafad0ddf5cc2af6cb676e73bcf58e431
-- 
2.37.2





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH v2 2/2] packages: Update man-pages package to newer style.
  2022-08-26 13:41     ` Maxime Devos
  2022-08-27 23:37       ` [bug#57347] [PATCH v2 1/2] " Lilah Tascheter via Guix-patches via
@ 2022-08-27 23:37       ` Lilah Tascheter via Guix-patches via
  1 sibling, 0 replies; 9+ messages in thread
From: Lilah Tascheter via Guix-patches via @ 2022-08-27 23:37 UTC (permalink / raw)
  To: Maxime Devos, 57347; +Cc: Lilah Tascheter

* gnu/packages/man.scm (man-pages)[arguments]: Refer to package output
  using gexps instead of assoc-ref on a parameter.
---
 gnu/packages/man.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index a3c6bb6aa4..863006f3cc 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -282,7 +282,7 @@ (define-public man-pages
         (base32 "12vb15gs56g8wl5nqlm4llr508brh4m2lfknhq4lizbxzqzawkb1"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases (delete 'configure))
+     `(#:phases (modify-phases %standard-phases (delete 'configure))
 
        ;; The 'all' target depends on three targets that directly populate
        ;; $(MANDIR) based on its current contents.  Doing that in parallel
@@ -290,9 +290,7 @@ (define-public man-pages
        #:parallel-build? #f
 
        #:tests? #f
-       #:make-flags (list (string-append "mandir="
-                                         (assoc-ref %outputs "out")
-                                         "/share/man"))))
+       #:make-flags ,#~(list (string-append "mandir=" #$output "/share/man"))))
     (home-page "https://www.kernel.org/doc/man-pages/")
     (synopsis "Development manual pages from the Linux project")
     (description
-- 
2.37.2





^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [bug#57347] [PATCH v2 1/2] packages: Add man-pages-posix.
  2022-08-27 23:37       ` [bug#57347] [PATCH v2 1/2] " Lilah Tascheter via Guix-patches via
@ 2022-08-29 19:36         ` Maxime Devos
  2022-09-08 12:55         ` bug#57347: [PATCH] " Ludovic Courtès
  1 sibling, 0 replies; 9+ messages in thread
From: Maxime Devos @ 2022-08-29 19:36 UTC (permalink / raw)
  To: Lilah Tascheter, 57347


[-- Attachment #1.1.1: Type: text/plain, Size: 186 bytes --]

These two patches look good to me (not verified locally, but if it 
builds for you it should build for everyone).

Greetings,
Maxime (not a committer, though I do some reviewing)


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#57347: [PATCH] packages: Add man-pages-posix.
  2022-08-27 23:37       ` [bug#57347] [PATCH v2 1/2] " Lilah Tascheter via Guix-patches via
  2022-08-29 19:36         ` Maxime Devos
@ 2022-09-08 12:55         ` Ludovic Courtès
  1 sibling, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2022-09-08 12:55 UTC (permalink / raw)
  To: Lilah Tascheter; +Cc: 57347-done, Maxime Devos

Hi Lilah,

Lilah Tascheter <lilah@lunabee.space> skribis:

> * gnu/packages/man.scm (man-pages-posix): New variable.

[...]

> * gnu/packages/man.scm (man-pages)[arguments]: Refer to package output
>   using gexps instead of assoc-ref on a parameter.

Applied (with minor tweaks to the man-pages-posix description), thanks!

And thank you Maxime for reviewing.

Ludo’.




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-09-08 13:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-22 20:42 [bug#57347] [PATCH] packages: Add man-pages-posix Lilah Tascheter via Guix-patches via
2022-08-22 23:50 ` Maxime Devos
2022-08-23  3:33   ` Lilah Tascheter via Guix-patches via
2022-08-26 13:41     ` Maxime Devos
2022-08-27 23:37       ` [bug#57347] [PATCH v2 1/2] " Lilah Tascheter via Guix-patches via
2022-08-29 19:36         ` Maxime Devos
2022-09-08 12:55         ` bug#57347: [PATCH] " Ludovic Courtès
2022-08-27 23:37       ` [bug#57347] [PATCH v2 2/2] packages: Update man-pages package to newer style Lilah Tascheter via Guix-patches via
2022-08-23 13:08   ` [bug#57347] [PATCH] packages: Add man-pages-posix Lilah Tascheter via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).