Add radare2

DoneSubmitted by Julien Lepiller.
Details
3 participants
  • Julien Lepiller
  • Marius Bakke
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
J
J
Julien Lepiller wrote on 11 Aug 2017 20:56
(address . guix-patches@gnu.org)
20170811205612.14cc6088@lepiller.eu
Hi, these patches add radare2, a reversing framework.
From fa5478ac8eccf51a62af574ef2be6316ba5c247b Mon Sep 17 00:00:00 2001From: Julien Lepiller <julien@lepiller.eu>Date: Fri, 11 Aug 2017 20:41:39 +0200Subject: [PATCH 1/3] gnu: Add capstone.
* gnu/packages/engineering.scm (capstone): New variable.--- gnu/packages/engineering.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex 650ac2b89..8c6280c14 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -1013,3 +1013,38 @@ specified in high-level description language into ready-to-compile C code for the API of spice simulators. Based on transformations specified in XML language, ADMS transforms Verilog-AMS code into other target languages.") (license license:gpl3)))++(define-public capstone+ (package+ (name "capstone")+ (version "3.0.5-rc2")+ (source (origin+ (method url-fetch)+ (uri (string-append "https://github.com/aquynh/capstone/archive/"+ version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "1cqms9r2p43aiwp5spd84zaccp16ih03r7sjhrv16nddahj0jz2q"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f+ #:make-flags (list (string-append "PREFIX=" %output)+ "CC=gcc")+ #:phases+ (modify-phases %standard-phases+ (delete 'configure)+ (add-before 'build 'fix-cstool-ldflags+ (lambda* (#:key outputs #:allow-other-keys)+ (substitute* "cstool/Makefile"+ (("LDFLAGS =")+ (string-append "LDFLAGS = -Wl,-rpath=" (assoc-ref outputs "out")+ "/lib"))))))))+ (home-page "http://www.capstone-engine.org")+ (synopsis "Lightweight multi-platform, multi-architecture disassembly framework")+ (description+ "Capstone is a lightweight multi-platform, multi-architecture disassembly+framework. Capstone can disassemble machine code for many supported architectures+such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore. It provides+bindings for Python, Java, OCaml and more.")+ (license license:bsd-3)))-- 2.14.1
From 078c0cdedb620e7acdf9baea8924499ad5f8311a Mon Sep 17 00:00:00 2001From: Julien Lepiller <julien@lepiller.eu>Date: Fri, 11 Aug 2017 20:49:04 +0200Subject: [PATCH 2/3] gnu: Add python-capstone.
* gnu/packages/engineering.scm (python-capstone, python2-capstone): Newvariables.--- gnu/packages/engineering.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-)
Toggle diff (44 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex 8c6280c14..6ba5131e7 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -32,7 +32,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu)- #:use-module (guix build-system cmake)+ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools)@@ -1048,3 +1048,28 @@ framework. Capstone can disassemble machine code for many supported architectur such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore. It provides bindings for Python, Java, OCaml and more.") (license license:bsd-3)))++;; This package has a timestamp embedded in+;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc+(define-public python-capstone+ (package+ (inherit capstone)+ (name "python-capstone")+ (propagated-inputs+ `(("capstone" ,capstone)))+ (build-system python-build-system)+ (arguments+ `(#:tests? #f+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'chdir-and-fix-setup-py+ (lambda _+ (chdir "bindings/python")+ (substitute* "setup.py" ((".* build_libraries.*") ""))+ (substitute* "capstone/__init__.py"+ (("pkg_resources.resource_filename.*")+ (string-append "'" (assoc-ref %build-inputs "capstone") "/lib',\n")))+ #t)))))))++(define-public python2-capstone+ (package-with-python2 python-capstone))-- 2.14.1
From ad50754454fdda9d4be91f6bc739df07fe63ecb6 Mon Sep 17 00:00:00 2001From: Julien Lepiller <julien@lepiller.eu>Date: Fri, 11 Aug 2017 20:54:40 +0200Subject: [PATCH 3/3] gnu: Add radare2.
* gnu/packages/engineering.scm (radare2): New variable.--- gnu/packages/engineering.scm | 49 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+)
Toggle diff (59 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex 6ba5131e7..130703e93 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -1073,3 +1073,52 @@ bindings for Python, Java, OCaml and more.") (define-public python2-capstone (package-with-python2 python-capstone))++(define-public radare2+ (package+ (name "radare2")+ (version "1.6.0")+ (source (origin+ (method url-fetch)+ (uri (string-append "http://radare.mikelloc.com/get/" version "/"+ name "-" version ".tar.gz"))+ (sha256+ (base32+ "16ggsk40zz6hyvclvqj1r4bh4hb78jf0d6ppry1jk4r0j30wm7cm"))+ (modules '((guix build utils)))+ (snippet+ '(begin+ (substitute* "libr/asm/p/Makefile"+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))+ (substitute* "libr/parse/p/Makefile"+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))+ (substitute* "libr/bin/p/Makefile"+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))))))+ (build-system gnu-build-system)+ (arguments+ '(#:tests? #f+ #:phases+ (modify-phases %standard-phases+ (add-before 'configure 'mklibdir+ (lambda* (#:key inputs #:allow-other-keys)+ (mkdir-p (string-append (assoc-ref %outputs "out") "/lib")))))+ #:configure-flags+ (list "--with-sysmagic" "--with-syszip" "--with-openssl"+ "--without-nonpic" "--with-rpath" "--with-syscapstone")+ #:make-flags+ (list "CC=gcc")))+ (inputs+ `(("openssl" ,openssl)+ ("zip" ,zip)+ ("gmp" ,gmp)+ ("capstone" ,capstone)))+ (native-inputs+ `(("pkg-config" ,pkg-config)))+ (home-page "https://radare.org/")+ (synopsis "Portable reversing framework")+ (description+ "Radare project started as a forensics tool, a scriptable commandline+hexadecimal editor able to open disk files, but later support for analyzing+binaries, disassembling code, debugging programs, attaching to remote gdb+servers, ...")+ (license license:lgpl3)))-- 2.14.1
R
R
Ricardo Wurmus wrote on 16 Aug 2017 17:19
(name . Julien Lepiller)(address . julien@lepiller.eu)(address . 28053@debbugs.gnu.org)
87a82zk0aw.fsf@elephly.net
Hi Julien,
Toggle quote (8 lines)> Hi, these patches add radare2, a reversing framework.>From fa5478ac8eccf51a62af574ef2be6316ba5c247b Mon Sep 17 00:00:00 2001> From: Julien Lepiller <julien@lepiller.eu>> Date: Fri, 11 Aug 2017 20:41:39 +0200> Subject: [PATCH 1/3] gnu: Add capstone.>> * gnu/packages/engineering.scm (capstone): New variable.> ---
Don’t forget to add a copyright line for yourself!
Toggle quote (28 lines)> +> +(define-public capstone> + (package> + (name "capstone")> + (version "3.0.5-rc2")> + (source (origin> + (method url-fetch)> + (uri (string-append "https://github.com/aquynh/capstone/archive/"> + version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "1cqms9r2p43aiwp5spd84zaccp16ih03r7sjhrv16nddahj0jz2q"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f> + #:make-flags (list (string-append "PREFIX=" %output)> + "CC=gcc")> + #:phases> + (modify-phases %standard-phases> + (delete 'configure)> + (add-before 'build 'fix-cstool-ldflags> + (lambda* (#:key outputs #:allow-other-keys)> + (substitute* "cstool/Makefile"> + (("LDFLAGS =")> + (string-append "LDFLAGS = -Wl,-rpath=" (assoc-ref outputs "out")> + "/lib"))))))))
Please add “#t” to the end of this phase. Is it necessary to do this ina build phase or could we add this to the make-flags instead?
Toggle quote (32 lines)>>From 078c0cdedb620e7acdf9baea8924499ad5f8311a Mon Sep 17 00:00:00 2001> From: Julien Lepiller <julien@lepiller.eu>> Date: Fri, 11 Aug 2017 20:49:04 +0200> Subject: [PATCH 2/3] gnu: Add python-capstone.>> * gnu/packages/engineering.scm (python-capstone, python2-capstone): New> variables.> ---> gnu/packages/engineering.scm | 27 ++++++++++++++++++++++++++-> 1 file changed, 26 insertions(+), 1 deletion(-)>> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm> index 8c6280c14..6ba5131e7 100644> --- a/gnu/packages/engineering.scm> +++ b/gnu/packages/engineering.scm> @@ -32,7 +32,7 @@> #:use-module ((guix licenses) #:prefix license:)> #:use-module (guix build-system cmake)> #:use-module (guix build-system gnu)> - #:use-module (guix build-system cmake)> + #:use-module (guix build-system python)> #:use-module (gnu packages)> #:use-module (gnu packages algebra)> #:use-module (gnu packages autotools)> @@ -1048,3 +1048,28 @@ framework. Capstone can disassemble machine code for many supported architectur> such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore. It provides> bindings for Python, Java, OCaml and more.")> (license license:bsd-3)))> +> +;; This package has a timestamp embedded in> +;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc
Please add “FIXME: ” before the comment.
Toggle quote (10 lines)> +(define-public python-capstone> + (package> + (inherit capstone)> + (name "python-capstone")> + (propagated-inputs> + `(("capstone" ,capstone)))> + (build-system python-build-system)> + (arguments> + `(#:tests? #f
Please add a comment that tells us why the tests are disabled.
Toggle quote (11 lines)> + #:phases> + (modify-phases %standard-phases> + (add-after 'unpack 'chdir-and-fix-setup-py> + (lambda _> + (chdir "bindings/python")> + (substitute* "setup.py" ((".* build_libraries.*") ""))> + (substitute* "capstone/__init__.py"> + (("pkg_resources.resource_filename.*")> + (string-append "'" (assoc-ref %build-inputs "capstone") "/lib',\n")))> + #t)))))))
Could you please add a comment explaining why these substitutions arenecessary?
Toggle quote (43 lines)>>From ad50754454fdda9d4be91f6bc739df07fe63ecb6 Mon Sep 17 00:00:00 2001> From: Julien Lepiller <julien@lepiller.eu>> Date: Fri, 11 Aug 2017 20:54:40 +0200> Subject: [PATCH 3/3] gnu: Add radare2.>> * gnu/packages/engineering.scm (radare2): New variable.> ---> gnu/packages/engineering.scm | 49 ++++++++++++++++++++++++++++++++++++++++++++> 1 file changed, 49 insertions(+)>> diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm> index 6ba5131e7..130703e93 100644> --- a/gnu/packages/engineering.scm> +++ b/gnu/packages/engineering.scm> @@ -1073,3 +1073,52 @@ bindings for Python, Java, OCaml and more.")>> (define-public python2-capstone> (package-with-python2 python-capstone))> +> +(define-public radare2> + (package> + (name "radare2")> + (version "1.6.0")> + (source (origin> + (method url-fetch)> + (uri (string-append "http://radare.mikelloc.com/get/" version "/"> + name "-" version ".tar.gz"))> + (sha256> + (base32> + "16ggsk40zz6hyvclvqj1r4bh4hb78jf0d6ppry1jk4r0j30wm7cm"))> + (modules '((guix build utils)))> + (snippet> + '(begin> + (substitute* "libr/asm/p/Makefile"> + (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))> + (substitute* "libr/parse/p/Makefile"> + (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))> + (substitute* "libr/bin/p/Makefile"> + (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))))))> + (build-system gnu-build-system)> + (arguments> + '(#:tests? #f
As above, please add a comment here.
Toggle quote (6 lines)> + #:phases> + (modify-phases %standard-phases> + (add-before 'configure 'mklibdir> + (lambda* (#:key inputs #:allow-other-keys)> + (mkdir-p (string-append (assoc-ref %outputs "out") "/lib")))))
Please use
(add-before 'configure 'mklibdir (lambda* (#:key outputs #:allow-other-keys) (mkdir-p (string-append (assoc-ref outputs "out") "/lib")) #t)))
Why does this need to happen before the configure phase? Can this bedone before the install phase?
Toggle quote (4 lines)> + #:configure-flags> + (list "--with-sysmagic" "--with-syszip" "--with-openssl"> + "--without-nonpic" "--with-rpath" "--with-syscapstone")
Why “without-nonpic”? Should we add support for nonpic at a laterpoint?
Toggle quote (6 lines)> + (description> + "Radare project started as a forensics tool, a scriptable commandline> +hexadecimal editor able to open disk files, but later support for analyzing> +binaries, disassembling code, debugging programs, attaching to remote gdb> +servers, ...")
The description could be improved. The sentence is not complete as it’smissing a verb.
Toggle quote (2 lines)> + (license license:lgpl3)))
LGPL version 3 only?
--Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAChttps://elephly.net
R
R
Ricardo Wurmus wrote on 16 Aug 2017 17:19
control message for bug #28053
(address . control@debbugs.gnu.org)
E1di06Z-0003eJ-Fv@debbugs.gnu.org
tags 28053 moreinfo
M
M
Marius Bakke wrote on 17 Aug 2017 00:24
Re: [bug#28053] Add radare2
(address . 28053@debbugs.gnu.org)
87mv6zywvv.fsf@fastmail.com
Ricardo Wurmus <rekado@elephly.net> writes:
Toggle quote (6 lines)>> +>> +;; This package has a timestamp embedded in>> +;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc>> Please add “FIXME: ” before the comment.
FYI, there is an upstream patch (in review) that makes Python respectSOURCE_DATE_EPOCH when compiling bytecode. I'm going to try pickingthat for the 3.6 update, so this comment won't be necessary for long.
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlmUxgQACgkQoqBt8qM6VPpClwf+PsAfpjc7+z3ra6lxARoSxtyHwP3n7YZfV/sGG52rxnrfp8bBmDZcF9ikKm/auLIkUvqG3vgJ+1gDRHFmCI2Vm/Cy/LS0BXuCX7Zce7D0DZxCzmILihEQrEc11AsDZcjsObXc3W2AM+a6tmfCmvU0ymCn/quWmi/7S9TMuIgsKozu2CLBpzTPy9FehzVAHYJ/rPJ+YqhSzOQQMOkkq+sBWHTj/VdArjcotEfp0zupoGZ3E2hFrJaVtNYfCNVzdz84zCUcPoe9ZIXhVtMHZKLi9qJCVFCCxhpegxOCCg16uFSNedmZkKVNfOWRRJLDA7wu2uOHDduIK0nyJmrTSpzrCg===RBvb-----END PGP SIGNATURE-----
R
R
Ricardo Wurmus wrote on 17 Aug 2017 08:57
(name . Marius Bakke)(address . mbakke@fastmail.com)
877ey2k7fw.fsf@elephly.net
Marius Bakke <mbakke@fastmail.com> writes:
Toggle quote (11 lines)> Ricardo Wurmus <rekado@elephly.net> writes:>>> +>>> +;; This package has a timestamp embedded in>>> +;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc>>>> Please add “FIXME: ” before the comment.>> FYI, there is an upstream patch (in review) that makes Python respect> SOURCE_DATE_EPOCH when compiling bytecode. I'm going to try picking> that for the 3.6 update, so this comment won't be necessary for long.
Oh, that’s good. Will this fix the remaining reproducibility problemswith Python?
--Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAChttps://elephly.net
J
J
Julien Lepiller wrote on 17 Aug 2017 21:22
Re: [bug#28053] Add radare2 (v2)
(address . 28053@debbugs.gnu.org)
20170817212244.5e42832d@lepiller.eu
Hi,
here is the new version of the patches
From 0e893d50f3352d235bb70d1e3f1ce8f1b246d99e Mon Sep 17 00:00:00 2001From: Julien Lepiller <julien@lepiller.eu>Date: Fri, 11 Aug 2017 20:41:39 +0200Subject: [PATCH 1/3] gnu: Add capstone.
* gnu/packages/engineering.scm (capstone): New variable.--- gnu/packages/engineering.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)
Toggle diff (55 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex 650ac2b89..db8dbff1e 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -5,6 +5,7 @@ ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros.for@openmailbox.org>+;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;;@@ -1013,3 +1014,40 @@ specified in high-level description language into ready-to-compile C code for the API of spice simulators. Based on transformations specified in XML language, ADMS transforms Verilog-AMS code into other target languages.") (license license:gpl3)))++(define-public capstone+ (package+ (name "capstone")+ (version "3.0.5-rc2")+ (source (origin+ (method url-fetch)+ (uri (string-append "https://github.com/aquynh/capstone/archive/"+ version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "1cqms9r2p43aiwp5spd84zaccp16ih03r7sjhrv16nddahj0jz2q"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f+ #:make-flags (list (string-append "PREFIX=" %output)+ "CC=gcc")+ #:phases+ (modify-phases %standard-phases+ (delete 'configure)+ ;; cstool's Makefile overrides LDFLAGS, so we cannot pass it as a make flag.+ (add-before 'build 'fix-cstool-ldflags+ (lambda* (#:key outputs #:allow-other-keys)+ (substitute* "cstool/Makefile"+ (("LDFLAGS =")+ (string-append "LDFLAGS = -Wl,-rpath=" (assoc-ref outputs "out")+ "/lib")))+ #t)))))+ (home-page "http://www.capstone-engine.org")+ (synopsis "Lightweight multi-platform, multi-architecture disassembly framework")+ (description+ "Capstone is a lightweight multi-platform, multi-architecture disassembly+framework. Capstone can disassemble machine code for many supported architectures+such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore. It provides+bindings for Python, Java, OCaml and more.")+ (license license:bsd-3)))-- 2.14.1
From e881c1cc7b4073e74294e6bf4817743ff0a08d02 Mon Sep 17 00:00:00 2001From: Julien Lepiller <julien@lepiller.eu>Date: Fri, 11 Aug 2017 20:49:04 +0200Subject: [PATCH 2/3] gnu: Add python-capstone.
* gnu/packages/engineering.scm (python-capstone, python2-capstone): Newvariables.--- gnu/packages/engineering.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-)
Toggle diff (46 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex db8dbff1e..b4ccc446f 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -33,7 +33,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu)- #:use-module (guix build-system cmake)+ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools)@@ -1051,3 +1051,30 @@ framework. Capstone can disassemble machine code for many supported architectur such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore. It provides bindings for Python, Java, OCaml and more.") (license license:bsd-3)))++;; FIXME: This package has a timestamp embedded in+;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc+(define-public python-capstone+ (package+ (inherit capstone)+ (name "python-capstone")+ (propagated-inputs+ `(("capstone" ,capstone)))+ (build-system python-build-system)+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'chdir-and-fix-setup-py+ (lambda _+ (chdir "bindings/python")+ ;; Do not build the library again, because we already have it.+ (substitute* "setup.py" ((".* build_libraries.*") ""))+ ;; This substitution tells python-capstone where to find the+ ;; library.+ (substitute* "capstone/__init__.py"+ (("pkg_resources.resource_filename.*")+ (string-append "'" (assoc-ref %build-inputs "capstone") "/lib',\n")))+ #t)))))))++(define-public python2-capstone+ (package-with-python2 python-capstone))-- 2.14.1
From 659376711046c89b2dbb1e00410a3684fb0d81a0 Mon Sep 17 00:00:00 2001From: Julien Lepiller <julien@lepiller.eu>Date: Fri, 11 Aug 2017 20:54:40 +0200Subject: [PATCH 3/3] gnu: Add radare2.
* gnu/packages/engineering.scm (radare2): New variable.--- gnu/packages/engineering.scm | 55 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-)
Toggle diff (86 lines)diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scmindex b4ccc446f..008a96b24 100644--- a/gnu/packages/engineering.scm+++ b/gnu/packages/engineering.scm@@ -23,6 +23,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages engineering)+ #:use-module (srfi srfi-1) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp)@@ -60,6 +61,7 @@ #:use-module (gnu packages linux) ;FIXME: for pcb #:use-module (gnu packages m4) #:use-module (gnu packages maths)+ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config)@@ -71,8 +73,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages tex) #:use-module (gnu packages wxwidgets)- #:use-module (gnu packages xorg)- #:use-module (srfi srfi-1))+ #:use-module (gnu packages xorg)) (define-public librecad (package@@ -1078,3 +1079,53 @@ bindings for Python, Java, OCaml and more.") (define-public python2-capstone (package-with-python2 python-capstone))++(define-public radare2+ (package+ (name "radare2")+ (version "1.6.0")+ (source (origin+ (method url-fetch)+ (uri (string-append "http://radare.mikelloc.com/get/" version "/"+ name "-" version ".tar.gz"))+ (sha256+ (base32+ "16ggsk40zz6hyvclvqj1r4bh4hb78jf0d6ppry1jk4r0j30wm7cm"))+ (modules '((guix build utils)))+ (snippet+ '(begin+ (substitute* "libr/asm/p/Makefile"+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))+ (substitute* "libr/parse/p/Makefile"+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))+ (substitute* "libr/bin/p/Makefile"+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))))))+ (build-system gnu-build-system)+ (arguments+ '(#:tests? #f; tests require git and network access+ #:phases+ (modify-phases %standard-phases+ (add-before 'configure 'mklibdir+ (lambda* (#:key inputs #:allow-other-keys)+ (mkdir-p (string-append (assoc-ref %outputs "out") "/lib"))+ #t)))+ #:configure-flags+ (list "--with-sysmagic" "--with-syszip" "--with-openssl"+ "--without-nonpic" "--with-rpath" "--with-syscapstone")+ #:make-flags+ (list "CC=gcc")))+ (inputs+ `(("openssl" ,openssl)+ ("zip" ,zip)+ ("gmp" ,gmp)+ ("capstone" ,capstone)))+ (native-inputs+ `(("pkg-config" ,pkg-config)))+ (home-page "https://radare.org/")+ (synopsis "Portable reversing framework")+ (description+ "Radare project started as a forensics tool, a scriptable commandline+hexadecimal editor able to open disk files, but later support for analyzing+binaries, disassembling code, debugging programs, attaching to remote gdb+servers, ...")+ (license license:lgpl3)))-- 2.14.1
M
M
Marius Bakke wrote on 17 Aug 2017 22:35
Re: [bug#28053] Add radare2
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87efsaylta.fsf@fastmail.com
Ricardo Wurmus <rekado@elephly.net> writes:
Toggle quote (16 lines)> Marius Bakke <mbakke@fastmail.com> writes:>>> Ricardo Wurmus <rekado@elephly.net> writes:>>>> +>>>> +;; This package has a timestamp embedded in>>>> +;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc>>>>>> Please add “FIXME: ” before the comment.>>>> FYI, there is an upstream patch (in review) that makes Python respect>> SOURCE_DATE_EPOCH when compiling bytecode. I'm going to try picking>> that for the 3.6 update, so this comment won't be necessary for long.>> Oh, that’s good. Will this fix the remaining reproducibility problems> with Python?
We also need to provide a stable PYTHONHASHSEED, but I do believe thesemeasures will fix the vast majority of Python reproducibility issues.
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlmV/hEACgkQoqBt8qM6VPrfwQf/drb+6EY+CuE5oS0PGkFGL5iN3arua57l7y7SO4jTtTk9HxtFIR6QXbv9hqoPTunHYATck1J167blX/QYaIoaFi6I+iHVuSiwm4Ut8EnWwY5PcSPwh16y2Ic8mfbbJ4NJ2HSvihTAUezhpiXjILNvHel2AgF15AKhxkE8t06Yi9WiEoontKFZmI1nF3sMpKo6zpd8o4z3Yzv+cPWB1dKLoL5I0+2+wLrkKGUhQQ4GznFesRUt41cPFTVdynG34XTVAcxiRAPiDcCzEf33b2k4XKil/Rz12SXrp3UKh1c6ph3GmjRKCE7Wy2KBur7i/63pesCB2v7wKSv4qWUEdL5lEw===kKIz-----END PGP SIGNATURE-----
J
J
Julien Lepiller wrote on 26 Aug 2017 13:04
Re: [bug#28053] Add radare2 (v2)
(address . 28053-done@debbugs.gnu.org)
20170826130404.617e8393@lepiller.eu
Pushed as 6febda9443e34adda38b7c365ff2d7368f589995 -446695775d6d8d15546c5d0fc535e9f5c83a7b7e
Le Thu, 17 Aug 2017 21:22:44 +0200,Julien Lepiller <julien@lepiller.eu> a écrit :
Toggle quote (3 lines)> Hi,> > here is the new version of the patches
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 28053@debbugs.gnu.org