[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#51534] [PATCH v3] gnu: Add smplayer v21.10.0.

From: Attila Lendvai
Subject: [bug#51534] [PATCH v3] gnu: Add smplayer v21.10.0.
Date: Sun, 28 Nov 2021 12:30:04 +0100

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

thank you for the feedback Liliana!

i have edited the copy-pasted description to be shorter.

i've also done some more thourough testing, and indeed wrapping the executable
was necessary to add mpv (the media player backend) to the PATH. previously i
had it installed in my profile and SMPlayer found it from there.

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

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ff1abb308f..debc608694 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2119,6 +2119,64 @@ (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 qt-build-system)
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase-5)
+       ("zlib" ,zlib)
+       ("mpv" ,mpv)))
+    (arguments
+     `(#: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` for the entire
+         ;; project, as the Makefile does normally without the above kludge).
+         (add-after 'build 'compile-ts-files
+           (lambda _
+             (for-each (lambda (file)
+                         (invoke "lrelease" file))
+                       (find-files "./" "\\.ts$"))
+             #true))
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (mpv (assoc-ref inputs "mpv")))
+               (wrap-program (string-append out "/bin/smplayer")
+                 `("PATH" ":" prefix
+                   ,(list (string-append mpv "/bin")))))
+             #true)))))
+    (home-page "";)
+    (synopsis "Complete front-end for MPlayer, a media player")
+    (description "SMPlayer is a graphical user interface (GUI) for
+MPlayer, which is capable of playing almost all known video and audio
+formats.  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, download subtitles, remember
+the last played position, etc.")
+    (license license:gpl2+)))
 (define-public mpv
     (name "mpv")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]