diff mbox series

[bug#62228,1/2] gnu: Add halibut.

Message ID 20230316212458.6187-1-sarg@sarg.org.ru
State New
Headers show
Series gnu: Add sgt-puzzles | expand

Commit Message

Sergey Trofimov March 16, 2023, 9:24 p.m. UTC
* gnu/packages/documentation.scm (halibut): New variable.
---
 gnu/packages/documentation.scm | 44 +++++++++++++++++++++++++++-------
 1 file changed, 35 insertions(+), 9 deletions(-)

Comments

Liliana Marie Prikler March 17, 2023, 7:50 a.m. UTC | #1
Am Donnerstag, dem 16.03.2023 um 22:24 +0100 schrieb Sergey Trofimov:
> * gnu/packages/documentation.scm (halibut): New variable.
Split the cosmetic changes (prefixing guix licenses with license:) and
functional (adding halibut) changes into two: First the prefixing, then
adding halibut.

> +(define-public halibut
> +  (package
> +    (name "halibut")
> +    (version "1.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +            
> "https://www.chiark.greenend.org.uk/~sgtatham/halibut/halibut-"
> +             version "/halibut-" version ".tar.gz"))
> +       (sha256
> +        (base32
> "0ciikn878vivs4ayvwvr63nnhpcg12m8023xv514zxqpdxlzg85a"))))
> +    (build-system cmake-build-system)
> +    (native-inputs (list pkg-config perl))
> +    (arguments
> +     '(#:tests? #f)) ; No tests.
Normally, arguments come after build-system and before any inputs.
> +    (home-page
> "https://www.chiark.greenend.org.uk/~sgtatham/halibut/")
> +    (synopsis "Documentation production system for software
> manuals")
> +    (description "This is yet another text formatting system,
> intended primarily for
Use "Halibut" instead of "this".  "yet another" is a little
superfluous.
> +writing software documentation.  It accepts a single source format
> and outputs any or
> +all of text, HTML, Windows Help, man pages, GNU info, PostScript, or
> PDF.  
any or all of => any combination of
text => plain text,
Windows Help => delete, we don't advocate unfree software here
man pages, GNU info => Unix man or info pages
I'd also add the word "document" to plain text, HTML, PostScript and
PDF.  Feel free to regroup them.


Cheers
Bruno Victal March 17, 2023, 1:15 p.m. UTC | #2
On 2023-03-17 07:50, Liliana Marie Prikler wrote:
> Am Donnerstag, dem 16.03.2023 um 22:24 +0100 schrieb Sergey Trofimov:
>> +    (description "This is yet another text formatting system,
>> intended primarily for
> Use "Halibut" instead of "this".  "yet another" is a little
> superfluous.
>> +writing software documentation.  It accepts a single source format
>> and outputs any or
>> +all of text, HTML, Windows Help, man pages, GNU info, PostScript, or
>> PDF.  
> any or all of => any combination of
> text => plain text,
> Windows Help => delete, we don't advocate unfree software here

Alternatively rename “Windows Help” to “Compiled HTML (.CHM) or WinHelp (.HLP)” which is more neutral?
In general, some format might have been originally conceived for proprietary software but could have
been reverse-engineered and reused in other contexts that might not involve any non-free software at all.

I don't think stating the fact that the program can generate formats commonly used by non-free software
constitutes advocating at all. (in fact omitting this information might do more harm since it can
convey that this (free) software doesn't support that format at all, pushing the user towards some other
potentially non-free software that might fit the bill)

For what my opinion is worth.


Cheers,
Bruno
Liliana Marie Prikler March 17, 2023, 5:16 p.m. UTC | #3
Am Freitag, dem 17.03.2023 um 13:15 +0000 schrieb Bruno Victal:
> I don't think stating the fact that the program can generate formats
> commonly used by non-free software constitutes advocating at all. (in
> fact omitting this information might do more harm since it can
> convey that this software doesn't support that format at all)
I'm not sure that is the case.  Given that you typically have the tool
plus its documentation available, as well as a link to the home-page
which talks about this in more detail, I don't think we can easily
"hide" this information from the user.  However, choosing not to
highlight it, as it isn't an explicit goal of the software (in fact the
opposite is the case: the software aims to support as many backends as
possible), is imho a good rule of thumb.

Cheers
diff mbox series

Patch

diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index a372e1a6ca..ed9851cc5f 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -29,7 +29,7 @@ 
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages documentation)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix gexp)
@@ -102,7 +102,7 @@  (define-public latex2html
     (description "LaTeX2HTML is a utility that converts LaTeX documents to web
 pages in HTML.")
     (home-page "https://www.latex2html.org/")
-    (license gpl2+)))
+    (license license:gpl2+)))
 
 (define-public asciidoc
   (package
@@ -178,7 +178,7 @@  (define-public asciidoc
 AsciiDoc is highly configurable: both the AsciiDoc source file syntax and
 the backend output markups (which can be almost any type of SGML/XML
 markup) can be customized and extended by the user.")
-    (license gpl2+)))
+    (license license:gpl2+)))
 
 (define-deprecated asciidoc-py3 asciidoc)
 
@@ -233,7 +233,33 @@  (define-public doxygen
 programming languages such as C, Objective-C, C#, PHP, Java, Python,
 IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
 and to some extent D.")
-    (license gpl3+)))
+    (license license:gpl3+)))
+
+(define-public halibut
+  (package
+    (name "halibut")
+    (version "1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://www.chiark.greenend.org.uk/~sgtatham/halibut/halibut-"
+             version "/halibut-" version ".tar.gz"))
+       (sha256
+        (base32 "0ciikn878vivs4ayvwvr63nnhpcg12m8023xv514zxqpdxlzg85a"))))
+    (build-system cmake-build-system)
+    (native-inputs (list pkg-config perl))
+    (arguments
+     '(#:tests? #f)) ; No tests.
+    (home-page "https://www.chiark.greenend.org.uk/~sgtatham/halibut/")
+    (synopsis "Documentation production system for software manuals")
+    (description "This is yet another text formatting system, intended primarily for
+writing software documentation.  It accepts a single source format and outputs any or
+all of text, HTML, Windows Help, man pages, GNU info, PostScript, or PDF.  It has
+comprehensive indexing and cross-referencing support, and generates hyperlinks within
+output documents wherever possible.  It supports Unicode, with the ability to fall
+back to an alternative representation when Unicode output is not available.")
+    (license license:expat)))
 
 (define-public doc++
   (package
@@ -258,7 +284,7 @@  (define-public doc++
 generate both TeX output for high-quality hardcopies or HTML output for online
 browsing.  The documentation is extracted directly from the C/C++/IDL source
 or Java class files.")
-    (license gpl2+)))
+    (license license:gpl2+)))
 
 (define-public pod2pdf
   (package
@@ -284,7 +310,7 @@  (define-public pod2pdf
 Documentation} format to PDF files.  It also supports some extensions to the POD
 format, and supports the file types JPG, GIF, TIFF, PNG, and PNM for embedded
 objects.")
-    (license artistic2.0)))
+    (license license:artistic2.0)))
 
 (define-public python-docrepr
   (package
@@ -335,7 +361,7 @@  (define-public python-docrepr
     (description "Docrepr renders Python docstrings to HTML with Sphinx.  It
 can generate rich and plain representations of docstrings, alongside
 additional metadata about the object to which the docstring belongs.")
-    (license bsd-3)))
+    (license license:bsd-3)))
 
 (define-public scrollkeeper
   (package
@@ -368,7 +394,7 @@  (define-public scrollkeeper
 provides a simple API to allow help browsers to find, sort, and search the
 document catalog.  It will also be able to communicate with catalog servers on
 the Net to search for documents which are not on the local system.")
-    (license lgpl2.1+)))
+    (license license:lgpl2.1+)))
 
 (define-public zeal
   (let ((commit "d3c5521c501d24050f578348ff1b9d68244b992c")
@@ -416,4 +442,4 @@  (define-public zeal
       (synopsis "Offline documentation browser inspired by Dash")
       (description "Zeal is a simple offline documentation browser
 inspired by Dash.")
-      (license gpl3+))))
+      (license license:gpl3+))))