Archived
1
0
Fork 0

gnu: bap: Update to 2.5.0-alpha-0.a972f8a.

* gnu/packages/ocaml.scm (bap): Explicitly refer to commit instead of mutable
Git tag.
This commit is contained in:
Simon Tournier 2023-09-15 18:03:47 +02:00
parent 6d33c1f806
commit 47ba771548
No known key found for this signature in database
GPG key ID: 92F1D22C608EE7E5

View file

@ -5324,82 +5324,85 @@ necessary set of rewriters.")
(license license:expat)))
(define-public bap
(package
(name "bap")
(version "2.5.0-alpha")
(home-page "https://github.com/BinaryAnalysisPlatform/bap")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1fw9pp0xnssc08qqfkcafffap4f46hw7zmk80gif5yc4nazga8w5"))))
(build-system ocaml-build-system)
(arguments
(list
#:use-make? #t
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'fix-ncurses
(lambda _
(substitute* "oasis/llvm"
(("-lcurses") "-lncurses"))
#t))
(replace 'configure
(lambda* (#:key outputs inputs #:allow-other-keys)
(for-each make-file-writable (find-files "." "."))
;; Package name changed
(substitute* "oasis/elf-loader"
(("bitstring.ppx") "ppx_bitstring"))
;; We don't have a monolithic llvm
(substitute* "oasis/llvm.setup.ml.in"
(("llvm_static = \"true\"") "true"))
(invoke "./configure" "--prefix"
(assoc-ref outputs "out")
"--libdir"
(string-append
(let (;; Let pin one commit because -alpha is subject to change.
(revision "0")
(commit "a972f8a419294dfb21847db5172ba58c5d7767eb"))
(package
(name "bap")
(version (git-version "2.5.0-alpha" revision commit))
(home-page "https://github.com/BinaryAnalysisPlatform/bap")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1fw9pp0xnssc08qqfkcafffap4f46hw7zmk80gif5yc4nazga8w5"))))
(build-system ocaml-build-system)
(arguments
(list
#:use-make? #t
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'fix-ncurses
(lambda _
(substitute* "oasis/llvm"
(("-lcurses") "-lncurses"))
#t))
(replace 'configure
(lambda* (#:key outputs inputs #:allow-other-keys)
(for-each make-file-writable (find-files "." "."))
;; Package name changed
(substitute* "oasis/elf-loader"
(("bitstring.ppx") "ppx_bitstring"))
;; We don't have a monolithic llvm
(substitute* "oasis/llvm.setup.ml.in"
(("llvm_static = \"true\"") "true"))
(invoke "./configure" "--prefix"
(assoc-ref outputs "out")
"/lib/ocaml/site-lib")
(string-append "--with-llvm-version=" #$(package-version llvm))
"--with-llvm-config=llvm-config"
"--disable-ghidra"
"--disable-llvm-static"
"--enable-llvm"
"--enable-everything"))))))
(native-inputs (list clang ocaml-oasis ocaml-ounit))
(propagated-inputs
(list
camlzip
ocaml-bitstring
ocaml-cmdliner
ocaml-core-kernel
ocaml-ezjsonm
ocaml-fileutils
ocaml-frontc
ocaml-graph
ocaml-linenoise
ocaml-ocurl
ocaml-piqi
ocaml-ppx-bap
ocaml-ppx-bitstring
ocaml-re
ocaml-uri
ocaml-utop
ocaml-uuidm
ocaml-yojson
ocaml-z3
ocaml-zarith))
(inputs
(list gmp llvm ncurses))
(synopsis "Binary Analysis Platform")
(description "Binary Analysis Platform is a framework for writing program
"--libdir"
(string-append
(assoc-ref outputs "out")
"/lib/ocaml/site-lib")
(string-append "--with-llvm-version=" #$(package-version llvm))
"--with-llvm-config=llvm-config"
"--disable-ghidra"
"--disable-llvm-static"
"--enable-llvm"
"--enable-everything"))))))
(native-inputs (list clang ocaml-oasis ocaml-ounit))
(propagated-inputs
(list
camlzip
ocaml-bitstring
ocaml-cmdliner
ocaml-core-kernel
ocaml-ezjsonm
ocaml-fileutils
ocaml-frontc
ocaml-graph
ocaml-linenoise
ocaml-ocurl
ocaml-piqi
ocaml-ppx-bap
ocaml-ppx-bitstring
ocaml-re
ocaml-uri
ocaml-utop
ocaml-uuidm
ocaml-yojson
ocaml-z3
ocaml-zarith))
(inputs
(list gmp llvm ncurses))
(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)))
(license license:expat))))
(define-public ocaml-camomile
(package