diff mbox series

[bug#54998] gnu: Add servefile.

Message ID 20220417212954.93893-1-stefan@xsteve.at
State New
Headers show
Series [bug#54998] gnu: Add servefile. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Stefan Reichör April 17, 2022, 9:29 p.m. UTC
* gnu/packages/web.scm (servefile): New variable.
---
 gnu/packages/web.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

Comments

M April 18, 2022, 11:48 a.m. UTC | #1
Stefan Reichör schreef op zo 17-04-2022 om 23:29 [+0200]:
> +    (arguments
> +     '(#:tests? #f)) ; tests fail

Which tests?

Greetings,
Maxime.
M April 18, 2022, 11:54 a.m. UTC | #2
Stefan Reichör schreef op zo 17-04-2022 om 23:29 [+0200]:
> +    (inputs (list python-pyopenssl))

Looking at
<https://github.com/sebageek/servefile/blob/master/servefile/servefile.py#L270>,
it looks like it depends on 'tar', 'gzip', 'bzip2' and 'xz',
which might need to be absolutised.

Typo at line
<https://github.com/sebageek/servefile/blob/0b010d5c10c5010963a8b8bc0e61cff914dd9b56/servefile/servefile.py#L351>.
M April 18, 2022, 11:55 a.m. UTC | #3
Stefan Reichör schreef op zo 17-04-2022 om 23:29 [+0200]:
> +    (description "Serve files from shell via a small HTTP server. It
> +also supports uploads, SSL, HTTP basic auth and directory listings.")

Nowadays it's called TLS; not SSL (SSL is the old version)
M April 18, 2022, 11:57 a.m. UTC | #4
Stefan Reichör schreef op zo 17-04-2022 om 23:29 [+0200]:
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "servefile" version))
> +       (sha256
> +        (base32
> +         "1ywi9yzc2l24nxfb2mvmkha7qfaapjvqchd6rhjbc54ijwrdq9m1"))))

It uses TLSv1_2_METHOD which apparently is deprecated
(https://stackoverflow.com/questions/58143753/why-can-i-not-found-tlsv1-3-client-method-when-programming-with-openssl),
for TLS 1.3 support something else needs to be done here.

Given the potential security impact, I think it's important here to do
the non-deprecated thing.

Greetings,
Maxime
M April 18, 2022, 11:58 a.m. UTC | #5
Stefan Reichör schreef op zo 17-04-2022 om 23:29 [+0200]:
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "servefile" version))
> +       (sha256
> +        (base32
> +        

At
<https://github.com/sebageek/servefile/blob/0b010d5c10c5010963a8b8bc0e61cff914dd9b56/servefile/servefile.py#L861>
and following lines, things like 'ip', 'sed', 'grep' and 'ifconfig' are
run and may need to be absolutised with an appropriate 'substitute*'.

G
Steve George April 1, 2024, 9:03 a.m. UTC | #6
Hi Stefan,

Are you still interested in adding Servefile to Guix?

Looks like the upstream has released a new version, and you can add bugs to the upstream tracker for the issues that Maxime advised. If you could update and reroll your patch hopefully we can get it reviewed!

Thanks,

Futurile / Steve
diff mbox series

Patch

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ee74a4385d..9df55d21cc 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -47,7 +47,7 @@ 
 ;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com>
 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
@@ -5000,6 +5000,27 @@  can easily be invoked on a single file.  Your partner can access the file with
 tools they trust (e.g. wget).")
     (license license:gpl2+)))
 
+(define-public servefile
+  (package
+    (name "servefile")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "servefile" version))
+       (sha256
+        (base32
+         "1ywi9yzc2l24nxfb2mvmkha7qfaapjvqchd6rhjbc54ijwrdq9m1"))))
+    (build-system python-build-system)
+    (inputs (list python-pyopenssl))
+    (arguments
+     '(#:tests? #f)) ; tests fail
+    (home-page "https://github.com/sebageek/servefile")
+    (synopsis "Serve or receive files from shell via a small HTTP server")
+    (description "Serve files from shell via a small HTTP server. It
+also supports uploads, SSL, HTTP basic auth and directory listings.")
+    (license license:gpl3+)))
+
 (define netsurf-buildsystem
   (package
     (name "netsurf-buildsystem")