public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alexis Ballier" <aballier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/
Date: Fri, 12 Aug 2016 11:05:22 +0000 (UTC)	[thread overview]
Message-ID: <1470999833.6a42f01bcca5713a9f6a7c1ed81441c8213af56b.aballier@gentoo> (raw)

commit:     6a42f01bcca5713a9f6a7c1ed81441c8213af56b
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 11:02:07 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 11:03:53 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a42f01b

dev-ml/eliom: fix build with ocaml 4.03 and add missing dep on camlp4

Package-Manager: portage-2.3.0

 .../{eliom-5.0.0.ebuild => eliom-5.0.0-r1.ebuild}  |  9 +++-
 dev-ml/eliom/files/camlp4.patch                    | 48 ++++++++++++++++++++++
 dev-ml/eliom/files/oc43.patch                      | 37 +++++++++++++++++
 3 files changed, 93 insertions(+), 1 deletion(-)

diff --git a/dev-ml/eliom/eliom-5.0.0.ebuild b/dev-ml/eliom/eliom-5.0.0-r1.ebuild
similarity index 88%
rename from dev-ml/eliom/eliom-5.0.0.ebuild
rename to dev-ml/eliom/eliom-5.0.0-r1.ebuild
index e0d8cb7..b5103a3 100644
--- a/dev-ml/eliom/eliom-5.0.0.ebuild
+++ b/dev-ml/eliom/eliom-5.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -26,11 +26,18 @@ RDEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
 	dev-ml/ocaml-ssl:=
 	>=dev-ml/lwt-2.5.0:=
 	dev-ml/calendar:=
+	dev-ml/camlp4:=
 	ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
 DEPEND="${RDEPEND}
 	dev-ml/ocamlbuild
 	dev-ml/opam"
 
+src_prepare() {
+	if has_version '>=dev-lang/ocaml-4.03' ; then
+		epatch "${FILESDIR}/"{camlp4,oc43}.patch
+	fi
+}
+
 src_compile() {
 	if use ocamlopt ; then
 		emake PPX=$(usex ppx true false) all

diff --git a/dev-ml/eliom/files/camlp4.patch b/dev-ml/eliom/files/camlp4.patch
new file mode 100644
index 0000000..59e94ab
--- /dev/null
+++ b/dev-ml/eliom/files/camlp4.patch
@@ -0,0 +1,48 @@
+commit f157a5b913451b85e8cfe7549c66e5c98669233b
+Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
+Date:   Wed Mar 2 14:23:02 2016 +0100
+
+    Compile against Camlp4 4.02+7
+
+diff --git a/src/syntax/pa_eliom_seed.ml b/src/syntax/pa_eliom_seed.ml
+index c101ff8..dc31caa 100644
+--- a/src/syntax/pa_eliom_seed.ml
++++ b/src/syntax/pa_eliom_seed.ml
+@@ -632,8 +632,26 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct
+         | None ->
+             Printf.ksprintf (Syntax_error.raise loc) fmt
+ 
+-    module E2 = Camlp4.ErrorHandler.Register(Syntax_error)
+-    DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END;
++    module E2 = Camlp4.ErrorHandler.Register(Syntax_error) ;;
++
++    try
++      DELETE_RULE Gram expr: "{"; TRY [label_expr_list; "}"] END
++    with Camlp4.Struct.Grammar.Delete.Rule_not_found _ ->
++      (let test_record_field =
++         Gram.Entry.of_parser "record_field" (fun strm ->
++           let rec loop = function
++             | [] -> ()
++             | (UIDENT _, _) :: (KEYWORD ".", _) :: rest -> loop rest
++             | (LIDENT _, _) :: (KEYWORD "=", _) :: _    -> ()
++             | (LIDENT _, _) :: (KEYWORD ";", _) :: _    -> ()
++             | [LIDENT _, _] -> ()
++             | _ -> raise Stream.Failure
++           in
++           loop (Stream.npeek 100 strm))
++       in
++       DELETE_RULE Gram expr:
++         "{"; test_record_field; label_expr_list; "}" END) ;;
++
+     DELETE_RULE Gram expr: "{"; TRY [expr LEVEL "."; "with"]; label_expr_list; "}" END;
+ 
+     (* Extending syntax *)
+@@ -812,7 +830,7 @@ module Register(Id : sig val name: string end)(Pass : Pass) = struct
+       expr: LEVEL "simple"
+ 
+         [ [ KEYWORD "{"; lel = TRY [lel = label_expr_list; "}" -> lel] ->
+-              <:expr< { $lel$ } >>
++            Ast.ExRec (_loc, lel, Ast.ExNil _loc)
+           | KEYWORD "{shared#";
+             typ = TRY [ typ = OPT ctyp; KEYWORD "{" -> typ];
+             opt_lvl = dummy_set_level_shared_value_expr ;

diff --git a/dev-ml/eliom/files/oc43.patch b/dev-ml/eliom/files/oc43.patch
new file mode 100644
index 0000000..07d2729
--- /dev/null
+++ b/dev-ml/eliom/files/oc43.patch
@@ -0,0 +1,37 @@
+Index: eliom-5.0.0/src/lib/eliom_lib.client.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_lib.client.mli
++++ eliom-5.0.0/src/lib/eliom_lib.client.mli
+@@ -43,7 +43,6 @@ type 'a shared_value = 'a
+ 
+ val create_shared_value : 'a -> 'a client_value -> 'a shared_value
+ 
+-exception Eliom_Internal_Error of string
+ 
+ (** This exception is raised (in Lwt) on the client if a call to a
+     server function {% <<a_api subproject="server"|val
+Index: eliom-5.0.0/src/lib/eliom_lib.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_lib.server.mli
++++ eliom-5.0.0/src/lib/eliom_lib.server.mli
+@@ -50,7 +50,6 @@ type +'a shared_value
+ *)
+ exception Client_value_creation_invalid_context of string
+ 
+-exception Eliom_Internal_Error of string
+ 
+ type file_info = Ocsigen_extensions.file_info
+ 
+Index: eliom-5.0.0/src/syntax/pa_include.ml
+===================================================================
+--- eliom-5.0.0.orig/src/syntax/pa_include.ml
++++ eliom-5.0.0/src/syntax/pa_include.ml
+@@ -27,7 +27,7 @@ module Make(Syntax : Camlp4.Sig.Camlp4Sy
+   class subst_type env = object (self)
+     inherit Ast.map as super
+     method sig_item si = match si with
+-      | Ast.SgTyp (_loc, (Ast.TyDcl (_, lid, _, Ast.TyNil _, _)))
++      | Ast.SgTyp (_loc, rf, (Ast.TyDcl (_, lid, _, Ast.TyNil _, _)))
+         when List.mem_assoc lid env -> <:sig_item< >>
+       | si -> super#sig_item si
+     method ctyp ty = match ty with


             reply	other threads:[~2016-08-12 11:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-12 11:05 Alexis Ballier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-12-19 12:54 [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/ Alexis Ballier
2016-10-10 14:03 Alexis Ballier
2016-08-12 12:47 Alexis Ballier
2016-03-01 18:47 Alexis Ballier
2016-01-19 12:18 Alexis Ballier

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

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

  git send-email \
    --in-reply-to=1470999833.6a42f01bcca5713a9f6a7c1ed81441c8213af56b.aballier@gentoo \
    --to=aballier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox