gnu: bap: Update to 1.6.0.

* gnu/packages/ocaml.scm (bap): Update to 1.6.0.
(ocaml-frontc): Update to 3.4.1.
(ocaml-fileutils, ocaml-cstruct, ocaml-hex, ocaml-ezjsonm, ocaml-uri):
New variables.
(ocaml4.02-fileutils, ocaml4.02-cstruct, ocaml4.02-hex,
ocaml4.02-ezjsonm, ocaml4.02-uri): Remove variables.
This commit is contained in:
Julien Lepiller 2019-04-14 18:55:22 +02:00
parent ce9a30e6f4
commit bbe9915b30
No known key found for this signature in database
GPG Key ID: 43111F4520086A0C
1 changed files with 96 additions and 121 deletions

View File

@ -1255,19 +1255,20 @@ for speed and space economy.")
(define-public ocaml-frontc (define-public ocaml-frontc
(package (package
(name "ocaml-frontc") (name "ocaml-frontc")
(version "3.4") (version "3.4.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://www.irit.fr/recherches/ARCHI/MARCH/" (uri (git-reference
"frontc/Frontc-" version ".tgz")) (url "https://github.com/BinaryAnalysisPlatform/FrontC")
(commit (string-append
"V_" (string-join (string-split version #\.) "_")))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"16dz153s92dgbw1rrfwbhscy73did87kfmjwyh3qpvs748h1sc4g")))) "1dq5nks0c9gsbr1m8k39m1bniawr5hqcy1r8x5px7naa95ch06ak"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(arguments (arguments
`(#:ocaml ,ocaml-4.02 `(#:phases
#:findlib ,ocaml4.02-findlib
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(add-after 'install 'install-meta (add-after 'install 'install-meta
@ -2720,9 +2721,9 @@ language.")
can match the question using a regular expression or a timeout.") can match the question using a regular expression or a timeout.")
(license license:lgpl2.1+))) ; with the OCaml static compilation exception (license license:lgpl2.1+))) ; with the OCaml static compilation exception
(define-public ocaml4.02-fileutils (define-public ocaml-fileutils
(package (package
(name "ocaml4.02-fileutils") (name "ocaml-fileutils")
(version "0.5.3") (version "0.5.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -2731,11 +2732,9 @@ can match the question using a regular expression or a timeout.")
(base32 (base32
"1rc4cqlvdhbs55i85zfbfhz938fsy4fj6kwlkfm3ra7bpwn8bmpd")))) "1rc4cqlvdhbs55i85zfbfhz938fsy4fj6kwlkfm3ra7bpwn8bmpd"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(arguments
`(#:ocaml ,ocaml-4.02
#:findlib ,ocaml4.02-findlib))
(native-inputs (native-inputs
`(("ounit" ,ocaml4.02-ounit))) `(("ocamlbuild" ,ocamlbuild)
("ounit" ,ocaml-ounit)))
(home-page "http://ocaml-fileutils.forge.ocamlcore.org") (home-page "http://ocaml-fileutils.forge.ocamlcore.org")
(synopsis "Pure OCaml functions to manipulate real file and filename") (synopsis "Pure OCaml functions to manipulate real file and filename")
(description "Library to provide pure OCaml functions to manipulate real (description "Library to provide pure OCaml functions to manipulate real
@ -3904,43 +3903,24 @@ big- and little-endian, with their unsafe counter-parts.")
(define-public ocaml4.02-ocplib-endian (define-public ocaml4.02-ocplib-endian
(package-with-ocaml4.02 ocaml-ocplib-endian)) (package-with-ocaml4.02 ocaml-ocplib-endian))
(define-public ocaml4.02-cstruct (define-public ocaml-cstruct
(package (package
(name "ocaml4.02-cstruct") (name "ocaml-cstruct")
(version "2.3.1") (version "4.0.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/mirage/ocaml-cstruct/" (uri (git-reference
"archive/v" version ".tar.gz")) (url "https://github.com/mirage/ocaml-cstruct")
(commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"15qpdc8421shq4pprdas9jznpva45229wkfqbwcxw9khaiiz7949")) "0m4bz0digcsc8l2msfikwcbi1y371kccx6xnkwrz212mf5mp98bv"))))
(file-name (string-append name "-" version ".tar.gz")))) (build-system dune-build-system)
(build-system ocaml-build-system)
(arguments (arguments
`(#:ocaml ,ocaml-4.02 `(#:package "cstruct"
#:findlib ,ocaml4.02-findlib #:test-target "."))
#:configure-flags
(list "--enable-lwt" "--enable-async")
#:phases
(modify-phases %standard-phases
(add-after 'install 'link-stubs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(stubs (string-append out "/lib/ocaml/site-lib/stubslibs"))
(lib (string-append out "/lib/ocaml/site-lib/cstruct")))
(mkdir-p stubs)
(symlink (string-append lib "/dllcstruct_stubs.so")
(string-append stubs "/dllcstruct_stubs.so"))))))))
(native-inputs (native-inputs
`(("ounit" ,ocaml4.02-ounit) `(("ocaml-alcotest" ,ocaml-alcotest)))
("ppx-tools" ,ocaml4.02-ppx-tools)
("camlp4" ,camlp4-4.02)))
(propagated-inputs
`(("ocplib-endian" ,ocaml4.02-ocplib-endian)
("lwt" ,ocaml4.02-lwt)
("async" ,ocaml4.02-async)
("sexplib" ,ocaml4.02-sexplib)))
(home-page "https://github.com/mirage/ocaml-cstruct") (home-page "https://github.com/mirage/ocaml-cstruct")
(synopsis "Access C structures via a camlp4 extension") (synopsis "Access C structures via a camlp4 extension")
(description "Cstruct is a library and syntax extension to make it easier (description "Cstruct is a library and syntax extension to make it easier
@ -3948,33 +3928,34 @@ to access C-like structures directly from OCaml. It supports both reading and
writing to these structures, and they are accessed via the Bigarray module.") writing to these structures, and they are accessed via the Bigarray module.")
(license license:isc))) (license license:isc)))
(define-public ocaml4.02-hex (define-public ocaml-hex
(package (package
(name "ocaml4.02-hex") (name "ocaml-hex")
(version "1.0.0") (version "1.4.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/mirage/ocaml-hex/" (uri (git-reference
"archive/" version ".tar.gz")) (url "https://github.com/mirage/ocaml-hex")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0s63g0b8gfv2xm6fv6xg7bva8h76b5pcjb0zw3f8cygs0lq9072v")) "0c8nhibcwy0ykzca4jn3gqb8ylq21ff88y82gl60wyzijr64rn0q"))))
(file-name (string-append name "-" version ".tar.gz")))) (build-system dune-build-system)
(build-system ocaml-build-system)
(arguments (arguments
`(#:ocaml ,ocaml-4.02 `(#:test-target "."))
#:findlib ,ocaml4.02-findlib))
(propagated-inputs (propagated-inputs
`(("cstruct" ,ocaml4.02-cstruct))) `(("ocaml-bigarray-compat" ,ocaml-bigarray-compat)
("cstruct" ,ocaml-cstruct)))
(home-page "https://github.com/mirage/ocaml-hex/") (home-page "https://github.com/mirage/ocaml-hex/")
(synopsis "Minimal library providing hexadecimal converters") (synopsis "Minimal library providing hexadecimal converters")
(description "Hex is a minimal library providing hexadecimal converters.") (description "Hex is a minimal library providing hexadecimal converters.")
(license license:isc))) (license license:isc)))
(define-public ocaml4.02-ezjsonm (define-public ocaml-ezjsonm
(package (package
(name "ocaml4.02-ezjsonm") (name "ocaml-ezjsonm")
(version "0.4.3") (version "1.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3983,19 +3964,17 @@ writing to these structures, and they are accessed via the Bigarray module.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1y6p3ga6vj1wx5dyns7hjgd0qgrrn2hnn323a7y5didgci5pybls")))) (base32 "1dzjqrj7nl15ij921r7439fp0m7jrl3vskkdqb4syihjvsbvq1sj"))))
(build-system ocaml-build-system) (build-system dune-build-system)
(native-inputs
`(("alcotest" ,ocaml4.02-alcotest)))
(propagated-inputs
`(("hex" ,ocaml4.02-hex)
("jsonm" ,ocaml4.02-jsonm)
("lwt" ,ocaml4.02-lwt)
("sexplib" ,ocaml4.02-sexplib)))
(arguments (arguments
`(#:configure-flags (list "--enable-lwt") `(#:package "ezjsonm"
#:ocaml ,ocaml-4.02 #:test-target "."))
#:findlib ,ocaml4.02-findlib)) (native-inputs
`(("ocaml-alcotest" ,ocaml-alcotest)))
(propagated-inputs
`(("ocaml-hex" ,ocaml-hex)
("ocaml-jsonm" ,ocaml-jsonm)
("ocaml-sexplib" ,ocaml-sexplib)))
(home-page "https://github.com/mirage/ezjsonm/") (home-page "https://github.com/mirage/ezjsonm/")
(synopsis "Read and write JSON data") (synopsis "Read and write JSON data")
(description "Ezjsonm provides more convenient (but far less flexible) input (description "Ezjsonm provides more convenient (but far less flexible) input
@ -4004,10 +3983,10 @@ the need to write signal code, which is useful for quick scripts that manipulate
JSON.") JSON.")
(license license:isc))) (license license:isc)))
(define-public ocaml4.02-uri (define-public ocaml-uri
(package (package
(name "ocaml4.02-uri") (name "ocaml-uri")
(version "1.9.2") (version "2.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4016,19 +3995,17 @@ JSON.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx")))) (base32 "1ppbav41mszpjcl0zi3fyg958cxyfs57i7kvha4ds9ydn89bjmrh"))))
(build-system ocaml-build-system) (build-system dune-build-system)
(arguments (arguments
`(#:ocaml ,ocaml-4.02 `(#:test-target "."))
#:findlib ,ocaml4.02-findlib))
(native-inputs (native-inputs
`(("ounit" ,ocaml4.02-ounit))) `(("ocaml-ounit" ,ocaml-ounit)
("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
(propagated-inputs (propagated-inputs
`(("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv) `(("ocaml-re" ,ocaml-re)
("re" ,ocaml4.02-re) ("ocaml-sexplib0" ,ocaml-sexplib0)
("ppx-deriving" ,ocaml4.02-ppx-deriving) ("ocaml-stringext" ,ocaml-stringext)))
("sexplib" ,ocaml4.02-sexplib)
("stringext" ,ocaml4.02-stringext)))
(home-page "https://github.com/mirage/ocaml-uri") (home-page "https://github.com/mirage/ocaml-uri")
(synopsis "RFC3986 URI/URL parsing library") (synopsis "RFC3986 URI/URL parsing library")
(description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.") (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
@ -4266,50 +4243,52 @@ XML and Protocol Buffers formats.")
(define-public bap (define-public bap
(package (package
(name "bap") (name "bap")
(version "1.3.0") (version "1.6.0")
(home-page "https://github.com/BinaryAnalysisPlatform/bap") (home-page "https://github.com/BinaryAnalysisPlatform/bap")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append home-page "/archive/v" version ".tar.gz")) (uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0v95v9mp7mg8fj25ry0w7566zd9xp6cs8nnqj4l38q54fb1hfav9")) "0ryf2xb37pj2f9mc3p5prqgqrylph9qgq7q9jnbx8b03nzzpa6h6"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(native-inputs (native-inputs
`(("oasis" ,ocaml4.02-oasis) `(("ocaml-oasis" ,ocaml-oasis)
("clang" ,clang-3.8) ("clang" ,clang-3.8)
("ounit" ,ocaml4.02-ounit))) ("ocaml-ounit" ,ocaml-ounit)))
(propagated-inputs (propagated-inputs
`(("core-kernel" ,ocaml4.02-core-kernel) `(("camlzip" ,camlzip)
("ppx-driver" ,ocaml4.02-ppx-driver) ("ocaml-bitstring" ,ocaml-bitstring)
("bin-prot" ,ocaml4.02-bin-prot) ("ocaml-cmdliner" ,ocaml-cmdliner)
("uri" ,ocaml4.02-uri) ("ocaml-core-kernel" ,ocaml-core-kernel)
("llvm" ,llvm-3.8) ("ocaml-ezjsonm" ,ocaml-ezjsonm)
("gmp" ,gmp) ("ocaml-fileutils" ,ocaml-fileutils)
("clang-runtime" ,clang-runtime) ("ocaml-frontc" ,ocaml-frontc)
("fileutils" ,ocaml4.02-fileutils) ("ocaml-graph" ,ocaml-graph)
("cmdliner" ,ocaml4.02-cmdliner) ("ocaml-ocurl" ,ocaml-ocurl)
("zarith" ,ocaml4.02-zarith) ("ocaml-piqi" ,ocaml-piqi)
("uuidm" ,ocaml4.02-uuidm) ("ocaml-ppx-jane" ,ocaml-ppx-jane)
("camlzip" ,ocaml4.02-camlzip) ("ocaml-uuidm" ,ocaml-uuidm)
("frontc" ,ocaml-frontc) ("ocaml-uri" ,ocaml-uri)
("ezjsonm" ,ocaml4.02-ezjsonm) ("ocaml-zarith" ,ocaml-zarith)))
("ocurl" ,ocaml4.02-ocurl) (inputs
("piqi" ,ocaml4.02-piqi) `(("llvm" ,llvm-3.8)
("ocamlgraph" ,ocaml4.02-graph) ("gmp" ,gmp)))
("bitstring" ,ocaml4.02-bitstring)
("ppx-jane" ,ocaml4.02-ppx-jane)
("re" ,ocaml4.02-re)))
(inputs `(("llvm" ,llvm-3.8)))
(arguments (arguments
`(#:ocaml ,ocaml-4.02 `(#:use-make? #t
#:findlib ,ocaml4.02-findlib
#:use-make? #t
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key outputs inputs #:allow-other-keys) (lambda* (#:key outputs inputs #:allow-other-keys)
;; add write for user, to prevent a failure in the install phase
(for-each
(lambda (file)
(let ((stat (stat file)))
(chmod file (+ #o200 (stat:mode stat)))))
(find-files "." "."))
(invoke "./configure" "--prefix" (invoke "./configure" "--prefix"
(assoc-ref outputs "out") (assoc-ref outputs "out")
"--libdir" "--libdir"
@ -4318,11 +4297,7 @@ XML and Protocol Buffers formats.")
"/lib/ocaml/site-lib") "/lib/ocaml/site-lib")
"--with-llvm-version=3.8" "--with-llvm-version=3.8"
"--with-llvm-config=llvm-config" "--with-llvm-config=llvm-config"
"--enable-everything") "--enable-everything"))))))
(substitute* "plugins/objdump/objdump_main.ml"
(("Re_perl") "Re.Perl"))
(substitute* "oasis/objdump"
(("re.pcre") "re.pcre, re.perl")))))))
(synopsis "Binary Analysis Platform") (synopsis "Binary Analysis Platform")
(description "Binary Analysis Platform is a framework for writing program (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