nixpkgs/pkgs/development/libraries/libbap/default.nix
sternenseemann 1979284362 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.
2021-03-10 16:12:03 +01:00

35 lines
920 B
Nix

{ lib, stdenv, fetchFromGitHub, bap, ocaml, findlib, ctypes, autoreconfHook,
which }:
stdenv.mkDerivation {
pname = "libbap";
version = "master-2020-11-25";
src = fetchFromGitHub {
owner = "BinaryAnalysisPlatform";
repo = "bap-bindings";
rev = "3193cb31e1b1f2455406ea0c819dad9dfa2ba10d";
sha256 = "0m4spva3z6fgbwlg4zq53l5p227dic893q2qq65pvzxyf7k7nmil";
};
postPatch = ''
substituteInPlace Makefile.in \
--replace "-linkpkg" "-thread -linkpkg"
'';
nativeBuildInputs = [ autoreconfHook which ];
buildInputs = [ ocaml bap findlib ctypes ];
preInstall = ''
mkdir -p $out/lib
mkdir -p $out/include
'';
meta = with lib; {
homepage = "https://github.com/binaryanalysisplatform/bap-bindings";
description = "A C library for interacting with BAP";
maintainers = [ maintainers.maurer ];
platforms = platforms.unix;
license = licenses.mit;
};
}