guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 96/96] gnu: Add bap


From: Julien Lepiller
Subject: [PATCH 96/96] gnu: Add bap
Date: Tue, 3 Jan 2017 20:12:17 +0100

* gnu/packages/ocaml.scm (bap): New variable.
---
 gnu/packages/ocaml.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 30dcb58a9..89518f923 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages libevent)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
@@ -2922,3 +2923,60 @@ unique identifiers version 3, 5 (named based with MD5, 
SHA-1 hashing) and 4
 It provides a uniform interface for serializing OCaml data structures to JSON,
 XML and Protocol Buffers formats.")
     (license license:asl2.0)))
+
+(define-public bap
+  (package
+    (name "bap")
+    (version "1.0.0")
+    (home-page "https://github.com/BinaryAnalysisPlatform/bap";)
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append home-page "/archive/v" version ".tar.gz"))
+        (sha256
+          (base32
+            "1apfzxndysy92bz5g0dslfmfcqhkpxlfihjbkcsrxbk3gwha42bg"))))
+   (build-system ocaml-build-system)
+   (native-inputs `(("oasis" ,ocaml-oasis)
+                    ("clang" ,clang)
+                    ("ounit" ,ocaml-ounit)))
+   (propagated-inputs `(("core-kernel" ,ocaml-core-kernel)
+                        ("ppx-driver" ,ocaml-ppx-driver)
+                        ("uri" ,ocaml-uri)
+                        ("llvm" ,llvm)
+                        ("gmp" ,gmp)
+                        ("clang-runtime" ,clang-runtime)
+                        ("fileutils" ,ocaml-fileutils)
+                        ("cmdliner" ,ocaml-cmdliner)
+                        ("zarith" ,ocaml-zarith)
+                        ("uuidm" ,ocaml-uuidm)
+                        ("camlzip" ,camlzip)
+                        ("frontc" ,ocaml-frontc)
+                        ("ezjsonm" ,ocaml-ezjsonm)
+                        ("ocurl" ,ocaml-ocurl)
+                        ("piqi" ,ocaml-piqi)
+                        ("ocamlgraph" ,ocamlgraph)
+                        ("bitstring" ,ocaml-bitstring)
+                        ("ppx-jane" ,ocaml-ppx-jane)
+                        ("re" ,ocaml-re)))
+   (inputs `(("llvm" ,llvm)))
+   (arguments `(#:phases
+                (modify-phases %standard-phases
+                  (replace 'configure
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (zero? (system* "./configure" "--prefix"
+                                      (assoc-ref outputs "out")
+                                      "--libdir"
+                                      (string-append
+                                        (assoc-ref outputs "out")
+                                        "/lib/ocaml/site-lib")
+                                      "--with-llvm-version=3.8"
+                                      "--with-llvm-config=llvm-config"
+                                      "--enable-tests"
+                                      "--enable-everything")))))))
+   (synopsis "Binary Analysis Platform")
+   (description "Binary Analysis Platform is a framework for writing program
+analysis tools, that target binary files.  The framework consists of a plethora
+of libraries, plugins, and frontends.  The libraries provide code reusability,
+the plugins facilitate extensibility, and the frontends serve as entry 
points.")
+   (license license:expat)))
-- 
2.11.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]