Message ID | cover.1624042706.git.public@yoctocell.xyz |
---|---|
Headers | show |
Series | Add ocaml-mparser & friends | expand |
Le Fri, 18 Jun 2021 21:00:51 +0200, Xinglu Chen <public@yoctocell.xyz> a écrit : > This series adds ‘ocaml-mparser’, a monad parser combinator library, > plus two extensions for it --- ‘ocaml-mparser-re’ and > ‘ocaml-mparser-pcre’. > > I noticed that there already exists an ‘ocaml4.07-pcre’ package, what > is the policy regarding ‘ocaml4.07-*’ and ‘ocaml-*’ packages? > > Xinglu Chen (4): > gnu: Add ocaml-mparser. > gnu: Add ocaml-mparser-re. > gnu: Add ocaml-mparser-pcre. > gnu: Add ocaml-pcre. > > gnu/packages/ocaml.scm | 88 > ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 > insertions(+) > > > base-commit: caf4a7a2770ef4d05a6e18f40d602e51da749ddc Hi Xinglu, thank you for the patches! First, you should reorder your patches: we try to make sure every revision of guix is correct, but after the third patch, ocaml-pcre is missing. I would simply put pcre first :). To answer your question, we try to avoid having both the ocaml and ocaml4.07 around if possible. It seems that ocaml4.07-pcre is only required for ocaml4.07-expect. Could you check if it is possible to build expect with our latest ocaml package? If so, please have a patch that builds pcre and expect with the latest ocaml, then another patch for updating pcre to the latest version, then your three patches to add mparser. If not, then we have to keep ocaml4.07-pcre around, so here is how we do it, in a single patch: Replace ocaml4.07-pcre with ocaml-pcre (remove the arguments that use ocaml-4.07) and create a new ocaml4.07-pcre that inherits from it. It would look like this: (define-public ocaml-pcre (package (name "ocaml-pcre") ... (properties `((ocaml4.07-variant ,(delay ocaml4.07-pcre)))) ...)) (define-public ocaml4.07-pcre (package-with-ocaml4.07 (package (inherit ocaml-pcre) ... (properties '())))) If the latest version of pcre cannot be built with ocaml 4.07, you can specify a different source, like we do for ocaml4.07-parsexp for instance. I'm looking forward to v2 of this series :)
On Sat, Jun 19 2021, Julien Lepiller wrote: > Le Fri, 18 Jun 2021 21:00:51 +0200, > Xinglu Chen <public@yoctocell.xyz> a écrit : > >> This series adds ‘ocaml-mparser’, a monad parser combinator library, >> plus two extensions for it --- ‘ocaml-mparser-re’ and >> ‘ocaml-mparser-pcre’. >> >> I noticed that there already exists an ‘ocaml4.07-pcre’ package, what >> is the policy regarding ‘ocaml4.07-*’ and ‘ocaml-*’ packages? >> >> Xinglu Chen (4): >> gnu: Add ocaml-mparser. >> gnu: Add ocaml-mparser-re. >> gnu: Add ocaml-mparser-pcre. >> gnu: Add ocaml-pcre. >> >> gnu/packages/ocaml.scm | 88 >> ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 >> insertions(+) >> >> >> base-commit: caf4a7a2770ef4d05a6e18f40d602e51da749ddc > > Hi Xinglu, > > thank you for the patches! First, you should reorder your patches: we > try to make sure every revision of guix is correct, but after the third > patch, ocaml-pcre is missing. I would simply put pcre first :). Yeah, I think I messed something up when sending them. > To answer your question, we try to avoid having both the ocaml and > ocaml4.07 around if possible. It seems that ocaml4.07-pcre is only > required for ocaml4.07-expect. Could you check if it is possible to > build expect with our latest ocaml package? > > If so, please have a patch that builds pcre and expect with the latest > ocaml, then another patch for updating pcre to the latest version, then > your three patches to add mparser. > > If not, then we have to keep ocaml4.07-pcre around, so here is how we > do it, in a single patch: > > Replace ocaml4.07-pcre with ocaml-pcre (remove the arguments that use > ocaml-4.07) and create a new ocaml4.07-pcre that inherits from it. It > would look like this: > > (define-public ocaml-pcre > (package > (name "ocaml-pcre") > ... > (properties `((ocaml4.07-variant ,(delay ocaml4.07-pcre)))) > ...)) > > (define-public ocaml4.07-pcre > (package-with-ocaml4.07 > (package > (inherit ocaml-pcre) > ... > (properties '())))) > > If the latest version of pcre cannot be built with ocaml 4.07, you can > specify a different source, like we do for ocaml4.07-parsexp for > instance. Thanks for the detailed answer! I think it would be great to have something like this in the manual :) > I'm looking forward to v2 of this series :) Should be coming soon :)
Changes since v1: * Make ‘ocaml4.07-pcre’ and ‘ocaml4.07-expect’ use the default OCaml compiler and reorder the commits. Xinglu Chen (5): gnu: ocaml4.07-pcre: Switch to default ‘ocaml’ compiler. gnu: ocaml4.07-expect: Switch to default ‘ocaml’ compiler. gnu: Add ocaml-mparser. gnu: Add ocaml-mparser-re. gnu: Add ocaml-mparser-pcre. gnu/packages/ocaml.scm | 131 ++++++++++++++++++++++++++++++----------- 1 file changed, 95 insertions(+), 36 deletions(-) base-commit: dee608a1bb09e691e32203f2493975d71318c296