From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A48EF13832E for ; Fri, 12 Aug 2016 11:05:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E0E0921C102; Fri, 12 Aug 2016 11:05:25 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3D51F21C0A2 for ; Fri, 12 Aug 2016 11:05:25 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0FCF4340688 for ; Fri, 12 Aug 2016 11:05:24 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 563D72457 for ; Fri, 12 Aug 2016 11:05:22 +0000 (UTC) From: "Alexis Ballier" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexis Ballier" Message-ID: <1470999833.6a42f01bcca5713a9f6a7c1ed81441c8213af56b.aballier@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/, dev-ml/eliom/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-ml/eliom/eliom-5.0.0-r1.ebuild dev-ml/eliom/eliom-5.0.0.ebuild dev-ml/eliom/files/camlp4.patch dev-ml/eliom/files/oc43.patch X-VCS-Directories: dev-ml/eliom/files/ dev-ml/eliom/ X-VCS-Committer: aballier X-VCS-Committer-Name: Alexis Ballier X-VCS-Revision: 6a42f01bcca5713a9f6a7c1ed81441c8213af56b X-VCS-Branch: master Date: Fri, 12 Aug 2016 11:05:22 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 35279be1-799e-49ad-85df-0285ee6d9ebb X-Archives-Hash: c121158a26f296d9e2dcb76d03ea780d commit: 6a42f01bcca5713a9f6a7c1ed81441c8213af56b Author: Alexis Ballier gentoo org> AuthorDate: Fri Aug 12 11:02:07 2016 +0000 Commit: Alexis Ballier gentoo 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 +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 {% < <:sig_item< >> + | si -> super#sig_item si + method ctyp ty = match ty with