Subject: Re: bug#50652: [PATCH] gnu: Add mjpg-streamer.

From: phodina <[email-masked]>
Date: Sat, 02 Oct 2021 20:31:21 +0000

Hi Ludo,

thanks for the review. The jar and JQuery files are now removed.
The website is still running and the streaming in web browser
works (ungoogled-chromium, version: 93.0.4577.82-0.3f62dbc).

The rest of the files are should be fine as they are not binaries
 not minifed versions.

--8<---------------cut here---------------start------------->8---

* gnu/packages/video.scm: (mjpg-streamer): New variable.

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b6acebcecc..95e2f7e84e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -52,6 +52,7 @@
 ;;; Copyright © 2021 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2021 Raghav Gururajan <[email-masked]>
+;;; Copyright © 2021 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -446,6 +447,51 @@ library.")
     (home-page "http://libquicktime.sourceforge.net/")
     (license license:lgpl2.1+)))

+(define-public mjpg-streamer
+    (package
+      (name "mjpg-streamer")
+      (version "1.0.0")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/jacksonliam/mjpg-streamer")
+                      (commit (string-append "v" version))))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0w81pg228154blzbzr590xwhcll9baxyqxl6wxrgqsi9cd7pzq23"))
+                (modules '((guix build utils)))
+                (snippet '(begin
+                   (with-directory-excursion "mjpg-streamer-experimental/www"
+                     (for-each delete-file-recursively
+                             '("cambozola.jar"
+                               "JQuerySpinBtn.css"
+                               "JQuerySpinBtn.js"
+                               "jquery.js"
+                               "jquery.rotate.js"
+                               "jquery.ui.core.min.js"
+                               "jquery.ui.custom.css"
+                               "jquery.ui.tabs.min.js"
+                               "jquery.ui.widget.min.js"))
+                   #t)))))
+      (build-system cmake-build-system)
+      (arguments
+       '(#:tests? #f                    ; no test suite
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'chdir
+             (lambda* _
+               (chdir "mjpg-streamer-experimental"))))))
+      (inputs `(("libjpeg-turbo" ,libjpeg-turbo)))
+      (synopsis "Stream JPEG over IP network")
+      (description "Command line application that copies JPEG frames from one or
+more input plugins to multiple output plugins.  It can be used to stream JPEG
+files over an IP-based network from a webcam to various types of viewers such
+as Chrome, Firefox, Cambozola, VLC, mplayer, and other software capable of
+receiving MJPG streams.")
+      (home-page "https://github.com/jacksonliam/mjpg-streamer")
+      (license license:gpl2+)))
+
 (define-public mjpegtools
   (package
     (name "mjpegtools")
--
2.32.0