unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "宋文武 via Guix-patches via" <guix-patches@gnu.org>
To: Maxime Devos <maximedevos@telenet.be>
Cc: 宋文武 <iyzsong@member.fsf.org>, 57133@debbugs.gnu.org
Subject: [bug#57133] [PATCH] gnu: Add rizin.
Date: Mon, 15 Aug 2022 09:34:16 +0800	[thread overview]
Message-ID: <87wnbai92f.fsf_-_@envs.net> (raw)
In-Reply-To: <13b3d37d-f4c6-4850-900c-49b5cce8d4a8@telenet.be> (Maxime Devos's message of "Thu, 11 Aug 2022 21:07:18 +0200")

[-- Attachment #1: Type: text/plain, Size: 2214 bytes --]

Maxime Devos <maximedevos@telenet.be> writes:

Hello, thank for the review!

> On 11-08-2022 08:37, iyzsong--- via Guix-patches via wrote:
>> +               #$(origin
>> +                   (method git-fetch)
>> +                   (uri (git-reference
>> +                         (url"https://github.com/rizinorg/rizin-testbins")
>> +                         (commit "7d0c31ac7711de9c4d37f5047200dc5a407ff713")))
>> +                   (sha256
>> +                    (base32
>> +                     "00cmc7pws9m4hcm0bpdjm6n4agl5mqgczc4ccswfhywyzzvr7sqh")))
>> +               "test/bins")))
>
> What's the license for those binaries? I doubt all of them are gpl3+.
>
> I'm seeing a copy of libstdc++.so.6 in there. IIRC, it has a license
> of the GPL family, which requires providing the source, so we need the
> source code of it as well because of the licensing terms (the source
> code of that particular variant of libstdc++, which might differ from
> the version currently in Guix). Likewise for the other binaries.
>
> Personally, I think it would be more practical to ignore
> rizin-testbins, even if that requires skipping some of the tests
> (hopefully not all of them).

I think those binaries as data, not programs to be run.  Well, most of
them don't have sources in the repository, so I'll remove it and skip
the integration tests.

>> + ;; Most files are under LGPL-3.0-only, other are under: Apache-2.0,
>> + ;; BSD-2-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, GPL-1.0-or-later,
>> + ;; GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later,
>> + ;; LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, MIT, NCSA.
>> + (license license:gpl3+))) 
>
> You can put multiple licenses in the license field, using (license
> (list this that foo bar ...)).

For the license field, do we need to list all licenses of source code
files, or the whole license of the package?  And if the later,
`(list license:gpl2+ license:lgpl3+)` would say the package is dual
licenses, under GPL2+ or LGPL3+ at user's choice.

I think with all those licenses, the whole package is under
GPL-3.0-or-later.

Correct me if wrong, thank you!


Patch updated to remove rizin-testsbin and skip integration tests:

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-rizin.patch --]
[-- Type: text/x-patch, Size: 4077 bytes --]

From 26b9a23efd456ec3ef439fbf3159823e0984c0eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org>
Date: Thu, 11 Aug 2022 14:37:49 +0800
Subject: [PATCH v2] gnu: Add rizin.

* gnu/packages/engineering.scm (rizin): New variable.
---
 gnu/packages/engineering.scm | 57 ++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f350da0042..892a05d5d0 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -67,6 +67,7 @@ (define-module (gnu packages engineering)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
   #:use-module (gnu packages)
@@ -88,6 +89,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages digest)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages fpga)
@@ -142,6 +144,7 @@ (define-module (gnu packages engineering)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages text-editors)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages version-control)
@@ -3757,3 +3760,57 @@ (define-public candle
 @item Visualizing G-code files.
 @end itemize")
       (license license:gpl3+))))
+
+(define-public rizin
+  (package
+    (name "rizin")
+    (version "0.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/rizinorg/rizin/releases/download/v"
+                    version "/rizin-src-v" version ".tar.xz"))
+              (sha256
+               (base32
+                "0nkb6v9lks25w5sv5s6p2ghgqnnnsf39md8nlx1cy4z89xlaisq9"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-Dpackager=guix"
+              (string-append "-Dpackager_version=" #$version)
+              "-Duse_sys_capstone=enabled"
+              "-Duse_sys_magic=enabled"
+              "-Duse_sys_libzip=enabled"
+              "-Duse_sys_zlib=enabled"
+              "-Duse_sys_lz4=enabled"
+              "-Duse_sys_xxhash=enabled"
+              "-Duse_sys_openssl=enabled"
+              "-Duse_sys_tree_sitter=enabled"
+              "-Duse_sys_libuv=enabled"
+              "-Duse_gpl=true")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'skip-integration-tests
+            (lambda _
+              ;; Skip integration tests, which require prebuilt binaries at:
+              ;; <https://github.com/rizinorg/rizin-testbins>.
+              ;; And 2 of them are failing, reported upstream:
+              ;; <https://github.com/rizinorg/rizin/issues/2905>.
+              (substitute* "test/meson.build"
+                (("subdir\\('integration'\\)") "")))))))
+    (native-inputs (list pkg-config))
+    (inputs
+     (list capstone file libuv libzip lz4 openssl tree-sitter xxhash zlib))
+    (home-page "https://rizin.re")
+    (synopsis "Disasm, debug, analyze and manipulate binary files")
+    (description
+     "Rizin is a reverse engineering framework and a set of small command-line
+utilities, providing a complete binary analysis experience with features like
+disassembler, hexadecimal editor, emulation, binary inspection, debugger, and
+more.")
+    ;; Most files are under LGPL-3.0-only, other are under: Apache-2.0,
+    ;; BSD-2-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, GPL-1.0-or-later,
+    ;; GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later,
+    ;; LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, MIT, NCSA.
+    (license license:gpl3+)))
-- 
2.37.1


  reply	other threads:[~2022-08-15  1:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11  6:37 [bug#57133] [PATCH] gnu: Add rizin iyzsong--- via Guix-patches via
2022-08-11 12:44 ` Jean Pierre De Jesus DIAZ via Guix-patches via
2022-08-15  1:36   ` 宋文武 via Guix-patches via
2022-08-11 19:07 ` Maxime Devos
2022-08-15  1:34   ` 宋文武 via Guix-patches via [this message]
2022-08-19  1:20     ` bug#57133: " 宋文武 via Guix-patches via
2022-08-26 13:49     ` [bug#57133] " Maxime Devos
2022-08-26 13:54     ` Maxime Devos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wnbai92f.fsf_-_@envs.net \
    --to=guix-patches@gnu.org \
    --cc=57133@debbugs.gnu.org \
    --cc=iyzsong@envs.net \
    --cc=iyzsong@member.fsf.org \
    --cc=maximedevos@telenet.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).