Subject: [bug#60732] Review

From: Andreas Enge <[email-masked]>
Date: Mon, 20 Feb 2023 22:21:56 +0100

Hello,

attached is a patch with a slightly reworked description and commit message.
I verified the license and built the package on x86_64.

However, I am not sure about the tests; there is a subdirectory "test",
but it is apparently not run by the standard procedure. Maybe it is not
meant to be an automatic test?

Then scapy.egg-info/requires.txt contains this:
[basic]
ipython

[complete]
ipython
pyx
cryptography>=2.0
matplotlib

[docs]
sphinx>=3.0.0
sphinx_rtd_theme>=0.4.3
tox>=3.0.0

So it looks like there are a number of propagated- and native-inputs that
are missing. It would be good if someone could build and try the package.
Someone who knows Python is needed, I give the task back :)

Andreas

>From cc5e2cb341ae80c87f54fe0854ae8f5bc05a2a68 Mon Sep 17 00:00:00 2001
Message-Id: <[email-masked]>
From: Gabriel Wicki <[email-masked]>
Date: Mon, 9 Jan 2023 16:06:20 +0100
Subject: [PATCH] gnu: Add python-scapy.

* gnu/packages/python-xyz.scm (python-scapy): New variable.
---
 gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 71a52a7ad8..af481fb9eb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -132,6 +132,7 @@
 ;;; Copyright © 2022 Garek Dyszel <[email-masked]>
 ;;; Copyright © 2022 Baptiste Strazzulla <[email-masked]>
 ;;; Copyright © 2022 Nicolas Graves <[email-masked]>
+;;; Copyright © 2023 Gabriel Wicki <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1453,6 +1454,30 @@ (define-public python-psutil
 iotop, uptime, pidof, tty, taskset, pmap.")
     (license license:bsd-3)))
 
+(define-public python-scapy
+  (package
+    (name "python-scapy")
+    (version "2.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "scapy" version))
+              (sha256
+               (base32
+                "1hpbbmpcn4dwj3z7i7sz4cnbpkaf57p7mvl3p84x9n2gflmhq9jv"))))
+    (arguments
+     '(#:tests? #t)) ;no test
+    (build-system python-build-system)
+    (home-page "https://scapy.net")
+    (synopsis "Python network packet crafting library")
+    (description
+     "Scapy is a Python library and executable for interactively
+manipulating network packets.  It can forge or decode packets of a number
+of protocols, send them on the wire, capture them, store or read them
+using pcap files, match requests and replies, and so on.
+It can handle tasks such as scanning, tracerouting, probing, unit tests,
+attacks or network discovery.")
+    (license license:gpl2)))
+
 (define-public python-shapely
   (package
     (name "python-shapely")
-- 
2.39.1