Skip to content

Commit

Permalink
Port to jbuilder
Browse files Browse the repository at this point in the history
Removes the previous topkg/ocamlbuild setup in favor of jbuilder/topkg. This
splits tls into 3 packages: tls, tls-lwt, and tls-mirage. Since we're still
using topkg, the publishing workflow should be the same as before.

Users of tls shouldn't notice any breakage, as the META is still preserving the
old tls.{mirage,lwt} as subpackages. However, these will now require the
appropriate opam sub packages to be installed to work.
  • Loading branch information
rgrinberg committed Jul 4, 2017
1 parent d4f5d0f commit 31b3f7e
Show file tree
Hide file tree
Showing 17 changed files with 156 additions and 139 deletions.
11 changes: 11 additions & 0 deletions META.tls.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# JBUILDER_GEN

package "mirage" (
description = "Deprecated. Use tls-mirage"
requires = "tls-mirage"
)

package "lwt" (
description = "Deprecated. Use tls-lwt"
requires = "tls-lwt"
)
8 changes: 0 additions & 8 deletions doc/api.odocl

This file was deleted.

8 changes: 8 additions & 0 deletions lib/jbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
(jbuild_version 1)

(library
((name tls)
(public_name tls)
(synopsis "Transport layer security (TLS 1.x) purely in OCaml")
(preprocess (pps (ppx_cstruct ppx_sexp_conv -no-check)))
(libraries (cstruct nocrypto result x509 sexplib))))
1 change: 0 additions & 1 deletion lib/tls.mllib

This file was deleted.

16 changes: 0 additions & 16 deletions lib/tls.mlpack

This file was deleted.

21 changes: 21 additions & 0 deletions lwt/examples/jbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
(jbuild_version 1)

(executables
((names
(starttls_server
echo_server
echo_server_sni
echo_client
test_server
test_client))
(libraries (tls-lwt str))))

(alias
((name DEFAULT)
(deps
(starttls_server.exe
echo_server.exe
echo_server_sni.exe
echo_client.exe
test_server.exe
test_client.exe))))
8 changes: 8 additions & 0 deletions lwt/jbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
(jbuild_version 1)

(library
((name tls_lwt)
(public_name tls-lwt)
(synopsis "Effectful lwt layer for TLS")
(libraries (lwt lwt.unix tls nocrypto.lwt x509))
(wrapped false)))
2 changes: 0 additions & 2 deletions lwt/tls-lwt.mllib

This file was deleted.

8 changes: 8 additions & 0 deletions mirage/jbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
(jbuild_version 1)

(library
((name tls_mirage)
(public_name tls-mirage)
(synopsis "Effectful mirage layer for TLS")
(wrapped false)
(libraries (tls mirage-flow-lwt mirage-kv-lwt mirage-clock lwt ptime))))
1 change: 0 additions & 1 deletion mirage/tls-mirage.mllib

This file was deleted.

49 changes: 0 additions & 49 deletions opam

This file was deleted.

30 changes: 0 additions & 30 deletions pkg/META

This file was deleted.

33 changes: 1 addition & 32 deletions pkg/pkg.ml
Original file line number Diff line number Diff line change
@@ -1,33 +1,2 @@
#!/usr/bin/env ocaml
#use "topfind"
#require "topkg"
open Topkg

let lwt = Conf.with_pkg ~default:false "lwt"
let mirage = Conf.with_pkg ~default:false "mirage"

let opams =
let lint_deps_excluding =
Some ["ounit"; "oUnit"; "ppx_tools"]
in
[Pkg.opam_file ~lint_deps_excluding "opam"]

let () =
Pkg.describe ~opams "tls" @@ fun c ->
let lwt = Conf.value c lwt
and mirage = Conf.value c mirage
in
let exts = Exts.(cmx @ library @ exts [".cmi" ; ".cmt" ]) in
Ok [
Pkg.lib ~exts "lib/tls" ;
Pkg.mllib ~cond:lwt "lwt/tls-lwt.mllib" ;
Pkg.mllib ~cond:mirage "mirage/tls-mirage.mllib" ;
Pkg.test "tests/unittestrunner" ;
Pkg.test ~run:false "tests/feedback" ;
Pkg.test ~run:false ~cond:lwt "lwt/examples/starttls_server" ;
Pkg.test ~run:false ~cond:lwt "lwt/examples/echo_server" ;
Pkg.test ~run:false ~cond:lwt "lwt/examples/echo_server_sni" ;
Pkg.test ~run:false ~cond:lwt "lwt/examples/echo_client" ;
Pkg.test ~run:false ~cond:lwt "lwt/examples/test_server" ;
Pkg.test ~run:false ~cond:lwt "lwt/examples/test_client" ;
]
#require "topkg-jbuilder.auto"
10 changes: 10 additions & 0 deletions tests/jbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
(jbuild_version 1)

(executable
((name unittestrunner)
(libraries (tls nocrypto cstruct-unix oUnit))))

(alias
((name runtest)
(deps (unittestrunner.exe))
(action (run ${<}))))
28 changes: 28 additions & 0 deletions tls-lwt.opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
opam-version: "1.2"
homepage: "https://github.com/mirleft/ocaml-tls"
dev-repo: "https://github.com/mirleft/ocaml-tls.git"
bug-reports: "https://github.com/mirleft/ocaml-tls/issues"
doc: "https://mirleft.github.io/ocaml-tls/doc"
author: ["David Kaloper <david@numm.org>" "Hannes Mehnert <hannes@mehnert.org>"]
maintainer: ["Hannes Mehnert <hannes@mehnert.org>" "David Kaloper <david@numm.org>"]
license: "BSD2"

build: [
["jbuilder" "subst" "-n" name] {pinned}
["jbuilder" "build" "-p" name "-j" jobs]
]
build-test: [["jbuilder" "runtest" "-p" name "-j" jobs]]

depends: [
"jbuilder" {build & >= "1.0+beta10"}
"tls"
"lwt" {>= "2.4.8"}
"result"
"cstruct" {>= "1.9.0"}
"sexplib"
"nocrypto" {>= "0.5.4"}
"x509" {>= "0.5.0"}
]

tags: [ "org:mirage"]
available: [ ocaml-version >= "4.02.3" ]
31 changes: 31 additions & 0 deletions tls-mirage.opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
opam-version: "1.2"
homepage: "https://github.com/mirleft/ocaml-tls"
dev-repo: "https://github.com/mirleft/ocaml-tls.git"
bug-reports: "https://github.com/mirleft/ocaml-tls/issues"
doc: "https://mirleft.github.io/ocaml-tls/doc"
author: ["David Kaloper <david@numm.org>" "Hannes Mehnert <hannes@mehnert.org>"]
maintainer: ["Hannes Mehnert <hannes@mehnert.org>" "David Kaloper <david@numm.org>"]
license: "BSD2"

build: [
["jbuilder" "subst" "-n" name] {pinned}
["jbuilder" "build" "-p" name "-j" jobs]
]
build-test: [["jbuilder" "runtest" "-p" name "-j" jobs]]

depends: [
"jbuilder" {build & >= "1.0+beta10"}
"tls"
"result"
"lwt" {>= "2.4.8"}
"cstruct" {>= "1.9.0"}
"mirage-net-xen" {>= "1.3.0"}
"mirage-types" {>= "3.0.0"}
"sexplib"
"nocrypto" {>= "0.5.4"}
"x509" {>= "0.5.0"}
"ptime" {>= "0.8.1"}
]

tags: [ "org:mirage"]
available: [ ocaml-version >= "4.02.3" ]
30 changes: 30 additions & 0 deletions tls.opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
opam-version: "1.2"
homepage: "https://github.com/mirleft/ocaml-tls"
dev-repo: "https://github.com/mirleft/ocaml-tls.git"
bug-reports: "https://github.com/mirleft/ocaml-tls/issues"
doc: "https://mirleft.github.io/ocaml-tls/doc"
author: ["David Kaloper <david@numm.org>" "Hannes Mehnert <hannes@mehnert.org>"]
maintainer: ["Hannes Mehnert <hannes@mehnert.org>" "David Kaloper <david@numm.org>"]
license: "BSD2"

build: [
["jbuilder" "subst" "-n" name] {pinned}
["jbuilder" "build" "-p" name "-j" jobs]
]
build-test: [["jbuilder" "runtest" "-p" name "-j" jobs]]

depends: [
"jbuilder" {build & >= "1.0+beta10"}
"ppx_sexp_conv" {build}
"ppx_cstruct" {build}
"result"
"cstruct" {>= "1.9.0"}
"sexplib"
"nocrypto" {>= "0.5.4"}
"x509" {>= "0.5.0"}
"ounit" {test}
"cstruct-unix" {test}
]

tags: [ "org:mirage"]
available: [ ocaml-version >= "4.02.3" ]

0 comments on commit 31b3f7e

Please sign in to comment.