public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/files/, dev-ml/eliom/
@ 2016-01-19 12:18 Alexis Ballier
  0 siblings, 0 replies; 4+ messages in thread
From: Alexis Ballier @ 2016-01-19 12:18 UTC (permalink / raw
  To: gentoo-commits

commit:     5f0dbdf6b728cfc22bcc62db3cca161f8cc2796d
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 19 12:06:52 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Jan 19 12:06:52 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f0dbdf6

dev-ml/eliom: remove old

Package-Manager: portage-2.2.27
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ml/eliom/Manifest              |  2 --
 dev-ml/eliom/eliom-3.0.3.ebuild    | 61 ---------------------------------
 dev-ml/eliom/eliom-4.1.0-r1.ebuild | 60 --------------------------------
 dev-ml/eliom/eliom-4.1.0.ebuild    | 54 -----------------------------
 dev-ml/eliom/files/lwt.patch       | 70 --------------------------------------
 5 files changed, 247 deletions(-)

diff --git a/dev-ml/eliom/Manifest b/dev-ml/eliom/Manifest
index cbfca28..5909867 100644
--- a/dev-ml/eliom/Manifest
+++ b/dev-ml/eliom/Manifest
@@ -1,3 +1 @@
-DIST eliom-3.0.3.tar.gz 743842 SHA256 b598bfbfc37fb9164024df71352e74d26d6ce2095f89f3d52072b3f7334a5b86 SHA512 4112d9422a1407b3d82a716aedf86a3efad733eb5a98fd3d4356e2bd149cdb6ef029efd0dae0e9ed7f89613cf6cbd1c5c25f2ef8f905bf2ad7709db1f7d39075 WHIRLPOOL af9aebe320ab6a8dce96ede3c6aaf57c90a537ffb520766ad08f23bde6cbe303ff39707dae3c91a4f980e163b47b071958d488f3232f3a1359ab53eaec09001c
-DIST eliom-4.1.0.tar.gz 699262 SHA256 44541cdcc93b622fee79a1d9bdd46d6caf7ace71b1a3891e6d7de93f70ae6783 SHA512 6dac3f2d26a3730df48270c62e16abec935656022a2cbb1c221ce040ff574b79e82d7da977d58fbd67ca884b64611e6a97a4144a5a142f8aa6c887897cf230f5 WHIRLPOOL a95985afae803a11744dbc1468d4d07d07938f63c5a570e67545b96887ff0d2ca2a1971a9be35c45dbe28b1c3f74bf473a136843143d45cb9bd2451ca85abd64
 DIST eliom-4.2.tar.gz 699337 SHA256 30d180b72d21177d09b311785e08e54cc221b148d969f17334f8be6eecfb783d SHA512 c7c75dc00defe0c269aba4e4fbdc00a824b781b124e3f51747e29533c4aeedaecb68c7ebcb38b4cc9a51c3796abdfa680ba0702a83415911406b25cd07ad66c7 WHIRLPOOL 2a36deeb10cbf3b29c76b33185de1c848615293830f7a3701c2d87025be0ed575cdadf238c696ad4716e50f2b0258febef7b7039a1980aafeaf6e1c483ec46ca

diff --git a/dev-ml/eliom/eliom-3.0.3.ebuild b/dev-ml/eliom/eliom-3.0.3.ebuild
deleted file mode 100644
index 24545c2..0000000
--- a/dev-ml/eliom/eliom-3.0.3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils multilib findlib
-
-DESCRIPTION="A web framework to program client/server applications"
-HOMEPAGE="http://ocsigen.org/eliom/"
-SRC_URI="http://www.ocsigen.org/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1-with-linking-exception"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="doc +ocamlopt"
-
-DEPEND=">=dev-lang/ocaml-3.12:=[ocamlopt?]
-	>=dev-ml/js_of_ocaml-1.3.2:=
-	>=www-servers/ocsigenserver-2.2.0:=
-	>=dev-ml/tyxml-2.1:=
-	>=dev-ml/deriving-ocsigen-0.3:=
-	dev-ml/react:=
-	dev-ml/ocaml-ssl:=
-	dev-ml/calendar:="
-RDEPEND="${DEPEND}"
-
-src_configure() {
-	sh configure \
-		--prefix "/usr" \
-		--docdir "/usr/share/doc/${PF}/html" \
-		--mandir "/usr/share/man/" \
-		--temproot "${ED}" \
-		--libdir "/usr/$(get_libdir)/ocaml" \
-		|| die "configure failed"
-}
-
-src_compile() {
-	if use ocamlopt ; then
-		emake
-	else
-		emake byte
-	fi
-	use doc && emake doc -j1
-}
-
-src_test() {
-	emake tests.byte
-	use ocamlopt && emake tests.opt
-}
-
-src_install() {
-	findlib_src_preinst
-	if use ocamlopt; then
-		emake install
-	else
-		emake install.byte
-	fi
-	use doc && emake install.doc
-	dodoc CHANGES README
-}

diff --git a/dev-ml/eliom/eliom-4.1.0-r1.ebuild b/dev-ml/eliom/eliom-4.1.0-r1.ebuild
deleted file mode 100644
index 527e829..0000000
--- a/dev-ml/eliom/eliom-4.1.0-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils multilib findlib
-
-DESCRIPTION="A web framework to program client/server applications"
-HOMEPAGE="http://ocsigen.org/eliom/"
-SRC_URI="https://github.com/ocsigen/eliom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1-with-linking-exception"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="doc +ocamlopt"
-
-DEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
-	>=dev-ml/js_of_ocaml-2.5-r1:=
-	>=www-servers/ocsigenserver-2.5:=
-	>=dev-ml/tyxml-3.3:=
-	>=dev-ml/deriving-0.6:=
-	dev-ml/reactiveData:=
-	dev-ml/ocaml-ipaddr:=
-	dev-ml/react:=
-	dev-ml/ocaml-ssl:=
-	>=dev-ml/lwt-2.5.0:=
-	dev-ml/calendar:="
-RDEPEND="${DEPEND}
-	dev-ml/opam"
-
-src_prepare() {
-	epatch "${FILESDIR}/lwt.patch"
-}
-
-src_compile() {
-	if use ocamlopt ; then
-		emake all
-	else
-		emake byte
-	fi
-	use doc && emake doc
-	emake man
-}
-
-src_install() {
-	opam-installer \
-		--prefix="${ED}/usr" \
-		--libdir="${D}/$(ocamlc -where)" \
-		--docdir="${ED}/usr/share/doc/${PF}" \
-		--mandir="${ED}/usr/share/man" \
-		|| die
-	dodoc CHANGES README
-	if use doc ; then
-		docinto client/html
-		dodoc -r _build/src/lib/client/api.docdir/*
-		docinto server/html
-		dodoc -r _build/src/lib/server/api.docdir/*
-	fi
-}

diff --git a/dev-ml/eliom/eliom-4.1.0.ebuild b/dev-ml/eliom/eliom-4.1.0.ebuild
deleted file mode 100644
index c550f69..0000000
--- a/dev-ml/eliom/eliom-4.1.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils multilib findlib
-
-DESCRIPTION="A web framework to program client/server applications"
-HOMEPAGE="http://ocsigen.org/eliom/"
-SRC_URI="https://github.com/ocsigen/eliom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1-with-linking-exception"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="doc +ocamlopt"
-
-DEPEND=">=dev-lang/ocaml-4.00:=[ocamlopt?]
-	>=dev-ml/js_of_ocaml-2.5-r1:=
-	>=www-servers/ocsigenserver-2.5:=
-	>=dev-ml/tyxml-3.3:=
-	>=dev-ml/deriving-0.6:=
-	dev-ml/reactiveData:=
-	dev-ml/ocaml-ipaddr:=
-	dev-ml/react:=
-	dev-ml/ocaml-ssl:=
-	dev-ml/calendar:="
-RDEPEND="${DEPEND}
-	dev-ml/opam"
-
-src_compile() {
-	if use ocamlopt ; then
-		emake all
-	else
-		emake byte
-	fi
-	use doc && emake doc
-	emake man
-}
-
-src_install() {
-	opam-installer \
-		--prefix="${ED}/usr" \
-		--libdir="${D}/$(ocamlc -where)" \
-		--docdir="${ED}/usr/share/doc/${PF}" \
-		|| die
-	dodoc CHANGES README
-	if use doc ; then
-		docinto client/html
-		dodoc -r _build/src/lib/client/api.docdir/*
-		docinto server/html
-		dodoc -r _build/src/lib/server/api.docdir/*
-	fi
-}

diff --git a/dev-ml/eliom/files/lwt.patch b/dev-ml/eliom/files/lwt.patch
deleted file mode 100644
index 8f3546e..0000000
--- a/dev-ml/eliom/files/lwt.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-commit 107338c381b6a489c24c2dc9874de028a2cd08a3
-Author: Drup <drupyog@zoho.com>
-Date:   Fri Jan 16 16:42:33 2015 +0100
-
-    Remove dependency to Lwt_util.
-
-diff --git a/src/lib/eliom_state.server.ml b/src/lib/eliom_state.server.ml
-index f7ea0ca..3523fc3 100644
---- a/src/lib/eliom_state.server.ml
-+++ b/src/lib/eliom_state.server.ml
-@@ -561,7 +561,7 @@ let set_persistent_data_session_group ?set_max
-     ?set_max
-     (fst sitedata.Eliom_common.max_persistent_data_sessions_per_group)
-     c.Eliom_common.pc_value !grp n in
--  lwt () = Lwt_util.iter
-+  lwt () = Lwt_list.iter_p
-     (Eliommod_persess.close_persistent_state2
-        ~scope:(scope:>Eliom_common.user_scope) sitedata None) l in
-   grp := n;
-diff --git a/src/lib/server/eliommod_gc.ml b/src/lib/server/eliommod_gc.ml
-index 5655ddf..6ab298d 100644
---- a/src/lib/server/eliommod_gc.ml
-+++ b/src/lib/server/eliommod_gc.ml
-@@ -135,7 +135,7 @@ let gc_timeouted_services now tables =
-               Lwt.return ()
-         end
-   in
--  Lwt_util.iter_serial
-+  Lwt_list.iter_s
-     (fun (_gen, _prio, t) -> empty_one t) tables.Eliom_common.table_services
-   >>= fun () ->
-   tables.Eliom_common.table_services <-
-diff --git a/src/lib/server/eliommod_pagegen.ml b/src/lib/server/eliommod_pagegen.ml
-index 1e2d0b4..e0a96a6 100644
---- a/src/lib/server/eliommod_pagegen.ml
-+++ b/src/lib/server/eliommod_pagegen.ml
-@@ -99,7 +99,6 @@ let update_cookie_table ?now sitedata (ci, sci) =
- 
- 
-   (* Update persistent expiration date, user timeout and value *)
--  (* Lwt_util.iter *)
-     Eliom_common.Full_state_name_table.fold
- 
-       (fun name v thr ->
-diff --git a/src/lib/server/eliommod_persess.ml b/src/lib/server/eliommod_persess.ml
-index 18c0f5b..9e25906 100644
---- a/src/lib/server/eliommod_persess.ml
-+++ b/src/lib/server/eliommod_persess.ml
-@@ -152,7 +152,7 @@ let rec find_or_create_persistent_cookie_
-       ?set_max:set_max_in_group
-       (fst sitedata.Eliom_common.max_persistent_data_sessions_per_group)
-       c fullsessgrp >>= fun l ->
--    Lwt_util.iter (close_persistent_state2
-+    Lwt_list.iter_p (close_persistent_state2
-                      ~scope:(cookie_scope :> Eliom_common.user_scope)
-                      sitedata None) l
-     >>= fun () ->
-diff --git a/src/lib/server/eliommod_sessiongroups.ml b/src/lib/server/eliommod_sessiongroups.ml
-index e69a62a..b7eb8f7 100644
---- a/src/lib/server/eliommod_sessiongroups.ml
-+++ b/src/lib/server/eliommod_sessiongroups.ml
-@@ -475,7 +475,7 @@ module Pers = struct
-         (* First we close all sessions in the group *)
- 
-         find sess_grp >>= fun cl ->
--        Lwt_util.iter
-+        Lwt_list.iter_p
-           (close_persistent_session2
-              ~cookie_level:(match cookie_level with
-                | `Client_process _ -> `Client_process | `Session -> `Session)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/files/, dev-ml/eliom/
@ 2016-09-07  9:34 Alexis Ballier
  0 siblings, 0 replies; 4+ messages in thread
From: Alexis Ballier @ 2016-09-07  9:34 UTC (permalink / raw
  To: gentoo-commits

commit:     56013d6071db66e97a6a7193594792b595610f3a
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  7 09:33:53 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Wed Sep  7 09:34:01 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56013d60

dev-ml/eliom: backport another patch from upstream to work with ocaml 4.03

Package-Manager: portage-2.3.0

 ...eliom-5.0.0-r1.ebuild => eliom-5.0.0-r2.ebuild} |   2 +-
 dev-ml/eliom/files/oc43-2.patch                    | 136 +++++++++++++++++++++
 2 files changed, 137 insertions(+), 1 deletion(-)

diff --git a/dev-ml/eliom/eliom-5.0.0-r1.ebuild b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
similarity index 96%
rename from dev-ml/eliom/eliom-5.0.0-r1.ebuild
rename to dev-ml/eliom/eliom-5.0.0-r2.ebuild
index 8aaec1f..36923d1 100644
--- a/dev-ml/eliom/eliom-5.0.0-r1.ebuild
+++ b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
@@ -34,7 +34,7 @@ DEPEND="${RDEPEND}
 
 src_prepare() {
 	if has_version '>=dev-lang/ocaml-4.03' ; then
-		epatch "${FILESDIR}/"{camlp4,oc43}.patch
+		epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch
 	fi
 	has_version '>=dev-ml/tyxml-4' && epatch "${FILESDIR}/tyxml4.patch"
 }

diff --git a/dev-ml/eliom/files/oc43-2.patch b/dev-ml/eliom/files/oc43-2.patch
new file mode 100644
index 00000000..c7eb8e2
--- /dev/null
+++ b/dev-ml/eliom/files/oc43-2.patch
@@ -0,0 +1,136 @@
+commit 27c69ac5dfbc26744e304232bb8c0cf22d396082
+Author: Vasilis Papavasileiou <git@vasilis.airpost.net>
+Date:   Thu May 5 11:14:02 2016 -0400
+
+    Fix PPX for 4.03 (empty let bindings)
+
+diff --git a/src/ppx/ppx_eliom_client.ml b/src/ppx/ppx_eliom_client.ml
+index 580d2b5..fb2d263 100644
+--- a/src/ppx/ppx_eliom_client.ml
++++ b/src/ppx/ppx_eliom_client.ml
+@@ -89,21 +89,25 @@ module Pass = struct
+     ]
+ 
+   let define_client_functions ~loc client_value_datas =
+-    let bindings =
+-      List.map
+-        (fun (_num, id, expr, args) ->
+-           let patt = Pat.var id in
+-           let typ = find_fragment id in
+-           let args = List.map Pat.var args in
+-           let expr =
+-             [%expr
+-               fun [%p pat_args args] -> ([%e expr] : [%t typ])
+-             ] [@metaloc loc]
+-           in
+-           Vb.mk ~loc patt expr)
+-        client_value_datas
+-    in
+-    Str.value ~loc Nonrecursive bindings
++    match client_value_datas with
++    | [] ->
++      []
++    | _ ->
++      let bindings =
++        List.map
++          (fun (_num, id, expr, args) ->
++             let patt = Pat.var id in
++             let typ = find_fragment id in
++             let args = List.map Pat.var args in
++             let expr =
++               [%expr
++                 fun [%p pat_args args] -> ([%e expr] : [%t typ])
++               ] [@metaloc loc]
++             in
++             Vb.mk ~loc patt expr)
++          client_value_datas
++      in
++      [Str.value ~loc Nonrecursive bindings]
+ 
+   (* For injections *)
+ 
+@@ -139,8 +143,8 @@ module Pass = struct
+     let client_expr_data = flush_client_value_datas () in
+     open_client_section loc ::
+     register_client_closures client_expr_data @
+-    [ define_client_functions loc client_expr_data ;
+-      item ;
++    define_client_functions loc client_expr_data @
++    [ item ;
+       close_server_section loc ;
+     ]
+ 
+@@ -155,11 +159,13 @@ module Pass = struct
+     push_client_value_data num id expr
+       (List.map fst escaped_bindings);
+ 
+-    match context with
+-    | `Server ->
++    match context, escaped_bindings with
++    | `Server, _ ->
+       (* We are in a server fragment, this code should always be discarded. *)
+       Exp.extension @@ AM.extension_of_error @@ Location.errorf "Eliom: ICE"
+-    | `Shared ->
++    | `Shared, [] ->
++      [%expr [%e frag_eid] ()][@metaloc loc]
++    | `Shared, _ ->
+       let bindings =
+         List.map
+           (fun (gen_id, expr) ->
+diff --git a/src/ppx/ppx_eliom_server.ml b/src/ppx/ppx_eliom_server.ml
+index 97f0b53..b5238ad 100644
+--- a/src/ppx/ppx_eliom_server.ml
++++ b/src/ppx/ppx_eliom_server.ml
+@@ -85,6 +85,7 @@ module Pass = struct
+      let $gen_id$ = $orig_expr$ and ...
+      (Necessary for injections in shared section) *)
+   let bind_injected_idents injections =
++    assert (injections <> []);
+     let bindings =
+       List.map
+         (fun (txt, expr,_) ->
+@@ -134,10 +135,15 @@ module Pass = struct
+ 
+   let client_str item =
+     let all_injections = flush_injections () in
+-    let loc = item.pstr_loc in
+-    [ bind_injected_idents all_injections;
++    let ccs =
++      let loc = item.pstr_loc in
+       close_client_section loc all_injections
+-    ]
++    in
++    match all_injections with
++    | [] ->
++      [ ccs ]
++    | l ->
++      [ bind_injected_idents l ; ccs ]
+ 
+   let server_str item = [
+     item ;
+@@ -146,12 +152,19 @@ module Pass = struct
+ 
+   let shared_str item =
+     let all_injections = flush_injections () in
+-    let loc = item.pstr_loc in
+-    [ bind_injected_idents all_injections ;
+-      item ;
+-      close_server_section loc ;
+-      close_client_section loc all_injections ;
+-    ]
++    let cl =
++      let loc = item.pstr_loc in
++      [
++        item;
++        close_server_section loc ;
++        close_client_section loc all_injections ;
++      ]
++    in
++    match all_injections with
++    | [] ->
++      cl
++    | l ->
++      bind_injected_idents l :: cl
+ 
+   let fragment ?typ ~context:_ ~num ~id expr =
+     let typ =


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/files/, dev-ml/eliom/
@ 2016-11-28 21:17 Alexis Ballier
  0 siblings, 0 replies; 4+ messages in thread
From: Alexis Ballier @ 2016-11-28 21:17 UTC (permalink / raw
  To: gentoo-commits

commit:     3259962977f7ec30f0803a904e748ce67f2638ab
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 28 21:17:07 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Nov 28 21:17:17 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32599629

dev-ml/eliom: fix build with reactivedata 0.2.1 and ocsigenserver 2.8; bug #601102

Package-Manager: portage-2.3.2

 dev-ml/eliom/eliom-5.0.0-r2.ebuild    |   8 +-
 dev-ml/eliom/eliom-9999.ebuild        |   4 +-
 dev-ml/eliom/files/ocsigen28.patch    | 500 ++++++++++++++++++++++++++++++++++
 dev-ml/eliom/files/reactivedata.patch |  44 +++
 4 files changed, 551 insertions(+), 5 deletions(-)

diff --git a/dev-ml/eliom/eliom-5.0.0-r2.ebuild b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
index 6b4ae4b..0807fa3 100644
--- a/dev-ml/eliom/eliom-5.0.0-r2.ebuild
+++ b/dev-ml/eliom/eliom-5.0.0-r2.ebuild
@@ -17,10 +17,10 @@ IUSE="doc +ocamlopt +ppx"
 
 RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
 	>=dev-ml/js_of_ocaml-2.8.2:=
-	>=www-servers/ocsigenserver-2.5:=
+	>=www-servers/ocsigenserver-2.8:=
 	>=dev-ml/tyxml-4:=
 	>=dev-ml/deriving-0.6:=
-	>=dev-ml/reactiveData-0.2:=
+	>=dev-ml/reactiveData-0.2.1:=
 	dev-ml/ocaml-ipaddr:=
 	dev-ml/react:=
 	dev-ml/ocaml-ssl:=
@@ -35,7 +35,9 @@ DEPEND="${RDEPEND}
 src_prepare() {
 	epatch "${FILESDIR}/"{camlp4,oc43,oc43-2}.patch \
 		"${FILESDIR}/tyxml4.patch" \
-		"${FILESDIR}/jsofocaml-282.patch"
+		"${FILESDIR}/jsofocaml-282.patch" \
+		"${FILESDIR}/reactivedata.patch" \
+		"${FILESDIR}/ocsigen28.patch"
 }
 
 src_compile() {

diff --git a/dev-ml/eliom/eliom-9999.ebuild b/dev-ml/eliom/eliom-9999.ebuild
index f408965..bc9355f 100644
--- a/dev-ml/eliom/eliom-9999.ebuild
+++ b/dev-ml/eliom/eliom-9999.ebuild
@@ -25,10 +25,10 @@ IUSE="doc +ocamlopt +ppx"
 
 RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
 	>=dev-ml/js_of_ocaml-2.5-r1:=
-	>=www-servers/ocsigenserver-2.5:=
+	>=www-servers/ocsigenserver-2.8:=
 	>=dev-ml/tyxml-4:=
 	>=dev-ml/deriving-0.6:=
-	>=dev-ml/reactiveData-0.2:=
+	>=dev-ml/reactiveData-0.2.1:=
 	dev-ml/ocaml-ipaddr:=
 	dev-ml/react:=
 	dev-ml/ocaml-ssl:=

diff --git a/dev-ml/eliom/files/ocsigen28.patch b/dev-ml/eliom/files/ocsigen28.patch
new file mode 100644
index 00000000..fb3ef0a
--- /dev/null
+++ b/dev-ml/eliom/files/ocsigen28.patch
@@ -0,0 +1,500 @@
+Index: eliom-5.0.0/src/lib/eliom_common.server.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_common.server.ml
++++ eliom-5.0.0/src/lib/eliom_common.server.ml
+@@ -1372,7 +1372,7 @@ let create_persistent_table name =
+ 
+ let persistent_cookies_table :
+     (full_state_name * float option * timeout * perssessgrp option)
+-    Ocsipersist.table Lazy.t =
++    Ocsipersist.table Lwt.t Lazy.t =
+   lazy (create_persistent_table eliom_persistent_cookie_table)
+ (* Another tables, containing the session info for each cookie *)
+ (* the table contains:
+@@ -1390,7 +1390,7 @@ let persistent_cookies_table :
+ let remove_from_all_persistent_tables key =
+   Perstables.fold (* could be replaced by a parallel map *)
+     (fun thr t -> thr >>= fun () ->
+-      Ocsipersist.remove (Ocsipersist.open_table t) key >>= Lwt_unix.yield)
++      Ocsipersist.open_table t >>= fun table -> Ocsipersist.remove table key >>= Lwt_unix.yield)
+     (return ())
+     !perstables
+ 
+Index: eliom-5.0.0/src/lib/eliom_common.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_common.server.mli
++++ eliom-5.0.0/src/lib/eliom_common.server.mli
+@@ -609,10 +609,10 @@ module Perstables :
+     val fold : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
+   end
+ val perstables : string list ref
+-val create_persistent_table : string -> 'a Ocsipersist.table
++val create_persistent_table : string -> 'a Ocsipersist.table Lwt.t
+ val persistent_cookies_table :
+   (full_state_name * float option * timeout * perssessgrp option)
+-  Ocsipersist.table Lazy.t
++  Ocsipersist.table Lwt.t Lazy.t
+ val remove_from_all_persistent_tables : string -> unit Lwt.t
+ val absolute_change_sitedata : sitedata -> unit
+ val get_current_sitedata : unit -> sitedata
+Index: eliom-5.0.0/src/lib/eliom_reference.server.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_reference.server.ml
++++ eliom-5.0.0/src/lib/eliom_reference.server.ml
+@@ -32,8 +32,8 @@ type 'a eref_kind =
+   | Ref of 'a lazy_t ref (* Ocaml reference *)
+   | Vol of 'a volatile_table Lazy.t (* Vol. table (group, session, process) *)
+   | Ocsiper of 'a option Ocsipersist.t Lwt.t (* Global persist. table *)
+-  | Ocsiper_sit of 'a Ocsipersist.table (* Persist. table for site *)
+-  | Per of 'a persistent_table (* Persist. table for group session or process *)
++  | Ocsiper_sit of 'a Ocsipersist.table Lwt.t (* Persist. table for site *)
++  | Per of 'a persistent_table Lwt.t (* Persist. table for group session or process *)
+ 
+ type volatile = [ `Volatile ]
+ type persistent = [ `Persistent ]
+@@ -174,9 +174,7 @@ let eref_from_fun_ ~ext ~scope ?secure ?
+           | None -> (Volatile.eref_from_fun_ ~ext ~scope ?secure f :> _ eref)
+           | Some name ->
+             (f, ext,
+-             Ocsiper (Ocsipersist.make_persistent
+-                        ~store:pers_ref_store
+-                        ~name ~default:None))
++	     Ocsiper (pers_ref_store >>= fun store -> Ocsipersist.make_persistent ~store ~name ~default:None))
+       end
+     | `Site ->
+       begin
+@@ -207,6 +205,7 @@ let get_site_id () =
+ let get (f, _, table as eref) =
+   match table with
+     | Per t ->
++      t >>= fun t ->
+       (get_persistent_data ~table:t () >>= function
+         | Data d -> Lwt.return d
+         | _ ->
+@@ -221,6 +220,7 @@ let get (f, _, table as eref) =
+              Ocsipersist.set r (Some value) >>= fun () ->
+              Lwt.return value)
+     | Ocsiper_sit t ->
++      t >>= fun t ->
+       (let site_id = get_site_id () in
+        try_lwt Ocsipersist.find t site_id
+        with Not_found ->
+@@ -231,9 +231,10 @@ let get (f, _, table as eref) =
+ 
+ let set (_, _, table as eref) value =
+   match table with
+-    | Per t -> set_persistent_data ~table:t value
++    | Per t -> t >>= fun t -> set_persistent_data ~table:t value
+     | Ocsiper r -> r >>= fun r -> Ocsipersist.set r (Some value)
+     | Ocsiper_sit t ->
++      t >>= fun t ->
+       Ocsipersist.add t (get_site_id ()) value
+     | _ -> Lwt.return (Volatile.set eref value)
+ 
+@@ -242,9 +243,10 @@ let modify eref f =
+ 
+ let unset (f, _, table as eref) =
+   match table with
+-    | Per t -> remove_persistent_data ~table:t ()
++    | Per t ->  t >>= fun t -> remove_persistent_data ~table:t ()
+     | Ocsiper r -> r >>= fun r -> Ocsipersist.set r None
+     | Ocsiper_sit t ->
++      t >>= fun t ->
+       Ocsipersist.remove t (get_site_id ())
+     | _ -> Lwt.return (Volatile.unset eref)
+ 
+@@ -258,6 +260,7 @@ module Ext = struct
+     match table with
+       | Vol _ -> Lwt.return (Volatile.Ext.get state r)
+       | Per t ->
++        t >>= fun t ->
+         (Lwt.catch
+            (fun () -> Eliom_state.Ext.Low_level.get_persistent_data
+              ~state ~table:t)
+@@ -279,6 +282,7 @@ module Ext = struct
+     match table with
+       | Vol _ -> Lwt.return (Volatile.Ext.set state r value)
+       | Per t ->
++        t >>= fun t ->
+         Eliom_state.Ext.Low_level.set_persistent_data
+           ~state ~table:t value
+       | _ -> Lwt.fail (Failure "wrong eref for this function")
+@@ -291,7 +295,7 @@ module Ext = struct
+     let state = Eliom_state.Ext.untype_state state in
+     match table with
+       | Vol _ -> Lwt.return (Volatile.Ext.unset state r)
+-      | Per t -> Eliom_state.Ext.Low_level.remove_persistent_data
++      | Per t -> t >>= fun t -> Eliom_state.Ext.Low_level.remove_persistent_data
+         ~state ~table:t
+       | _ -> failwith "wrong eref for this function"
+ 
+Index: eliom-5.0.0/src/lib/eliom_state.server.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_state.server.ml
++++ eliom-5.0.0/src/lib/eliom_state.server.ml
+@@ -918,11 +918,11 @@ type 'a persistent_table =
+        bool *
+        (int64 * 'a) Ocsipersist.table)
+ 
+-let create_persistent_table ~scope ?secure name : 'a persistent_table =
++let create_persistent_table ~scope ?secure name : 'a persistent_table Lwt.t =
+   let sitedata = Eliom_request_info.find_sitedata "create_persistent_table" in
+   let secure = Eliom_common.get_secure secure sitedata in
+-  let t = Eliom_common.create_persistent_table name in
+-  (scope, secure, t)
++  Eliom_common.create_persistent_table name >>= fun t ->
++  Lwt.return (scope, secure, t)
+ 
+ let get_p_table_key_
+     ~table:(scope, secure, table)
+@@ -1271,10 +1271,8 @@ module Ext = struct
+ 
+   let get_persistent_cookie_info
+       ((_, _, cookie) : ([< Eliom_common.cookie_level ], [ `Pers ]) state) =
+-    Ocsipersist.find
+-      (Lazy.force Eliommod_persess.persistent_cookies_table)
+-      cookie
+-    >>= fun v ->
++    Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
++    Ocsipersist.find table cookie >>= fun v ->
+     Lwt.return (cookie, v)
+ 
+   let discard_state ~state =
+@@ -1487,10 +1485,8 @@ module Ext = struct
+     | None -> TNone
+     | Some t -> TSome t
+     in
+-    Ocsipersist.add
+-      (Lazy.force Eliom_common.persistent_cookies_table)
+-      cookie
+-      (fullstname, exp, ti, sessgrp)
++    Lazy.force Eliom_common.persistent_cookies_table >>= fun table ->
++     Ocsipersist.add table cookie (fullstname, exp, ti, sessgrp)
+ 
+   let get_service_cookie_timeout ~cookie:(_, (_, _, _, r, _, _)) =
+     !r
+@@ -1510,10 +1506,8 @@ module Ext = struct
+ 
+   let unset_persistent_data_cookie_timeout
+       ~cookie:(cookie, (fullstname, exp, _, sessgrp)) =
+-    Ocsipersist.add
+-      (Lazy.force Eliom_common.persistent_cookies_table)
+-      cookie
+-      (fullstname, exp, TGlobal, sessgrp)
++     Lazy.force Eliom_common.persistent_cookies_table >>= fun table ->
++     Ocsipersist.add table cookie (fullstname, exp, TGlobal, sessgrp)
+ 
+ 
+   let get_session_group_list () =
+Index: eliom-5.0.0/src/lib/eliom_state.server.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_state.server.mli
++++ eliom-5.0.0/src/lib/eliom_state.server.mli
+@@ -1019,7 +1019,7 @@ val remove_volatile_data :
+ val create_persistent_table :
+   scope:Eliom_common.user_scope ->
+   ?secure:bool ->
+-  string -> 'a persistent_table
++  string -> 'a persistent_table Lwt.t
+ 
+ (** gets persistent session data for the current persistent session (if any).
+     (low level) *)
+Index: eliom-5.0.0/src/lib/server/eliommod_cookies.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_cookies.ml
++++ eliom-5.0.0/src/lib/server/eliommod_cookies.ml
+@@ -152,8 +152,7 @@ let get_cookie_info
+         lazy
+           (catch
+              (fun () ->
+-               Ocsipersist.find
+-                 (Lazy.force Eliom_common.persistent_cookies_table) value >>=
++	       Lazy.force Eliom_common.persistent_cookies_table >>= fun table -> Ocsipersist.find table value >>=
+                fun (full_state_name, persexp, perstimeout, sessgrp) ->
+ 
+                  Eliommod_sessiongroups.Pers.up value sessgrp >>= fun () ->
+Index: eliom-5.0.0/src/lib/server/eliommod_gc.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_gc.ml
++++ eliom-5.0.0/src/lib/server/eliommod_gc.ml
+@@ -309,7 +309,8 @@ let persistent_session_gc sitedata =
+         (fun () ->
+           let now = Unix.time () in
+           Lwt_log.ign_info ~section "GC of persistent sessions";
+-          (Ocsipersist.iter_table
++	  Lazy.force Eliommod_persess.persistent_cookies_table >>=
++	  Ocsipersist.iter_table
+              (fun k ((scope, _, _), exp, _, session_group) ->
+                (match exp with
+                | Some exp when exp < now ->
+@@ -320,8 +321,7 @@ let persistent_session_gc sitedata =
+                    session_group k
+                (*WAS: remove_from_all_persistent_tables k *)
+                | _ -> return ())
+-             )
+-             (Lazy.force Eliommod_persess.persistent_cookies_table)))
++             ))
+           >>=
+         f
+       in ignore (f ())
+Index: eliom-5.0.0/src/lib/server/eliommod_pagegen.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_pagegen.ml
++++ eliom-5.0.0/src/lib/server/eliommod_pagegen.ml
+@@ -135,8 +135,9 @@ let update_cookie_table ?now sitedata (c
+                       oldv = newc.Eliom_common.pc_value ->
+                     catch
+                       (fun () ->
++		        Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
+                         Ocsipersist.replace_if_exists
+-                          (Lazy.force Eliommod_persess.persistent_cookies_table)
++			  table
+                           newc.Eliom_common.pc_value
+                           (name,
+                            newexp,
+@@ -147,8 +148,9 @@ let update_cookie_table ?now sitedata (c
+                         (* someone else closed the session *)
+                         | e -> fail e)
+                   | _ ->
++		    Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
+                     Ocsipersist.add
+-                      (Lazy.force Eliommod_persess.persistent_cookies_table)
++		      table
+                       newc.Eliom_common.pc_value
+                       (name,
+                        newexp,
+Index: eliom-5.0.0/src/lib/server/eliommod_persess.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_persess.ml
++++ eliom-5.0.0/src/lib/server/eliommod_persess.ml
+@@ -50,7 +50,7 @@ let number_of_persistent_table_elements
+   List.fold_left
+     (fun thr t ->
+       thr >>= fun l ->
+-      Ocsipersist.length (Ocsipersist.open_table t) >>= fun e ->
++      Ocsipersist.open_table t >>= fun table -> Ocsipersist.length table >>= fun e ->
+       return ((t, e)::l)) (return []) !perstables
+ 
+ let close_persistent_state2
+@@ -141,8 +141,7 @@ let rec find_or_create_persistent_cookie
+   (* We do not need to verify if it already exists.
+      make_new_session_id does never generate twice the same cookie. *)
+     let usertimeout = ref Eliom_common.TGlobal (* See global table *) in
+-    Ocsipersist.add
+-      (Lazy.force persistent_cookies_table) c
++    Lazy.force persistent_cookies_table >>= fun table -> Ocsipersist.add table c
+       (full_st_name,
+        None (* Some 0. *) (* exp on server - We'll change it later *),
+        Eliom_common.TGlobal (* timeout - see global config *),
+Index: eliom-5.0.0/src/lib/server/eliommod_persess.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_persess.mli
++++ eliom-5.0.0/src/lib/server/eliommod_persess.mli
+@@ -22,7 +22,7 @@ val perstables : string list ref
+ val persistent_cookies_table :
+   (Eliom_common.full_state_name * float option * Eliom_common.timeout *
+    Eliom_common.perssessgrp option)
+-  Ocsipersist.table Lazy.t
++  Ocsipersist.table Lwt.t Lazy.t
+ val number_of_persistent_tables : unit -> int
+ val number_of_persistent_table_elements : unit -> (string * int) list Lwt.t
+ val close_persistent_state2 :
+Index: eliom-5.0.0/src/lib/server/eliommod_sessadmin.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_sessadmin.ml
++++ eliom-5.0.0/src/lib/server/eliommod_sessadmin.ml
+@@ -94,6 +94,7 @@ let close_all_data_states ~scope ~secure
+ 
+ 
+ let close_all_persistent_states2 full_st_name sitedata =
++  Lazy.force Eliommod_persess.persistent_cookies_table >>=
+   Ocsipersist.iter_table
+     (fun k ((scope, _, _) as full_st_name2, old_exp, old_t, sessiongrp) ->
+       if full_st_name = full_st_name2 && old_t = Eliom_common.TGlobal
+@@ -102,7 +103,6 @@ let close_all_persistent_states2 full_st
+         Lwt_unix.yield
+       else return ()
+     )
+-    (Lazy.force Eliommod_persess.persistent_cookies_table)
+ 
+ (** Close all persistent sessions for one session name.
+     If the optional parameter [?state_name] (session name) is not present,
+@@ -195,6 +195,7 @@ let update_pers_exp full_st_name sitedat
+       close_all_persistent_states2 full_st_name sitedata
+   | _ ->
+     let now = Unix.time () in
++    Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
+     Ocsipersist.iter_table
+       (fun k ((scope, _, _) as full_st_name2, old_exp, old_t, sessgrp) ->
+         if full_st_name = full_st_name2 && old_t =
+@@ -211,11 +212,7 @@ let update_pers_exp full_st_name sitedat
+               Eliommod_persess.close_persistent_state2
+                 ~scope sitedata sessgrp k
+           | _ ->
+-              Ocsipersist.add
+-                (Lazy.force Eliommod_persess.persistent_cookies_table)
+-                k
+-                (full_st_name2, newexp,
+-                 Eliom_common.TGlobal, sessgrp) >>= Lwt_unix.yield
++	      Ocsipersist.add table k (full_st_name2, newexp, Eliom_common.TGlobal, sessgrp) >>= Lwt_unix.yield
+         else return ()
+       )
+-      (Lazy.force Eliommod_persess.persistent_cookies_table)
++      table
+Index: eliom-5.0.0/src/lib/server/eliommod_sessexpl.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_sessexpl.ml
++++ eliom-5.0.0/src/lib/server/eliommod_sessexpl.ml
+@@ -57,12 +57,12 @@ let iter_data_cookies f =
+ 
+     (** Iterator on persistent cookies *)
+ let iter_persistent_cookies f =
++  Lazy.force Eliommod_persess.persistent_cookies_table >>=
+   Ocsipersist.iter_table
+     (fun k v ->
+       f (k, v) >>=
+       Lwt_unix.yield
+     )
+-    (Lazy.force Eliommod_persess.persistent_cookies_table)
+ 
+ 
+     (** Iterator on service cookies *)
+@@ -94,13 +94,14 @@ let fold_data_cookies f beg =
+ 
+     (** Iterator on persistent cookies *)
+ let fold_persistent_cookies f beg =
++  Lazy.force Eliommod_persess.persistent_cookies_table >>= fun table ->
+   Ocsipersist.fold_table
+     (fun k v beg ->
+       f (k, v) beg >>= fun res ->
+       Lwt_unix.yield () >>= fun () ->
+       return res
+     )
+-    (Lazy.force Eliommod_persess.persistent_cookies_table)
++    table
+     beg
+ 
+ (*****************************************************************************)
+@@ -121,4 +122,4 @@ let number_of_table_elements () =
+   List.map (fun f -> f ()) !Eliommod_datasess.counttableelements
+ 
+ let number_of_persistent_cookies () =
+-  Ocsipersist.length (Lazy.force Eliommod_persess.persistent_cookies_table)
++  Lazy.force Eliommod_persess.persistent_cookies_table >>= Ocsipersist.length
+Index: eliom-5.0.0/src/lib/server/eliommod_sessiongroups.ml
+===================================================================
+--- eliom-5.0.0.orig/src/lib/server/eliommod_sessiongroups.ml
++++ eliom-5.0.0/src/lib/server/eliommod_sessiongroups.ml
+@@ -413,7 +413,7 @@ module Pers = struct
+ (*VVV Verify this carefully! *)
+ (*VVV VEOcsigen_request_infoFY concurrent access *)
+ 
+-  let grouptable : (nbmax * string list) Ocsipersist.table Lazy.t =
++  let grouptable : (nbmax * string list) Ocsipersist.table Lwt.t Lazy.t =
+     lazy (Ocsipersist.open_table "__eliom_session_group_table")
+       (* It is lazy because if the module is linked statically,
+          the creation of the table must happen after initialisation
+@@ -426,7 +426,7 @@ module Pers = struct
+     | Some g ->
+         Lwt.catch
+           (fun () ->
+-            Ocsipersist.find !!grouptable
++	    !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable
+               (Eliom_common.string_of_perssessgrp g) >>= fun (_, a) ->
+             Lwt.return a)
+           (function
+@@ -439,7 +439,7 @@ module Pers = struct
+       let sg = Eliom_common.string_of_perssessgrp sg in
+       Lwt.catch
+         (fun () ->
+-          Ocsipersist.find !!grouptable sg >>= fun (max2, cl) ->
++	  !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable sg >>= fun (max2, cl) ->
+           let max, newmax = match set_max with
+             | None -> ((match max2 with
+                 | Default -> defaultmax
+@@ -449,7 +449,7 @@ module Pers = struct
+             | Some (Some v) -> Some v, Val v
+           in
+           let cl, toclose = cut max cl in
+-          Ocsipersist.replace_if_exists !!grouptable sg (newmax, (sess_id::cl))
++	  Ocsipersist.replace_if_exists grouptable sg (newmax, (sess_id::cl))
+           >>= fun () ->
+           Lwt.return toclose)
+         (function
+@@ -459,7 +459,7 @@ module Pers = struct
+               | Some None -> Nolimit
+               | Some (Some v) -> Val v
+             in
+-            Ocsipersist.add !!grouptable sg (max, [sess_id]) >>= fun () ->
++	    !!grouptable >>= fun grouptable -> Ocsipersist.add grouptable sg (max, [sess_id]) >>= fun () ->
+             Lwt.return []
+           | e -> Lwt.fail e)
+     | None -> Lwt.return []
+@@ -502,8 +502,7 @@ module Pers = struct
+                                       belonging to the group grp *)
+             (* group_name is the cookie value *)
+             remove sitedata group_name grp >>= fun () ->
+-            Ocsipersist.remove
+-              (!!Eliom_common.persistent_cookies_table) group_name
++	    !!Eliom_common.persistent_cookies_table >>= fun table -> Ocsipersist.remove table group_name
+           | _ -> Lwt.return ())
+         >>= fun () ->
+ 
+@@ -511,7 +510,7 @@ module Pers = struct
+         match sess_grp with
+           | Some sg ->
+             let sg = Eliom_common.string_of_perssessgrp sg in
+-            Ocsipersist.remove !!grouptable sg
++	    !!grouptable >>= fun grouptable -> Ocsipersist.remove grouptable sg
+           | None -> Lwt.return ()
+       )
+       (function Not_found -> Lwt.return () | e -> Lwt.fail e)
+@@ -526,7 +525,7 @@ module Pers = struct
+         match cookie_level with
+           | `Client_process -> begin
+             (* We remove cookie info from the table *)
+-            Ocsipersist.remove (!!Eliom_common.persistent_cookies_table) cookie
++	    !!Eliom_common.persistent_cookies_table >>= fun table -> Ocsipersist.remove table cookie
+             >>= fun () ->
+ 
+             (* We remove the session from its group: *)
+@@ -555,7 +554,7 @@ module Pers = struct
+       let sg = Eliom_common.string_of_perssessgrp sg0 in
+       Lwt.catch
+         (fun () ->
+-          Ocsipersist.find !!grouptable sg >>= fun (max, cl) ->
++	  !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable sg >>= fun (max, cl) ->
+           let newcl = List.remove_first_if_any sess_id cl in
+           (match newcl with
+             | [] ->
+@@ -570,8 +569,8 @@ module Pers = struct
+                   remove_group ~cookie_level:`Session sitedata sess_grp
+                 | _ -> Lwt.return ()
+               ) >>= fun () ->
+-              Ocsipersist.remove !!grouptable sg
+-            | _ -> Ocsipersist.replace_if_exists !!grouptable sg (max, newcl)
++	      Ocsipersist.remove grouptable sg
++            | _ -> Ocsipersist.replace_if_exists grouptable sg (max, newcl)
+           )
+         )
+         (function
+@@ -586,9 +585,9 @@ module Pers = struct
+         let sg = Eliom_common.string_of_perssessgrp sg in
+         Lwt.catch
+           (fun () ->
+-            Ocsipersist.find !!grouptable sg >>= fun (max, cl) ->
++	    !!grouptable >>= fun grouptable -> Ocsipersist.find grouptable sg >>= fun (max, cl) ->
+             let newcl = List.remove_first_if_any sess_id cl in
+-            Ocsipersist.replace_if_exists !!grouptable sg (max, sess_id::newcl)
++	    Ocsipersist.replace_if_exists grouptable sg (max, sess_id::newcl)
+           )
+           (function
+             | Not_found -> Lwt.return ()
+@@ -601,6 +600,6 @@ module Pers = struct
+     end
+     else Lwt.return []
+ 
+-  let nb_of_groups () = Ocsipersist.length !!grouptable
++  let nb_of_groups () = !!grouptable >>= Ocsipersist.length
+ 
+ end

diff --git a/dev-ml/eliom/files/reactivedata.patch b/dev-ml/eliom/files/reactivedata.patch
new file mode 100644
index 00000000..190df85
--- /dev/null
+++ b/dev-ml/eliom/files/reactivedata.patch
@@ -0,0 +1,44 @@
+Index: eliom-5.0.0/src/lib/eliom_shared.eliom
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_shared.eliom
++++ eliom-5.0.0/src/lib/eliom_shared.eliom
+@@ -288,7 +288,7 @@ module FakeReactiveData = struct
+     val concat : 'a t -> 'a t -> 'a t
+     val value : 'a t -> 'a list
+     val synced : 'a t -> bool
+-    val signal : 'a t -> 'a list FakeReact.S.t
++    val signal : ?eq:('a -> 'a -> bool) -> 'a t -> 'a list FakeReact.S.t
+     val singleton_s : 'a FakeReact.S.t -> 'a t
+     val map : ('a -> 'b) -> 'a t -> 'b t
+     val from_signal :
+@@ -304,7 +304,7 @@ module FakeReactiveData = struct
+     let singleton_s s = [FakeReact.S.value s], FakeReact.S.synced s
+     let value (l, _) = l
+     let synced (_, b) = b
+-    let signal (l, synced) = fst (FakeReact.S.create ~synced l)
++    let signal ?eq (l, synced) = fst (FakeReact.S.create ~synced l)
+     let map f (l, b) = List.map f l, b
+     let from_signal ?eq s = FakeReact.S.(value s, synced s)
+     module Lwt = struct
+@@ -635,7 +635,7 @@ module ReactiveData = struct
+     let value (s : 'a t) = {shared# 'a list {
+       FakeReactiveData.RList.value (Value.local %s) }}
+ 
+-    let signal (s : 'a t) = {shared# 'a list FakeReact.S.t {
++    let signal ?eq (s : 'a t) = {shared# 'a list FakeReact.S.t {
+       FakeReactiveData.RList.signal (Value.local %s) }}
+ 
+     let map f s = {shared# 'a FakeReactiveData.RList.t {
+Index: eliom-5.0.0/src/lib/eliom_shared_sigs.shared.mli
+===================================================================
+--- eliom-5.0.0.orig/src/lib/eliom_shared_sigs.shared.mli
++++ eliom-5.0.0/src/lib/eliom_shared_sigs.shared.mli
+@@ -143,7 +143,7 @@ module type RLIST = sig
+ 
+   val concat : 'a t -> 'a t -> 'a t
+   val value : 'a t -> 'a list Eliom_lib.shared_value
+-  val signal : 'a t -> 'a list signal
++  val signal : ?eq:(('a -> 'a -> bool)) -> 'a t -> 'a list signal
+   val singleton_s : 'a signal -> 'a t
+   val map : ('a -> 'b) Eliom_lib.shared_value -> 'a t -> 'b t
+   val from_signal :


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/files/, dev-ml/eliom/
@ 2017-04-12 19:20 Alexis Ballier
  0 siblings, 0 replies; 4+ messages in thread
From: Alexis Ballier @ 2017-04-12 19:20 UTC (permalink / raw
  To: gentoo-commits

commit:     133e85b7d6febf3cf64a03dcca57c97974d255d7
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 12 18:51:46 2017 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Wed Apr 12 19:20:25 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=133e85b7

dev-ml/eliom: Fix build with lwt3.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 dev-ml/eliom/eliom-6.2.0.ebuild |  5 +++++
 dev-ml/eliom/eliom-9999.ebuild  |  3 ++-
 dev-ml/eliom/files/lwt3.patch   | 44 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/dev-ml/eliom/eliom-6.2.0.ebuild b/dev-ml/eliom/eliom-6.2.0.ebuild
index 49663b031da..b69350aae03 100644
--- a/dev-ml/eliom/eliom-6.2.0.ebuild
+++ b/dev-ml/eliom/eliom-6.2.0.ebuild
@@ -32,12 +32,17 @@ RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
 	dev-ml/react:=
 	dev-ml/ocaml-ssl:=
 	>=dev-ml/lwt-2.5.0:=
+	dev-ml/lwt_react:=
 	dev-ml/camlp4:=
 	ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
 DEPEND="${RDEPEND}
 	dev-ml/ocamlbuild
 	dev-ml/opam"
 
+src_prepare() {
+	epatch "${FILESDIR}/lwt3.patch"
+}
+
 src_compile() {
 	if use ocamlopt ; then
 		emake PPX=$(usex ppx true false) all

diff --git a/dev-ml/eliom/eliom-9999.ebuild b/dev-ml/eliom/eliom-9999.ebuild
index 74e7e33453c..42b48b1abdd 100644
--- a/dev-ml/eliom/eliom-9999.ebuild
+++ b/dev-ml/eliom/eliom-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -32,6 +32,7 @@ RDEPEND=">=dev-lang/ocaml-4.03:=[ocamlopt?]
 	dev-ml/react:=
 	dev-ml/ocaml-ssl:=
 	>=dev-ml/lwt-2.5.0:=
+	dev-ml/lwt_react:=
 	dev-ml/camlp4:=
 	ppx? ( >=dev-ml/ppx_tools-0.99.3:= )"
 DEPEND="${RDEPEND}

diff --git a/dev-ml/eliom/files/lwt3.patch b/dev-ml/eliom/files/lwt3.patch
new file mode 100644
index 00000000000..6b8d993fb68
--- /dev/null
+++ b/dev-ml/eliom/files/lwt3.patch
@@ -0,0 +1,44 @@
+Index: eliom-6.2.0/pkg/META
+===================================================================
+--- eliom-6.2.0.orig/pkg/META
++++ eliom-6.2.0/pkg/META
+@@ -13,7 +13,7 @@ package "server" (
+               react,
+               reactiveData,
+               tyxml,
+-              lwt.react,
++              lwt_react,
+               cryptokit,
+               reactiveData"
+   archive(byte) = "server.cma"
+@@ -49,7 +49,7 @@ package "client" (
+               js_of_ocaml.tyxml,
+               js_of_ocaml.log,
+               js_of_ocaml.weak,
+-              lwt.react,
++              lwt_react,
+               react,
+               reactiveData,
+               tyxml.functor"
+Index: eliom-6.2.0/src/_tags
+===================================================================
+--- eliom-6.2.0.orig/src/_tags
++++ eliom-6.2.0/src/_tags
+@@ -11,7 +11,7 @@ true:keep_locs
+ 
+ <lib/server/*.ml{,i}>:thread
+ <lib/server/*.ml{,i}>:package(lwt,ocsigenserver,ocsigenserver.ext,tyxml.functor)
+-<lib/server/*.ml{,i}>:package(react,js_of_ocaml)
++<lib/server/*.ml{,i}>:package(lwt_react,react,js_of_ocaml)
+ 
+ <lib/server/*.ml{,i}>:package(js_of_ocaml.deriving.ppx)
+ 
+@@ -24,7 +24,7 @@ true:keep_locs
+ <lib/client/*.ml{,i}>: eliom_ppx
+ <lib/client/*.ml{,i}>:package(ocsigenserver.cookies,ocsigenserver.polytables,ocsigenserver.baselib.base)
+ <lib/client/*.ml{,i}>:package(deriving.runtime,js_of_ocaml.deriving)
+-<lib/client/*.ml{,i}>:package(lwt.react,tyxml.functor,js_of_ocaml.tyxml)
++<lib/client/*.ml{,i}>:package(lwt_react,tyxml.functor,js_of_ocaml.tyxml)
+ <lib/client/*.ml{,i}>:package(react,js_of_ocaml,reactiveData)
+ 
+ <lib/client/*.ml{,i}>:package(js_of_ocaml.deriving.ppx)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-04-12 19:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-28 21:17 [gentoo-commits] repo/gentoo:master commit in: dev-ml/eliom/files/, dev-ml/eliom/ Alexis Ballier
  -- strict thread matches above, loose matches on Subject: below --
2017-04-12 19:20 Alexis Ballier
2016-09-07  9:34 Alexis Ballier
2016-01-19 12:18 Alexis Ballier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox