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