diff mbox series

[bug#49445] gnu: add ocaml-bibtex2html

Message ID 20210706175748.30800-1-i.gankevich@spbu.ru
State Accepted
Headers show
Series [bug#49445] gnu: add ocaml-bibtex2html | expand

Commit Message

Ivan Gankevich July 6, 2021, 5:57 p.m. UTC
---
 gnu/packages/ocaml.scm | 66 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

Comments

Julien Lepiller July 6, 2021, 6:49 p.m. UTC | #1
Thanks for the patch!

Le 6 juillet 2021 13:57:49 GMT-04:00, Ivan Gankevich <i.gankevich@spbu.ru> a écrit :
>---
> gnu/packages/ocaml.scm | 66 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 66 insertions(+)
>
>diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
>index cec6eb4f89..b01088f46a 100644
>--- a/gnu/packages/ocaml.scm
>+++ b/gnu/packages/ocaml.scm
>@@ -7175,3 +7175,69 @@ libraries.")
>It makes it possible to run pure OCaml programs in JavaScript
>environment like
> browsers and Node.js.")
>     (license license:lgpl2.1+)))
>+
>+(define-public ocaml-hevea

Mh… we already have hevea as the "hevea" package (not "ocaml-hevea"), although at version 2.34. Would you like to send a patch that updates hevea instead?

>+  (package
>+    (name "ocaml-hevea")
>+    (version "2.35")
>+    (source
>+      (origin
>+        (method git-fetch)
>+        (uri (git-reference
>+               (url "https://github.com/maranget/hevea")
>+               (commit (string-append "v" version))))
>+        (file-name (git-file-name name version))
>+        (sha256 (base32
>"1ziai2pl1k2qi4v3wc4xjvh8qdk2prfsg8k64bh8vi1ichnp7mqw"))))
>+    (build-system ocaml-build-system)
>+    (arguments
>+      `(#:tests? #f ;; no tests
>+        #:make-flags
>+        (list
>+          "TARGET=opt"
>+          (string-append "LIBDIR=" (assoc-ref %outputs "out") "/lib")
>+          (string-append "BINDIR=" (assoc-ref %outputs "out") "/bin")
>+          (string-append "PREFIX=" %output))
>+        #:phases
>+        (modify-phases %standard-phases
>+          (delete 'configure)
>+          (add-after 'unpack 'patch-/bin/sh
>+            (lambda _
>+              (substitute* "_tags"
>+                (("/bin/sh") (which "bash"))))))))
>+    (native-inputs
>+      `(("ocamlbuild" ,ocamlbuild)
>+        ("which" ,which)))
>+    (home-page "http://hevea.inria.fr/")
>+    (synopsis "Quite complete and fast LATEX to HTML translator")
>+    (description "HEVEA is fast and efficient translator that is able
>to
>+convert large LATEX documents into HTML.")
>+    (license (list license:qpl license:gpl2))))
>+
>+(define-public ocaml-bibtex2html
>+  (package
>+    (name "ocaml-bibtex2html")
>+    (version "1.99-1")

What does -1 mean? It won't me understood well by guix, so if there's a chace a -2 might exist, maybe we should make it .1 instead? 

>+    (source
>+      (origin
>+        (method url-fetch)
>+        (uri
>"https://www.lri.fr/~filliatr/ftp/bibtex2html/bibtex2html-1.99.tar.gz")

I don't see -1 in the file namc, so maybe it's useless?

>+        (sha256 (base32
>"07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j"))))
>+    (build-system ocaml-build-system)
>+    (arguments
>+      `(#:tests? #f ;; tests require bibtex binary from texlive-bin
>package
>+                    ;; that pulls a lot of dependencies

fine, but that would only be a concern at build-time, right?

>+        #:phases
>+        (modify-phases %standard-phases
>+          (add-after 'unpack 'patch-/bin/sh
>+            (lambda _
>+              (substitute* "configure" (("/bin/sh") (which "bash")))
>+              #t)))))
>+    (native-inputs
>+      `(("which" ,which)))
>+    (propagated-inputs
>+      `(("ocaml-hevea" ,ocaml-hevea)))

Make this hevea instead :)

>+    (home-page "https://www.lri.fr/~filliatr/bibtex2html/")
>+    (synopsis "BibTeX to HTML translator")
>+    (description "Allows to produce, from a set of bibliography files
>+in BibTeX format, a bibliography in HTML format.")
>+    (license license:gpl2)))

Otherwise looks good! Can you send a v2 with a patch to update hevea and a separate patch to add bibtex2html?
Ivan Gankevich July 7, 2021, 7:12 a.m. UTC | #2
>Mh… we already have hevea as the "hevea" package (not "ocaml-hevea"), although at version 2.34. Would you like to send a patch that updates hevea instead?

Oops! I thought all ocaml packages start with “ocaml-”.


>What does -1 mean? It won't me understood well by guix, so if there's a chace a -2 might exist, maybe we should make it .1 instead?

I’ve imported this package with “guix import opam”. This “-1” came from there.


>I don't see -1 in the file namc, so maybe it's useless?

You’re right. There is no such version in git repo and source tarball. Removed it.


>>+      `(#:tests? #f ;; tests require bibtex binary from texlive-bin
>>package
>>+                    ;; that pulls a lot of dependencies
>fine, but that would only be a concern at build-time, right?

Added “texlive” as native dependency. Adding “texlive-bin” is not enough, since the tests
also need “pdflatex”.


>Make this hevea instead :)

Done.


>Otherwise looks good! Can you send a v2 with a patch to update hevea and a separate patch to add bibtex2html?

I’ve sent the two separate patches for “hevea” and “bibtex2html”. Thank you for your
corrections!
diff mbox series

Patch

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cec6eb4f89..b01088f46a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -7175,3 +7175,69 @@  libraries.")
 It makes it possible to run pure OCaml programs in JavaScript environment like
 browsers and Node.js.")
     (license license:lgpl2.1+)))
+
+(define-public ocaml-hevea
+  (package
+    (name "ocaml-hevea")
+    (version "2.35")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/maranget/hevea")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256 (base32 "1ziai2pl1k2qi4v3wc4xjvh8qdk2prfsg8k64bh8vi1ichnp7mqw"))))
+    (build-system ocaml-build-system)
+    (arguments
+      `(#:tests? #f ;; no tests
+        #:make-flags
+        (list
+          "TARGET=opt"
+          (string-append "LIBDIR=" (assoc-ref %outputs "out") "/lib")
+          (string-append "BINDIR=" (assoc-ref %outputs "out") "/bin")
+          (string-append "PREFIX=" %output))
+        #:phases
+        (modify-phases %standard-phases
+          (delete 'configure)
+          (add-after 'unpack 'patch-/bin/sh
+            (lambda _
+              (substitute* "_tags"
+                (("/bin/sh") (which "bash"))))))))
+    (native-inputs
+      `(("ocamlbuild" ,ocamlbuild)
+        ("which" ,which)))
+    (home-page "http://hevea.inria.fr/")
+    (synopsis "Quite complete and fast LATEX to HTML translator")
+    (description "HEVEA is fast and efficient translator that is able to
+convert large LATEX documents into HTML.")
+    (license (list license:qpl license:gpl2))))
+
+(define-public ocaml-bibtex2html
+  (package
+    (name "ocaml-bibtex2html")
+    (version "1.99-1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri "https://www.lri.fr/~filliatr/ftp/bibtex2html/bibtex2html-1.99.tar.gz")
+        (sha256 (base32 "07gzrs4lfrkvbn48cgn2gn6c7cx3jsanakkrb2irj0gmjzfxl96j"))))
+    (build-system ocaml-build-system)
+    (arguments
+      `(#:tests? #f ;; tests require bibtex binary from texlive-bin package
+                    ;; that pulls a lot of dependencies
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'patch-/bin/sh
+            (lambda _
+              (substitute* "configure" (("/bin/sh") (which "bash")))
+              #t)))))
+    (native-inputs
+      `(("which" ,which)))
+    (propagated-inputs
+      `(("ocaml-hevea" ,ocaml-hevea)))
+    (home-page "https://www.lri.fr/~filliatr/bibtex2html/")
+    (synopsis "BibTeX to HTML translator")
+    (description "Allows to produce, from a set of bibliography files
+in BibTeX format, a bibliography in HTML format.")
+    (license license:gpl2)))