unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Julien Lepiller <julien@lepiller.eu>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 09/10] gnu: Add ocaml-js-build-tools.
Date: Mon, 30 Jan 2017 10:19:21 +0100	[thread overview]
Message-ID: <87poj4gb1i.fsf@gnu.org> (raw)
In-Reply-To: <20170127221228.4370-10-julien@lepiller.eu> (Julien Lepiller's message of "Fri, 27 Jan 2017 23:12:27 +0100")

Hey!

Julien Lepiller <julien@lepiller.eu> 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/

> +@enumerate
> +@item an oasis2opam-install tool to produce a .install file from the oasis build log

Nitpick: @command{oasis2opam-install}, @file{.install}, OASIS.

> +@item 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’.

  reply	other threads:[~2017-01-30  9:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-27 22:12 [PATCH 00/10] ocaml patches v2 Julien Lepiller
2017-01-27 22:12 ` [PATCH 01/10] gnu: Add ocaml-base64 Julien Lepiller
2017-01-27 22:12 ` [PATCH 02/10] gnu: Add ocamlify Julien Lepiller
2017-01-27 22:12 ` [PATCH 03/10] gnu: Add omake Julien Lepiller
2017-01-27 22:12 ` [PATCH 04/10] gnu: Add ocaml-batteries Julien Lepiller
2017-01-27 22:12 ` [PATCH 05/10] gnu: Add ocaml-pcre Julien Lepiller
2017-01-27 22:12 ` [PATCH 06/10] gnu: Add ocaml-expect Julien Lepiller
2017-01-27 22:12 ` [PATCH 07/10] gnu: Add ocaml-fileutils Julien Lepiller
2017-01-27 22:12 ` [PATCH 08/10] gnu: Add ocaml-oasis Julien Lepiller
2017-01-27 22:12 ` [PATCH 09/10] gnu: Add ocaml-js-build-tools Julien Lepiller
2017-01-30  9:19   ` Ludovic Courtès [this message]
2017-01-30  9:22   ` Ludovic Courtès
2017-01-30 21:08     ` Julien Lepiller
2017-01-30 22:23       ` Ludovic Courtès
2017-01-30 22:48         ` Julien Lepiller
2017-01-31  9:22           ` Ludovic Courtès
2017-01-27 22:12 ` [PATCH 10/10] gnu: Add ocaml-bin-prot Julien Lepiller
2017-01-30  9:23 ` [PATCH 00/10] ocaml patches v2 Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2017-01-18 20:27 [PATCH 00/10] ocaml patches Julien Lepiller
2017-01-18 20:28 ` [PATCH 09/10] gnu: Add ocaml-js-build-tools Julien Lepiller
2017-01-18 22:21   ` Marius Bakke
2017-01-20 13:28     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87poj4gb1i.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=julien@lepiller.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).