[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 09/10] gnu: Add ocaml-js-build-tools.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH 09/10] gnu: Add ocaml-js-build-tools. |
Date: |
Mon, 30 Jan 2017 10:19:21 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hey!
Julien Lepiller <address@hidden> skribis:
> * gnu/packages/ocaml.scm (ocaml-js-build-tools): New variable.
> * gnu/packages/patches/ocaml-janestreet-fix-libdir.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
[...]
> +;; Janestreet packages are found in a similar way and all need the same patch
Period at the end of a sentence please.
> +(define (janestreet-origin name version hash)
> + (origin (method url-fetch)
> + (uri (string-append "https://ocaml.janestreet.com/ocaml-core/"
> + (version-major+minor version) "/files/"
> + name "-" version ".tar.gz"))
> + (sha256 (base32 hash))
> + (patches (search-patches "ocaml-janestreet-fix-libdir.patch"))
> + (modules '((guix build utils)))
> + (snippet `(substitute* "install.ml"
> + (((string-append "lib/" ,name))
> + (string-append "lib/ocaml/site-lib/"
> ,name))))))
I prefer not to rely on the ability to use non-literal patterns in
‘substitute*’, so I would write it this way:
(let ((pattern (string-append "lib/" name)))
`(substitute* "install.ml"
((,pattern)
…)))
Also, could you add a comment about what the snippet does (I suppose
Jane Street’s default install.ml files specify a wrong location or
something?).
Lastly, please pass this through indent-code.el.
> +(define-public ocaml-js-build-tools
> + (package
> + (name "ocaml-js-build-tools")
> + (version "113.33.06")
> + (source (janestreet-origin "js-build-tools" version
> + "0r8z4fz8iy5y6hkdlkpwf6rk4qigcr3dzyv35585xgg2ahf12zy6"))
> + (native-inputs
> + `(("oasis" ,ocaml-oasis)
> + ("opam" ,opam)))
> + (build-system ocaml-build-system)
> + (arguments janestreet-arguments)
> + (home-page "https://github.com/janestreet/js-build-tools")
> + (synopsis "Collection of tools to help building Jane Street Packages")
> + (description "This packages contains tools to help building Jane Street
> +Packages, but can be used for other purposes. It contains:
s/Packages/packages/
> address@hidden
> address@hidden an oasis2opam-install tool to produce a .install file from the
> oasis build log
Nitpick: @command{oasis2opam-install}, @file{.install}, OASIS.
> address@hidden an js_build_tools ocamlbuild plugin with various goodies
s/an js_build_tools/a @code{js_build_tools}/
Period at the end.
> --- /dev/null
> +++ b/gnu/packages/patches/ocaml-janestreet-fix-libdir.patch
> @@ -0,0 +1,39 @@
> +This patch adds a --libdir option to opam-installer so it installs the plugin
> +in the specified directory rather than in the default one (ocaml's directory
> in
> +the store, which is forbidden).
s/forbidden/read-only/ :-)
Also please mention that this patch is meant to apply to all the
packages published by Jane Street (IIUC).
Thanks,
Ludo’.
- [PATCH 01/10] gnu: Add ocaml-base64., (continued)
- [PATCH 01/10] gnu: Add ocaml-base64., Julien Lepiller, 2017/01/27
- [PATCH 02/10] gnu: Add ocamlify., Julien Lepiller, 2017/01/27
- [PATCH 04/10] gnu: Add ocaml-batteries., Julien Lepiller, 2017/01/27
- [PATCH 03/10] gnu: Add omake., Julien Lepiller, 2017/01/27
- [PATCH 05/10] gnu: Add ocaml-pcre., Julien Lepiller, 2017/01/27
- [PATCH 06/10] gnu: Add ocaml-expect., Julien Lepiller, 2017/01/27
- [PATCH 07/10] gnu: Add ocaml-fileutils., Julien Lepiller, 2017/01/27
- [PATCH 08/10] gnu: Add ocaml-oasis., Julien Lepiller, 2017/01/27
- [PATCH 10/10] gnu: Add ocaml-bin-prot., Julien Lepiller, 2017/01/27
- [PATCH 09/10] gnu: Add ocaml-js-build-tools., Julien Lepiller, 2017/01/27
Re: [PATCH 00/10] ocaml patches v2, Ludovic Courtès, 2017/01/30