Skip to content

Commit

Permalink
ocamlPackages.asn1-combinators: 0.1.3 -> 0.2.0 (#33566)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
vbgl committed Jan 15, 2018
1 parent 9bbaa2a commit 550136f
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 38 deletions.
Expand Up @@ -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
Expand Down
@@ -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)
24 changes: 18 additions & 6 deletions pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -1,22 +1,34 @@
{ 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";

src = fetchFromGitHub {
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";

Expand Down
24 changes: 10 additions & 14 deletions pkgs/development/ocaml-modules/tls/default.nix
@@ -1,36 +1,32 @@
{ 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}:

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;
Expand Down
35 changes: 17 additions & 18 deletions pkgs/development/ocaml-modules/x509/default.nix
@@ -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";

buildInputs = [ ocaml findlib ocamlbuild topkg ppx_sexp_conv ounit cstruct-unix ];
propagatedBuildInputs = [ asn1-combinators astring nocrypto ];

configureFlags = "--enable-tests";
configurePhase = "./configure --prefix $out $configureFlags";
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;
Expand Down

0 comments on commit 550136f

Please sign in to comment.