ocamlPackages.asn1-combinators: 0.1.3 -> 0.2.0 (#33566)

* ocamlPackages.asn1-combinators: 0.1.3 -> 0.2.0

* ocamlPackages.x509: 0.5.3 -> 0.6.0

* ocamlPackages.x509: 0.6.0 -> 0.6.1

* ocamlPackages.tls: 0.7.1 -> 0.9.0

* jackline: fix build with ocaml-tls ≥ 0.9.0
This commit is contained in:
Vincent Laporte 2018-01-15 05:01:50 +01:00 committed by GitHub
parent 9bbaa2a1de
commit 550136f516
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 76 additions and 38 deletions

View File

@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
sha256 = "05z9kvd7gwr59ic7hnmbayhwyyqd41xxz01cvdlcgplk3z7zlwg5";
};
patches = [ ./tls-0.9.0.patch ];
buildInputs = with ocamlPackages; [
ocaml ocamlbuild findlib topkg ppx_sexp_conv
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring

View File

@ -0,0 +1,29 @@
diff --git a/cli/cli_config.ml b/cli/cli_config.ml
index 991ee77..59a0edb 100644
--- a/cli/cli_config.ml
+++ b/cli/cli_config.ml
@@ -207,7 +207,9 @@ let configure term () =
ask above "CA file: " (fun x -> x) (fun x -> if Sys.file_exists x then `Ok x else `Invalid) term >>= fun trust_anchor ->
Lwt_unix.access trust_anchor [ Unix.F_OK ; Unix.R_OK ] >>= fun () ->
X509_lwt.certs_of_pem trust_anchor >>= fun tas ->
- (match X509.Validation.valid_cas ~time:(Unix.time ()) tas with
+ let time = match Ptime.of_float_s (Unix.time ())
+ with Some time -> time | None -> assert false in
+ (match X509.Validation.valid_cas ~time tas with
| [] -> Lwt.fail (Invalid_argument "trust anchor file is empty!")
| _ -> Lwt.return (`Trust_anchor trust_anchor))
| Some fp -> Lwt.return (`Fingerprint fp) ) >>= fun authenticator ->
diff --git a/cli/cli_state.ml b/cli/cli_state.ml
index d5db502..91540c9 100644
--- a/cli/cli_state.ml
+++ b/cli/cli_state.ml
@@ -262,7 +262,8 @@ module Connect = struct
(match config.Xconfig.authenticator with
| `Trust_anchor x -> X509_lwt.authenticator (`Ca_file x)
| `Fingerprint fp ->
- let time = Unix.gettimeofday () in
+ let time = match Ptime.of_float_s (Unix.gettimeofday ())
+ with Some time -> time | None -> assert false in
let fp =
Nocrypto.Uncommon.Cs.of_hex
(String.map (function ':' -> ' ' | x -> x) fp)

View File

@ -1,8 +1,22 @@
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, cstruct, zarith, ounit, result, topkg }:
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib
, cstruct, zarith, ounit, result, topkg, ptime
}:
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
version = "0.2.0";
sha256 = "0yfq4hnyzx6hy05m60007cfpq88wxwa8wqzib19lnk2qrgy772mx";
propagatedBuildInputs = [ ptime ];
} else {
version = "0.1.3";
sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
propagatedBuildInputs = [ ];
};
in
buildOcaml rec {
name = "asn1-combinators";
version = "0.1.3";
inherit (param) version;
minimumSupportedOcamlVersion = "4.01";
@ -10,13 +24,11 @@ buildOcaml rec {
owner = "mirleft";
repo = "ocaml-asn1-combinators";
rev = "v${version}";
sha256 = "0hpn049i46sdnv2i6m7r6m6ch0jz8argybh71wykbvcqdby08zxj";
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ounit topkg ];
propagatedBuildInputs = [ result cstruct zarith ];
createFindlibDestdir = true;
propagatedBuildInputs = [ result cstruct zarith ] ++ param.propagatedBuildInputs;
buildPhase = "${topkg.run} build --tests true";

View File

@ -1,4 +1,4 @@
{ stdenv, buildOcaml, fetchFromGitHub, findlib, ocamlbuild, ocaml_oasis
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, topkg
, ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct, ppx_cstruct, cstruct-unix, ounit
, lwt ? null}:
@ -6,31 +6,27 @@ with stdenv.lib;
let withLwt = lwt != null; in
buildOcaml rec {
version = "0.7.1";
name = "tls";
minimunSupportedOcamlVersion = "4.02";
stdenv.mkDerivation rec {
version = "0.9.0";
name = "ocaml${ocaml.version}-tls-${version}";
src = fetchFromGitHub {
owner = "mirleft";
repo = "ocaml-tls";
rev = "${version}";
sha256 = "19q2hzxiasz9pzczgb63kikg0mc9mw98dfvch5falf2rincycj24";
sha256 = "0qgw8lq8pk9hss7b5i6fr08pi711i0zqx7yyjgcil47ipjig6c31";
};
buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ounit ppx_cstruct cstruct-unix ];
propagatedBuildInputs = [ cstruct nocrypto result x509 ] ++
optional withLwt lwt;
configureFlags = [ "--disable-mirage" "--enable-tests" ] ++
optional withLwt ["--enable-lwt"];
configurePhase = "./configure --prefix $out $configureFlags";
buildPhase = "${topkg.run} build --tests true --with-mirage false --with-lwt ${if withLwt then "true" else "false"}";
doCheck = true;
checkTarget = "test";
createFindlibDestdir = true;
checkPhase = "${topkg.run} test";
inherit (topkg) installPhase;
meta = with stdenv.lib; {
homepage = https://github.com/mirleft/ocaml-tls;

View File

@ -1,29 +1,28 @@
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto
, ounit, ocaml_oasis, ppx_sexp_conv, cstruct-unix
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg
, asn1-combinators, astring, nocrypto, ppx_sexp_conv
, ounit, cstruct-unix
}:
buildOcaml rec {
name = "x509";
version = "0.5.3";
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-x509-${version}";
version = "0.6.1";
mininimumSupportedOcamlVersion = "4.02";
src = fetchFromGitHub {
owner = "mirleft";
repo = "ocaml-x509";
rev = "${version}";
sha256 = "07cc3z6h87460z3f4vz8nlczw5jkc4vjhix413z9x6nral876rn7";
src = fetchurl {
url = "https://github.com/mirleft/ocaml-x509/releases/download/${version}/x509-${version}.tbz";
sha256 = "1c62mw9rnzq0rs3ihbhfs18nv4mdzwag7893hlqgji3wmaai70pk";
};
buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv cstruct-unix ];
propagatedBuildInputs = [ asn1-combinators nocrypto ];
unpackCmd = "tar -xjf $curSrc";
configureFlags = "--enable-tests";
configurePhase = "./configure --prefix $out $configureFlags";
buildInputs = [ ocaml findlib ocamlbuild topkg ppx_sexp_conv ounit cstruct-unix ];
propagatedBuildInputs = [ asn1-combinators astring nocrypto ];
buildPhase = "${topkg.run} build --tests true";
doCheck = true;
checkTarget = "test";
createFindlibDestdir = true;
checkPhase = "${topkg.run} test";
inherit (topkg) installPhase;
meta = with stdenv.lib; {
homepage = https://github.com/mirleft/ocaml-x509;