Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lwt 3.2.0 #11071

Merged
merged 2 commits into from
Dec 24, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions packages/lwt/lwt.3.2.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Promises, concurrency, and parallelized I/O

A promise is a value that may become determined in the future.

Lwt provides typed, composable promises. Promises that are resolved by I/O are
resolved by Lwt in parallel.

Meanwhile, OCaml code, including code creating and waiting on promises, runs in
a single thread by default. This reduces the need for locks or other
synchronization primitives. Code can be run in parallel on an opt-in basis.
64 changes: 64 additions & 0 deletions packages/lwt/lwt.3.2.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
opam-version: "1.2"
version: "3.2.0"
maintainer: [
"Anton Bachin <[email protected]>"
"Mauricio Fernandez <[email protected]>"
"Simon Cruanes <[email protected]>"
]
authors: [
"Jérôme Vouillon"
"Jérémie Dimino"
]
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/manual/"
bug-reports: "https://github.com/ocsigen/lwt/issues"
license: "LGPL with OpenSSL linking exception"
dev-repo: "https://github.com/ocsigen/lwt.git"

build: [
[ "ocaml" "src/util/configure.ml" "-use-libev" "%{conf-libev:installed}%"
"-use-camlp4" "%{camlp4:installed}%" ]
[ "jbuilder" "build" "-p" name "-j" jobs ]
[ "ocaml" "src/util/install_filter.ml" ]
]
build-test: [ [ "jbuilder" "runtest" "-p" name ] ]

depends: [
"cppo" {build & >= "1.1.0"}
"jbuilder" {build & >= "1.0+beta13"}
# We are only using ocamlfind during configuration of the Unix binding.
# However, ocamlfind also installs the "threads" package, and ocamlfind
# 1.7.3-1 is the first one whose threads package does not have incorrect error
# lines. See
# https://github.com/ocaml/opam-repository/pull/11071#issuecomment-353131128
# If ocamlfind becomes no longer necessary for configuration of Lwt, this
# dependency should be converted to a conflict, and package jbuilder should be
# constrained such that it also includes the error lines fix.
"ocamlfind" {build & >= "1.7.3-1"}
"ocaml-migrate-parsetree"
"ppx_tools_versioned"
# result is needed as long as Lwt still supports OCaml 4.02.
"result"
]
depopts: [
"base-threads"
"base-unix"
"camlp4"
"conf-libev"
]
# In practice, Lwt requires OCaml >= 4.02.3, as that is a constraint of the
# dependency jbuilder.
available: [ocaml-version >= "4.02.0" & compiler != "4.02.1+BER"]

messages: [
"For the PPX, please install package lwt_ppx"
{!lwt_ppx:installed}
"For the Camlp4 syntax, please install package lwt_camlp4"
{camlp4:installed & !lwt_camlp4:installed}
"For Lwt_log and Lwt_daemon, please install package lwt_log"
{!lwt_log:installed}
]
post-messages: [
"Lwt 4.0.0 will make some breaking changes in March 2018. See
https://github.com/ocsigen/lwt/issues/453"
]
2 changes: 2 additions & 0 deletions packages/lwt/lwt.3.2.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/ocsigen/lwt/archive/3.2.0.tar.gz"
checksum: "cf4256845e18c4d0f39afa7b32b3d6fe"
1 change: 1 addition & 0 deletions packages/lwt_camlp4/lwt_camlp4.1.0.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Camlp4 syntax extension for Lwt (deprecated)
23 changes: 23 additions & 0 deletions packages/lwt_camlp4/lwt_camlp4.1.0.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
opam-version: "1.2"
version: "1.0.0"
maintainer: [
"Anton Bachin <[email protected]>"
]
authors: [
"Jérémie Dimino"
]
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/api/Pa_lwt"
dev-repo: "https://github.com/ocsigen/lwt.git"
bug-reports: "https://github.com/ocsigen/lwt/issues"
license: "LGPL with OpenSSL linking exception"

depends: [
"camlp4"
"jbuilder" {build}
"lwt"
]

build: [
["jbuilder" "build" "-p" name "-j" jobs]
]
2 changes: 2 additions & 0 deletions packages/lwt_camlp4/lwt_camlp4.1.0.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/ocsigen/lwt/archive/3.2.0.tar.gz"
checksum: "cf4256845e18c4d0f39afa7b32b3d6fe"
1 change: 1 addition & 0 deletions packages/lwt_log/lwt_log.1.0.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Lwt logging library (deprecated)
25 changes: 25 additions & 0 deletions packages/lwt_log/lwt_log.1.0.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
opam-version: "1.2"
version: "1.0.0"
maintainer: [
"Anton Bachin <[email protected]>"
]
authors: [
"Shawn Wagner"
"Jérémie Dimino"
]
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/api/Lwt_log"
dev-repo: "https://github.com/ocsigen/lwt.git"
bug-reports: "https://github.com/ocsigen/lwt/issues"
license: "LGPL"

depends: [
"jbuilder" {build}
# This will be constrained with an upper bound once the log library is fully
# factored out of package lwt.
"lwt"
]

build: [
["jbuilder" "build" "-p" name "-j" jobs]
]
2 changes: 2 additions & 0 deletions packages/lwt_log/lwt_log.1.0.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/ocsigen/lwt/archive/3.2.0.tar.gz"
checksum: "cf4256845e18c4d0f39afa7b32b3d6fe"
1 change: 1 addition & 0 deletions packages/lwt_ppx/lwt_ppx.1.0.0/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PPX syntax for Lwt, providing something similar to async/await from JavaScript
24 changes: 24 additions & 0 deletions packages/lwt_ppx/lwt_ppx.1.0.0/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
opam-version: "1.2"
version: "1.0.0"
maintainer: [
"Anton Bachin <[email protected]>"
]
authors: [
"Gabriel Radanne"
]
homepage: "https://github.com/ocsigen/lwt"
doc: "https://ocsigen.org/lwt/api/Ppx_lwt"
dev-repo: "https://github.com/ocsigen/lwt.git"
bug-reports: "https://github.com/ocsigen/lwt/issues"
license: "LGPL with OpenSSL linking exception"

depends: [
"jbuilder" {build & >= "1.0+beta12"}
"lwt"
"ocaml-migrate-parsetree"
"ppx_tools_versioned"
]

build: [
["jbuilder" "build" "-p" name "-j" jobs]
]
2 changes: 2 additions & 0 deletions packages/lwt_ppx/lwt_ppx.1.0.0/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
archive: "https://github.com/ocsigen/lwt/archive/3.2.0.tar.gz"
checksum: "cf4256845e18c4d0f39afa7b32b3d6fe"
6 changes: 6 additions & 0 deletions packages/ocamlfind/ocamlfind.1.7.3-1/descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
A library manager for OCaml
Findlib is a library manager for OCaml. It provides a convention how
to store libraries, and a file format ("META") to describe the
properties of libraries. There is also a tool (ocamlfind) for
interpreting the META files, so that it is very easy to use libraries
in programs and scripts.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
From 04a4e29db7d86e56ba7cb3b1ea6a26cdf9e597b2 Mon Sep 17 00:00:00 2001
From: Gabriel Scherer <[email protected]>
Date: Fri, 20 Oct 2017 16:13:59 +0200
Subject: [PATCH] don't install an empty 'num' package if a third-party package
exists

When reinstalling/updating ocamlfind in an existing OCaml environment,
ocamlfind is installed in a context where ocamlfind packages may
already exist. In particular, the `num` package (separated from the
compiler distribution in 4.06) may exist and own the file
${ocaml_core_stdlib}/num.cmi. In this case ocamlfind should not
overwrite it by installing its own num package -- the behaviour
observed by Jacques-Pascal Deplaix before this patch.

This approach may be generalizable to the other builtin base packages.
---
configure | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 6a4a558..2627f1f 100755
--- a/configure
+++ b/configure
@@ -524,7 +524,11 @@ fi

# num?

-if [ -f "${ocaml_core_stdlib}/num.cmi" ]; then
+if [ -f "${ocaml_sitelib}/num/META" ]; then
+ echo "num: package already present"
+ lnum=""
+ numtop=""
+elif [ -f "${ocaml_core_stdlib}/num.cmi" ]; then
echo "num: found"
lnum="num num-top"
numtop="num-top"
--
2.9.5

4 changes: 4 additions & 0 deletions packages/ocamlfind/ocamlfind.1.7.3-1/files/ocaml-stub
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

BINDIR=$(dirname "$(command -v ocamlc)")
"$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@"
6 changes: 6 additions & 0 deletions packages/ocamlfind/ocamlfind.1.7.3-1/files/ocamlfind.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
bin: [
"src/findlib/ocamlfind" {"ocamlfind"}
"?src/findlib/ocamlfind_opt" {"ocamlfind"}
"?tools/safe_camlp4"
]
toplevel: ["src/findlib/topfind"]
26 changes: 26 additions & 0 deletions packages/ocamlfind/ocamlfind.1.7.3-1/files/threads.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From 6de006e6f4864a585b085f840660383fa354f9bf Mon Sep 17 00:00:00 2001
From: Anton Bachin <[email protected]>
Date: Wed, 20 Dec 2017 12:17:40 -0600
Subject: [PATCH] threads: drop explicit check for -thread/-vmthread

---
site-lib-src/threads/META.in | 3 ---
1 file changed, 3 deletions(-)

diff --git a/site-lib-src/threads/META.in b/site-lib-src/threads/META.in
index b42f3dd..fe2d986 100644
--- a/site-lib-src/threads/META.in
+++ b/site-lib-src/threads/META.in
@@ -9,9 +9,6 @@ dnl This file is input of the m4 macro processor.

`browse_interfaces = "'interfaces`"'

-`error(-mt) = "Missing -thread or -vmthread switch"'
-`error(-mt_vm,-mt_posix) = "Missing -thread or -vmthread switch"'
-
`package "vm" ('
` # --- Bytecode-only threads:'
` requires = "unix"'
--
2.12.2

29 changes: 29 additions & 0 deletions packages/ocamlfind/ocamlfind.1.7.3-1/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
opam-version: "1.2"
maintainer: "Thomas Gazagnaire <[email protected]>"
author: "Gerd Stolpmann <[email protected]>"
homepage: "http://projects.camlcity.org/projects/findlib.html"
bug-reports: "https://gitlab.camlcity.org/gerd/lib-findlib/issues"
dev-repo: "https://gitlab.camlcity.org/gerd/lib-findlib.git"
patches: [
"check-num-in-sitelib.patch"
"threads.patch"
]
build: [
["./configure" "-bindir" bin "-sitelib" lib "-mandir" man "-config" "%{lib}%/findlib.conf" "-no-custom" "-no-topfind" {preinstalled}]
[make "all"]
[make "opt"] { ocaml-native }
]
install: [
[make "install"]
["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {preinstalled}
]
remove: [
["ocamlfind" "remove" "bytes"]
["./configure" "-bindir" bin "-sitelib" lib "-mandir" man "-config" "%{lib}%/findlib.conf" "-no-topfind" {preinstalled}]
[make "uninstall"]
["rm" "-f" "%{bin}%/ocaml"] {preinstalled}
]
available: [ocaml-version >= "3.12.0"] # ocamlfind refers to cmxs
depends: [
"conf-m4" {build}
]
3 changes: 3 additions & 0 deletions packages/ocamlfind/ocamlfind.1.7.3-1/url
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
archive: "http://download.camlcity.org/download/findlib-1.7.3.tar.gz"
checksum: "7d57451218359f7b7dfc969e3684a6da"
mirrors: [ "http://download2.camlcity.org/download/findlib-1.7.3.tar.gz" ]