opam-version: "2.0"
maintainer: "Ivan Gotovchits <ivg@ieee.org>"
authors: "BAP Team"
homepage: "https://github.com/BinaryAnalysisPlatform/bap/"
bug-reports: "https://github.com/BinaryAnalysisPlatform/bap/issues"
dev-repo: "git://github.com/BinaryAnalysisPlatform/bap/"
license: "MIT"
build: [
  ["./configure" "--prefix=%{prefix}%" "--enable-primus"]
  [make]
]

install: [[make "install"]]

remove: [["ocamlfind" "remove" "bap-primus"]]

depends: [
  "ocaml" {>= "4.07.0" & < "4.10.0"}
  "bap-std" {= "2.1.0"}
  "bap-abi"
  "bap-c"
  "bap-future"
  "bap-strings"
  "monads"
  "uuidm"
  "graphlib" {= "2.1.0"}
  "parsexp" {>= "v0.12" & < "v0.13"}
]
synopsis: "The BAP Microexecution Framework"
description: """
BAP Primus is a Microexecutuin Framework. The Microexecution technique
was pioneered by Patrice Godefroid from Microsoft Research. The idea
is to execute a binary from any point, using random inputs for
undefined values.

The idea of Primus is very similiar. A program is lifted into the
Intermediate Representation, that is interpreted using the Primus
interpreter. The Framework allows users to customize the interpreter
by implementing different machine components."""
flags: light-uninstall
url {
  src: "https://github.com/BinaryAnalysisPlatform/bap/archive/v2.1.0.tar.gz"
  checksum: "md5=3db9deac8d429b9b8a8ec9aec54987b1"
  mirrors: "https://mirrors.aegis.cylab.cmu.edu/bap/2.1.0/v2.1.0.tar.gz"
}
