Subject: Re: bug#25356: livestreamer no longer supported

From: Oleg Pykhalov <[email-masked]>
Date: Thu, 25 Jan 2018 02:13:42 +0300

Leo Famulari <[email-masked]> writes:

[...]

>> The streamlink package is available now from
>> f48feaa2848d999e100f27301680a01dc3bd7733
>> 
>> Should we still hold livestreamer?
>
> If streamlink is really a continuation of the livestreamer codebase,
> then we can mark the livestreamer package as superseded by streamlink.

Seems it is a fork according to
<https://github.com/streamlink/streamlink>.

> This will cause the livestreamer package in one's profile to be
> automatically replaced by streamlink when doing `guix package
> --upgrade`.
>
> Ideally both packages' executables would have the same name.

Symlink?  :-)

From 4f1d5095d15b79d9f90253f6aa67719bcd14918f Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov <[email-masked]>
Date: Thu, 25 Jan 2018 02:06:32 +0300
Subject: [PATCH] gnu: livestreamer: Deprecate in favour of streamlink.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/video.scm (livestreamer): Redefine using ‘deprecated-package’.
  (streamlink): Create ‘livestreamer’ symlink.
---
 gnu/packages/video.scm | 36 ++++++++++++------------------------
 1 file changed, 12 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d2599345d..9adc29c3b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1703,30 +1703,6 @@ pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG
 and custom quantization matrices.")
     (license license:gpl2+)))
 
-(define-public livestreamer
-  (package
-    (name "livestreamer")
-    (version "1.12.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/chrippa/livestreamer/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append "livestreamer-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd"))))
-    (build-system python-build-system)
-    (arguments
-     '(#:tests? #f)) ; tests rely on external web servers
-    (propagated-inputs
-     `(("python-requests" ,python-requests)))
-    (synopsis "Internet video stream viewer")
-    (description "Livestreamer is a command-line utility that extracts streams
-from various services and pipes them into a video playing application.")
-    (home-page "http://livestreamer.io/")
-    (license license:bsd-2)))
-
 (define-public streamlink
   (package
     (name "streamlink")
@@ -1751,11 +1727,23 @@ from various services and pipes them into a video playing application.")
        ("python-iso639" ,python-iso639)
        ("python-pycryptodome" ,python-pycryptodome)
        ("python-requests" ,python-requests)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-livestreamer-symlink
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Add a `livestreamer' -> `streamlink' link.
+             (let ((out (assoc-ref outputs "out")))
+               (with-directory-excursion (string-append out "/bin")
+                 (symlink "streamlink" "livestreamer"))))))))
     (synopsis "Extract streams from various services")
     (description "Streamlink is command-line utility that extracts streams
 from sites like Twitch.tv and pipes them into a video player of choice.")
     (license license:bsd-2)))
 
+(define-public livestreamer
+  (deprecated-package "livestreamer" streamlink))
+
 (define-public mlt
   (package
     (name "mlt")
-- 
2.15.1

Oleg.