* [bug#60732] Review
2023-01-11 16:36 [bug#60732] New package: python-scapy Gabriel Wicki
@ 2023-02-20 21:21 ` Andreas Enge
2023-02-21 17:44 ` [bug#60732] Patch update Wicki Gabriel (wicg)
2023-03-11 22:24 ` bug#60732: Close patch Andreas Enge
2 siblings, 0 replies; 5+ messages in thread
From: Andreas Enge @ 2023-02-20 21:21 UTC (permalink / raw)
To: 60732
[-- Attachment #1: Type: text/plain, Size: 711 bytes --]
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
[-- Attachment #2: 0001-gnu-Add-python-scapy.patch --]
[-- Type: text/plain, Size: 2057 bytes --]
From cc5e2cb341ae80c87f54fe0854ae8f5bc05a2a68 Mon Sep 17 00:00:00 2001
Message-Id: <cc5e2cb341ae80c87f54fe0854ae8f5bc05a2a68.1676927790.git.andreas@enge.fr>
From: Gabriel Wicki <gabriel@erlikon.ch>
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 <garekdyszel@disroot.org>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch>
;;;
;;; 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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#60732] Patch update
2023-01-11 16:36 [bug#60732] New package: python-scapy Gabriel Wicki
2023-02-20 21:21 ` [bug#60732] Review Andreas Enge
@ 2023-02-21 17:44 ` Wicki Gabriel (wicg)
2023-02-28 13:50 ` Wicki Gabriel (wicg)
2023-03-11 22:24 ` bug#60732: Close patch Andreas Enge
2 siblings, 1 reply; 5+ messages in thread
From: Wicki Gabriel (wicg) @ 2023-02-21 17:44 UTC (permalink / raw)
To: 60732@debbugs.gnu.org; +Cc: andreas@enge.fr
[-- Attachment #1.1: Type: text/plain, Size: 992 bytes --]
Hi
Thank you, Andreas, for your review.
When #:tests? #t the following output is generated (and the build fails)
> running test
> WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
I am not sure how to achieve this using our package management system and am not sure if it would be of great gain to do so.
According to the documentation [1] ipython, matplotlib, etc are optional dependencies. I wouldn't include them per se since one can easily invoke a Guix shell providing these.
To test one can invoke a guix shell --pure python-scapy python-ipython and run scapy manually.
I have adjusted the patch, thank you for your time and effort in advance!
Please let me know if i can improve it some more!
g
1: https://scapy.readthedocs.io/en/latest/installation.html#optional-dependencies
2: https://scapy.net/
[-- Attachment #1.2: Type: text/html, Size: 5196 bytes --]
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-python-scapy.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-python-scapy.patch", Size: 2013 bytes --]
From 0575e799328f93f6c4c5afe893ae10e6e7a9ee28 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
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 32d826d3c5..d9bee20eb8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -132,6 +132,7 @@
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1462,6 +1463,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? #f)) ;The recommendation is to use tox for testing.
+ (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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#60732: Close patch
2023-01-11 16:36 [bug#60732] New package: python-scapy Gabriel Wicki
2023-02-20 21:21 ` [bug#60732] Review Andreas Enge
2023-02-21 17:44 ` [bug#60732] Patch update Wicki Gabriel (wicg)
@ 2023-03-11 22:24 ` Andreas Enge
2 siblings, 0 replies; 5+ messages in thread
From: Andreas Enge @ 2023-03-11 22:24 UTC (permalink / raw)
To: 60732-done; +Cc: Gabriel Wicki
Hello Gabriel,
apologies for not coming back to you. I was a bit torn about the
dependencies, since we tend to package software as "completely" as
possible. Here however the optional dependencies are quite heavy,
and python-pycrypto is outdated and unmaintained and should not be
used anymore. So in the end I opted to leave them out, if someone feels
the need, we can add them to the package, or indeed as you said they
can install them into their profile themselves.
As for the tests, my impression is that they are actually not activated.
So I added a comment.
The patch is pushed now, thanks again for your patience!
Andreas
^ permalink raw reply [flat|nested] 5+ messages in thread