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.04.1" & < "4.08.0"}
  "bap-std" {= "2.0.0"}
  "bap-abi"
  "bap-c"
  "bap-future"
  "bap-strings"
  "monads"
  "uuidm"
  "graphlib" {= "2.0.0"}
  "parsexp" {>= "v0.11" & < "v0.12"}
]
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.0.0.tar.gz"
  checksum: "md5=d2fd697735fda1adb80d6aa5643e7acd"
  mirrors: "https://mirrors.aegis.cylab.cmu.edu/bap/2.0.0/v2.0.0.tar.gz"
}
