Subject: [PATCH v2] gnu: Add smplayer.

From: Attila Lendvai <[email-masked]>
Date: Mon, 1 Nov 2021 02:04:12 +0100

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

i forgot to double check the licence, it's gpl2+, not gpl3+. otherwise,
it's the same as the previous patch.

 gnu/packages/video.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 245007f294..2915f85352 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2092,6 +2092,66 @@ (define-public mplayer
 SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
     (license license:gpl2)))
 
+(define-public smplayer
+  (package
+    (name "smplayer")
+    (version "21.10.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/smplayer/SMPlayer/" version
+                    "/smplayer-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "12nvcl0cfix1xay9hfi7856vg4lpv8y5b0a22212bsjbvl5g22rc"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase-5)
+       ("zlib" ,zlib)
+       ("mplayer" ,mplayer)))
+    (arguments
+     `(#:modules (,@%gnu-build-system-modules
+                  (srfi srfi-26))
+       #:tests? #false             ; no tests
+       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+                          (string-append "CC=" ,(cc-for-target))
+                          ;; A KLUDGE to turn off invoking lrelease on the
+                          ;; project for now, because it fails consistently
+                          ;; with "WARNING: Could not find qmake spec
+                          ;; 'default'". See below.
+                          "LRELEASE=true")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         ;; Due to the above, we must run lrelease separately on each .ts file
+         ;; (as opposed to running `lrelease-pro smplayer.pro` for the entire
+         ;; project, as the Makefile does normally without the above kludge).
+         (add-after 'build 'compile-ts-files
+           (lambda _
+             (for-each (cut invoke "lrelease" <>)
+                       (find-files "./" "\\.ts$")))))))
+    (home-page "https://www.smplayer.info")
+    (synopsis "Complete front-end for MPlayer, a media player")
+    (description "SMPlayer is a free media player for Windows and Linux
+with built-in codecs that can play virtually all video and audio formats.
+It doesn't need any external codecs.  Just install SMPlayer and you'll be
+able to play all formats without the hassle to find and install codec packs.
+
+One of the most interesting features of SMPlayer: it remembers the
+settings of all files you play.  So you start to watch a movie but you have
+to leave... don't worry, when you open that movie again it will be resumed
+at the same point you left it, and with the same settings: audio track,
+subtitles, volume...
+
+SMPlayer is a graphical user interface (GUI) for the award-winning
+MPlayer, which is capable of playing almost all known video and audio
+formats.  But apart from providing access for the most common and useful
+options of MPlayer, SMPlayer adds other interesting features like the
+possibility to play Youtube videos or download subtitles.")
+    (license license:gpl2+)))
+
 (define-public mpv
   (package
     (name "mpv")
-- 
2.33.0