* [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