GNU bug report logs - #56080
[PATCH]: gnu: bap: Update to 2.5.0-alpha.

Previous Next

Package: guix-patches;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Sun, 19 Jun 2022 07:20:01 UTC

Severity: normal

Tags: patch

Done: Julien Lepiller <julien <at> lepiller.eu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 56080 in the body.
You can then email your comments to 56080 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#56080; Package guix-patches. (Sun, 19 Jun 2022 07:20:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Lepiller <julien <at> lepiller.eu>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 19 Jun 2022 07:20:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: guix-patches <at> gnu.org
Subject: [PATCH]: gnu: bap: Update to 2.5.0-alpha.
Date: Sun, 19 Jun 2022 09:18:24 +0200
Hi Guix!

This small patch series finally updates bap to a version that can use
the latest OCaml compiler. After we merge that, we will be able to
remove most ocaml-4.07 packages :)




Information forwarded to guix-patches <at> gnu.org:
bug#56080; Package guix-patches. (Sun, 19 Jun 2022 07:53:02 GMT) Full text and rfc822 format available.

Message #8 received at 56080 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 56080 <at> debbugs.gnu.org
Subject: [PATCH 1/4] gnu: Add ocaml-linenoise.
Date: Sun, 19 Jun 2022 09:51:47 +0200
* gnu/packages/ocaml.scm (ocaml-linenoise): New variable.
---
 gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 4569c526ab..a8f328a266 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1939,6 +1939,30 @@ (define-public ocaml4.07-ppx-tools-versioned
 ocaml-migrate-parsetree")
       (license license:expat))))
 
+(define-public ocaml-linenoise
+  (package
+    (name "ocaml-linenoise")
+    (version "1.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/ocaml-community/ocaml-linenoise")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0s98695skz1wvrak0rdlh80w3cv6piic1dxqpn9rv1yymbklafg4"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; No tests
+     `(#:tests? #f))
+    (propagated-inputs (list ocaml-result ocaml-odoc))
+    (home-page "https://github.com/ocaml-community/ocaml-linenoise")
+    (synopsis "Lightweight readline alternative")
+    (description "This package is a line-reading library for OCaml that aims
+to replace readline.")
+    (license license:bsd-2)))
+
 (define-public ocaml-bitstring
   (package
     (name "ocaml-bitstring")
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56080; Package guix-patches. (Sun, 19 Jun 2022 07:53:02 GMT) Full text and rfc822 format available.

Message #11 received at 56080 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 56080 <at> debbugs.gnu.org
Subject: [PATCH 2/4] gnu: Add ocaml-ppx-bap.
Date: Sun, 19 Jun 2022 09:51:48 +0200
* gnu/packages/ocaml.scm (ocaml-ppx-bap): New variable.
---
 gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a8f328a266..6e9170e929 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4013,6 +4013,48 @@ (define-public ocaml-piqi
 XML and Protocol Buffers formats.")
     (license license:asl2.0)))
 
+(define-public ocaml-ppx-bap
+  (package
+    (name "ocaml-ppx-bap")
+    (version "0.14.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/BinaryAnalysisPlatform/ppx_bap")
+                     (commit (string-append "v" (version-major+minor version)))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1c6rcdp8bicdiwqc2mb59cl9l2vxlp3y8hmnr9x924fq7acly248"))))
+    (build-system dune-build-system)
+    (arguments
+     ;; No tests
+     `(#:tests? #f))
+    (propagated-inputs (list ocaml-base-quickcheck
+                             ocaml-ppx-assert
+                             ocaml-ppx-bench
+                             ocaml-ppx-bin-prot
+                             ocaml-ppx-cold
+                             ocaml-ppx-compare
+                             ocaml-ppx-enumerate
+                             ocaml-ppx-fields-conv
+                             ocaml-ppx-hash
+                             ocaml-ppx-here
+                             ocaml-ppx-optcomp
+                             ocaml-ppx-sexp-conv
+                             ocaml-ppx-sexp-value
+                             ocaml-ppx-variants-conv
+                             ocaml-ppxlib))
+    (properties `((upstream-name . "ppx_bap")))
+    (home-page "https://github.com/BinaryAnalysisPlatform/ppx_bap")
+    (synopsis "The set of ppx rewriters for BAP")
+    (description
+     "@code{ppx_bap} is the set of blessed ppx rewriters used in BAP projects.
+It fills the same role as @code{ppx_base} or @code{ppx_jane} (from which it is
+derived), but doesn't impose any style requirements and has only the minimal
+necessary set of rewriters.")
+    (license license:expat)))
+
 (define-public bap
   (package
     (name "bap")
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56080; Package guix-patches. (Sun, 19 Jun 2022 07:53:03 GMT) Full text and rfc822 format available.

Message #14 received at 56080 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 56080 <at> debbugs.gnu.org
Subject: [PATCH 4/4] gnu: bap: Update to 2.5.0-alpha.
Date: Sun, 19 Jun 2022 09:51:50 +0200
* gnu/packages/ocaml.scm (bap): Update to 2.5.0-alpha.
---
 gnu/packages/ocaml.scm | 104 ++++++++++++++++++++++-------------------
 1 file changed, 55 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 59a883b400..06fee0ed59 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4074,7 +4074,7 @@ (define-public ocaml-ppx-bap
 (define-public bap
   (package
     (name "bap")
-    (version "2.0.0")
+    (version "2.5.0-alpha")
     (home-page "https://github.com/BinaryAnalysisPlatform/bap")
     (source (origin
               (method git-fetch)
@@ -4084,58 +4084,64 @@ (define-public bap
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0lb9xkfp67wjjqr75p6krivmjra7l5673236v9ny4gp0xi0755bk"))))
+                "1fw9pp0xnssc08qqfkcafffap4f46hw7zmk80gif5yc4nazga8w5"))))
    (build-system ocaml-build-system)
-   (native-inputs
-    `(("ocaml-oasis" ,(package-with-ocaml4.07 ocaml-oasis))
-      ("clang" ,clang-3.8)
-      ("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit))))
-   (propagated-inputs
-    `(("camlzip" ,(package-with-ocaml4.07 camlzip))
-      ("ocaml-bitstring" ,(package-with-ocaml4.07 ocaml-bitstring))
-      ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner))
-      ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
-      ("ocaml-ezjsonm" ,(package-with-ocaml4.07 ocaml-ezjsonm))
-      ("ocaml-fileutils" ,(package-with-ocaml4.07 ocaml-fileutils))
-      ("ocaml-frontc" ,(package-with-ocaml4.07 ocaml-frontc))
-      ("ocaml-graph" ,(package-with-ocaml4.07 ocaml-graph))
-      ("ocaml-ocurl" ,(package-with-ocaml4.07 ocaml-ocurl))
-      ("ocaml-piqi" ,(package-with-ocaml4.07 ocaml-piqi))
-      ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
-      ("ocaml-utop" ,ocaml4.07-utop)
-      ("ocaml-uuidm" ,(package-with-ocaml4.07 ocaml-uuidm))
-      ("ocaml-uri" ,ocaml4.07-uri)
-      ("ocaml-zarith" ,(package-with-ocaml4.07 ocaml-zarith))))
-   (inputs
-    (list gmp llvm-3.8 ncurses))
    (arguments
-    `(#:use-make? #t
+    (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)
-            ;; 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"
-                    (assoc-ref outputs "out")
-                    "--libdir"
-                    (string-append
+      #~(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")
-                    "--with-llvm-version=3.8"
-                    "--with-llvm-config=llvm-config"
-                    "--enable-everything"))))
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib))
+                      "--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
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56080; Package guix-patches. (Sun, 19 Jun 2022 07:53:03 GMT) Full text and rfc822 format available.

Message #17 received at 56080 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 56080 <at> debbugs.gnu.org
Subject: [PATCH 3/4] gnu: Add ocaml-ppx-bitstring.
Date: Sun, 19 Jun 2022 09:51:49 +0200
* gnu/packages/ocaml.scm (ocaml-ppx-bitstring): New variable.
---
 gnu/packages/ocaml.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6e9170e929..59a883b400 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2016,6 +2016,22 @@ (define-public ocaml4.07-bitstring
       (propagated-inputs
        `(("ocaml-ppx-tools-versioned" ,ocaml4.07-ppx-tools-versioned)))
       (properties '()))))
+
+(define-public ocaml-ppx-bitstring
+  (package
+    (inherit ocaml-bitstring)
+    (name "ocaml-ppx-bitstring")
+    (arguments
+     `(#:package "ppx_bitstring"
+       ;; No tests
+       #:tests? #f))
+    (propagated-inputs (list ocaml-bitstring ocaml-ppxlib))
+    (native-inputs (list ocaml-ounit))
+    (properties `((upstream-name . "ppx_bitstring")))
+    (synopsis "PPX extension for bitstrings and bitstring matching")
+    (description
+     "This package provides a way to write bitstrings and matching over
+bitsrings in Erlang style as primitives to the language.")))
  
 (define-public ocaml-result
   (package
-- 
2.36.1





Information forwarded to guix-patches <at> gnu.org:
bug#56080; Package guix-patches. (Wed, 22 Jun 2022 20:51:02 GMT) Full text and rfc822 format available.

Message #20 received at 56080 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 56080 <at> debbugs.gnu.org
Subject: Re: bug#56080: [PATCH]: gnu: bap: Update to 2.5.0-alpha.
Date: Wed, 22 Jun 2022 22:50:09 +0200
Howdy,

Julien Lepiller <julien <at> lepiller.eu> skribis:

> This small patch series finally updates bap to a version that can use
> the latest OCaml compiler.

LGTM!

> After we merge that, we will be able to remove most ocaml-4.07
> packages :)

Yay!

Ludo’.




Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Tue, 28 Jun 2022 17:38:02 GMT) Full text and rfc822 format available.

Notification sent to Julien Lepiller <julien <at> lepiller.eu>:
bug acknowledged by developer. (Tue, 28 Jun 2022 17:38:02 GMT) Full text and rfc822 format available.

Message #25 received at 56080-done <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 56080-done <at> debbugs.gnu.org
Subject: Re: bug#56080: [PATCH]: gnu: bap: Update to 2.5.0-alpha.
Date: Tue, 28 Jun 2022 19:37:43 +0200
Thanks, pushed to master as 404df667e3b06f1e9a416c956e53c03ca3642140.

Le Wed, 22 Jun 2022 22:50:09 +0200,
Ludovic Courtès <ludo <at> gnu.org> a écrit :

> Howdy,
> 
> Julien Lepiller <julien <at> lepiller.eu> skribis:
> 
> > This small patch series finally updates bap to a version that can
> > use the latest OCaml compiler.  
> 
> LGTM!
> 
> > After we merge that, we will be able to remove most ocaml-4.07
> > packages :)  
> 
> Yay!
> 
> Ludo’.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 27 Jul 2022 11:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 273 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.