Skip to content

Start vendoring libraries #1

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

Closed
wants to merge 3 commits into from
Closed
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
_opam
_build
10 changes: 10 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[submodule "eio"]
path = eio
url = https://github.com/ocaml-multicore/eio
[submodule "dream"]
path = dream
url = https://github.com/talex5/dream
branch = eio
[submodule "lwt_eio"]
path = lwt_eio
url = https://github.com/talex5/lwt_eio
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,18 @@ For contributing, [see the guide](https://github.com/patricoferris/awesome-multi

If you are wondering what even is Multicore OCaml, you could start by watching [a video from 2014 about Multicore OCaml by Stephen Dolan and co.](https://watch.ocaml.org/videos/watch/490b5363-01b6-45d8-9b7e-c883a20026a1), then [one on how to parallelise your OCaml code](https://watch.ocaml.org/videos/watch/ce20839e-4bfc-4d74-925b-485a6b052ddf) and [how we can adapt the existing ecosystem to support Multicore OCaml](https://watch.ocaml.org/videos/watch/629b89a8-bbd5-490d-98b0-d0c740912b02). For more resources like this, check the [Multicore OCaml wiki](#wiki).

## A Multicore Monorepo

This repository also acts as a mono-repository of sorts. Some of the libraries and experiments below are submoduled here along with useful pinned version of packages in the opam file to allow the entire repository to be built using dune. You should be able to:

```sh
opam update
opam switch create . 5.00+trunk --no-install
opam pin . -yn
opam install . -y
dune build @install
```

## Table of Contents
- [Libraries](#libraries)
- [Eio](#eio)
Expand Down
55 changes: 55 additions & 0 deletions awesome-multicore-ocaml.opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
synopsis: ""
maintainer: ["[email protected]"]
authors: ["[email protected]"]
homepage: "https://github.com/patricoferris/awesome-multicore-ocaml"
bug-reports: "https://github.com/patricoferris/awesome-multicore-ocaml/issues"
depends: [
"ocaml" {>= "5.00.0+trunk"}
"dune" {>= "2.0"}
]
build: [
["dune" "subst"] {pinned}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/patricoferris/solver-service.git"
pin-depends: [
# Deprecated format functions
"dune.3.0.0" "git+https://github.com/patricoferris/dune#5.00"
"dune-configurator.3.0.0" "git+https://github.com/patricoferris/dune#5.00"
# Deprecated String.create
"ocamlfind.1.9.1" "git+https://github.com/patricoferris/ocamlfind#5.00"
# Deprecated String.uppercase
"uutf" "git+https://github.com/patricoferris/uutf#5.00"
# New, immutable Ephemerons
"sexplib0" "git+https://github.com/patricoferris/sexplib0#5.00"
# Obj.Ext...
"sexplib" "git+https://github.com/patricoferris/sexplib#5.00"
# Needed because I did the changes to sexplib off of the main branch...
"ppx_sexp_conv" "git+https://github.com/janestreet/ppx_sexp_conv"
# Format changes are fixed but unreleased, disable warnings
"notty" "git+https://github.com/patricoferris/notty#5.00"
# String.uppercase
"lwt.5.5.0" "git+https://github.com/patricoferris/lwt#5.00"
# A quick few fixes, probably not was going to happen upstream
"base" "git+https://github.com/patricoferris/base#5.00"
# Thanks to @pitag-ha :))
"ppxlib" "git+https://github.com/patricoferris/ppxlib#5.00"
# Thanks to @nojb :))
"easy-format" "git+https://github.com/nojb/easy-format#4568bfa1887146ab6ce41a48c9e00c8c1329c6e4"
# Thanks to fpottier :))
"menhir" "git+https://gitlab.inria.fr/fpottier/menhir#cea506b862ddc34fb6a25b60ae145b755a0db737"
"menhirLib" "git+https://gitlab.inria.fr/fpottier/menhir#cea506b862ddc34fb6a25b60ae145b755a0db737"
"menhirSdk" "git+https://gitlab.inria.fr/fpottier/menhir#cea506b862ddc34fb6a25b60ae145b755a0db737"
]
1 change: 1 addition & 0 deletions dream
Submodule dream added at b88142
1 change: 1 addition & 0 deletions dune
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(subdir gemini-eio (data_only_dirs eio))
1 change: 1 addition & 0 deletions dune-project
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(lang dune 2.9)
4 changes: 4 additions & 0 deletions dune-workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
(lang dune 2.9)
; Dream's use of Stdlib.Stream
(env
(_ (flags -w -3)))
1 change: 1 addition & 0 deletions eio
Submodule eio added at 1db8f8
1 change: 1 addition & 0 deletions lwt_eio
Submodule lwt_eio added at c9cda4