ocamlPackages.ctypes: 0.17.1 -> 0.18.0
https://github.com/ocamllabs/ocaml-ctypes/blob/0.18.0/CHANGES.md#ctypes-0180 * ocamlPackages.async_ssl: fix compatibility with ctypes 0.18.0 by using ctypes.foreign instead of ctypes.foreign.threaded since the distinction between threaded and unthreaded has been removed in this release. * libbap: link with -thread so linking ctypes.foreign doesn't fail https://github.com/BinaryAnalysisPlatform/bap-bindings/issues/18 * ocaml-ng.ocamlPackages_4_07.sodium: patch lib_gen/_tags to also add the `package(bigarray)` directive since `ctypes.stubs` no longer propgates that, leading to module not found error. * ocaml-ng.ocamlPackages_4_{04,05,06,07}.async_ssl: mark as broken: due to the bigarray-compat dependency, we need dune 2 for ctypes which breaks compilation of the legacy async_ssl 0.11 version since we can't upgrade to dune 2 for it since that version doesn't support the legacy jbuild files.
This commit is contained in:
parent
336ac16838
commit
1979284362
@ -12,6 +12,11 @@ stdenv.mkDerivation {
|
||||
sha256 = "0m4spva3z6fgbwlg4zq53l5p227dic893q2qq65pvzxyf7k7nmil";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile.in \
|
||||
--replace "-linkpkg" "-thread -linkpkg"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook which ];
|
||||
buildInputs = [ ocaml bap findlib ctypes ];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchzip, ocaml, findlib, libffi, pkg-config, ncurses, integers }:
|
||||
{ lib, stdenv, fetchzip, ocaml, findlib, libffi, pkg-config, ncurses, integers, bigarray-compat }:
|
||||
|
||||
if !lib.versionAtLeast ocaml.version "4.02"
|
||||
then throw "ctypes is not available for OCaml ${ocaml.version}"
|
||||
@ -6,16 +6,16 @@ else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-ctypes-${version}";
|
||||
version = "0.17.1";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ocamllabs/ocaml-ctypes/archive/${version}.tar.gz";
|
||||
sha256 = "16brmdnz7wi2z25qqhd5s5blyq4app6jbv6g9pa4vyg6h0nzbcys";
|
||||
sha256 = "03zrbnl16m67ls0yfhq7a4k4238x6x6b3m456g4dw2yqwc153vks";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ ocaml findlib ncurses ];
|
||||
propagatedBuildInputs = [ integers libffi ];
|
||||
propagatedBuildInputs = [ integers libffi bigarray-compat ];
|
||||
|
||||
buildPhase = ''
|
||||
make XEN=false libffi.config ctypes-base ctypes-stubs
|
||||
|
@ -382,7 +382,12 @@ rec {
|
||||
async_ssl = janePackage {
|
||||
pname = "async_ssl";
|
||||
hash = "02ard8x5q5c42d9jdqmyzfx624yjq8cxxmvq3zb82hf6p8cc57ml";
|
||||
meta.description = "An Async-pipe-based interface with OpenSSL";
|
||||
meta = {
|
||||
description = "An Async-pipe-based interface with OpenSSL";
|
||||
# ctypes no longer works with dune 1
|
||||
# dune 2 no longer supports jbuild
|
||||
broken = true;
|
||||
};
|
||||
propagatedBuildInputs = [ async ctypes openssl ];
|
||||
};
|
||||
|
||||
|
@ -147,6 +147,11 @@ rec {
|
||||
meta.description = "Async wrappers for SSL";
|
||||
buildInputs = [ dune-configurator ];
|
||||
propagatedBuildInputs = [ async ctypes openssl ];
|
||||
# in ctypes.foreign 0.18.0 threaded and unthreaded have been merged
|
||||
postPatch = ''
|
||||
substituteInPlace bindings/dune \
|
||||
--replace "ctypes.foreign.threaded" "ctypes.foreign"
|
||||
'';
|
||||
};
|
||||
|
||||
async_unix = janePackage {
|
||||
|
@ -417,7 +417,12 @@ rec {
|
||||
pname = "async_ssl";
|
||||
hash = "1p83fzfla4rb820irdrz3f2hp8kq5zrhw47rqmfv6qydlca1bq64";
|
||||
propagatedBuildInputs = [ async ctypes openssl ];
|
||||
meta.description = "Async wrappers for SSL";
|
||||
meta = {
|
||||
description = "Async wrappers for SSL";
|
||||
# ctypes no longer works with dune 1
|
||||
# dune 2 no longer supports jbuild
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
|
||||
sexp_pretty = janePackage {
|
||||
|
@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# ctypes.stubs no longer pulls in bigarray automatically
|
||||
./lib-gen-link-bigarray.patch
|
||||
];
|
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild ];
|
||||
propagatedBuildInputs = [ ctypes libsodium ];
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
diff --git a/lib_gen/_tags b/lib_gen/_tags
|
||||
index 7a7e632..7a4e0b7 100644
|
||||
--- a/lib_gen/_tags
|
||||
+++ b/lib_gen/_tags
|
||||
@@ -1 +1 @@
|
||||
-<*.{ml,byte,native}>: package(ctypes.stubs)
|
||||
+<*.{ml,byte,native}>: package(ctypes.stubs), package(bigarray)
|
Loading…
Reference in New Issue
Block a user