Update svtplay-dl to 4.18

  • Open
  • quality assurance status badge
Details
4 participants
  • Leo Famulari
  • Christopher Baines
  • Tobias Geerinckx-Rice
  • Jessica Tallon
Owner
unassigned
Submitted by
Jessica Tallon
Severity
normal
J
J
Jessica Tallon wrote on 28 Jan 2023 12:29
(address . guix-patches@gnu.org)
5646122.DvuYhMxLoT@localhost.localdomain
Hello,

I've attached a patch to upgrade svtplay-dl from 4.17 to 4.18. I've also moved
ffmpeg form inputs to propagated-inputs as it's needed while the program is
running to merge two files, not while building.

Thanks,
Jessica.
From f487a0b2b9433d3151782e187fa9b69e13b9e0c3 Mon Sep 17 00:00:00 2001
Message-Id: <f487a0b2b9433d3151782e187fa9b69e13b9e0c3.1674905145.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sat, 28 Jan 2023 11:50:32 +0100
Subject: [PATCH] * gnu/packages/video.scm (svtplay-dl) update to 4.18

---
gnu/packages/video.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 60d39c38dc..4f2012ef3c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -5635,7 +5635,7 @@ (define-public video-contact-sheet
(define-public svtplay-dl
(package
(name "svtplay-dl")
- (version "4.17")
+ (version "4.18")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5644,10 +5644,11 @@ (define-public svtplay-dl
(file-name (git-file-name name version))
(sha256
(base32
- "0yjxmvldskw4pji3lg69pbx05izvxahz9my7z5p31mkiz6v33dmx"))))
+ "1xb2n3bwjddr86mjynbfd8m2g98gzqbj5mmsfc735q9xp14l30pf"))))
(build-system python-build-system)
- (inputs (list ffmpeg python-pyaml python-requests python-pysocks
+ (inputs (list python-pyaml python-requests python-pysocks
python-cryptography))
+ (propagated-inputs (list ffmpeg))
(home-page "https://svtplay-dl.se/")
(synopsis "Download or stream SVT Play's (and others) TV programmes")
(description
--
2.39.1
T
T
Tobias Geerinckx-Rice wrote on 28 Jan 2023 13:33
(name . Jessica Tallon)(address . tsyesika@tsyesika.se)
87357ult1k.fsf@nckx
Jessica,

Jessica Tallon ???
Toggle quote (2 lines)
> I've attached a patch to upgrade svtplay-dl from 4.17 to 4.18.

Thanks!

Toggle quote (2 lines)
> I've also moved ffmpeg form inputs to propagated-inputs

Please avoid propagation whenever possible; it breaks all kinds of
nice things.

Propagating A from B means that Guix will effectively ‘install’ A
alongside B when the user installs only B. Or how classical
package managers bluntly handle ‘dependencies’. Not good!

Here's what I'd do instead [untested]:

(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'wrap 'wrap-harder
(lambda* (#:key inputs outputs
#:allow-other-keys)
(wrap-script (string-append (assoc-ref outputs
"out")
"/bin/svtplay-dl")
`("PATH" ":" prefix
(,(dirname (search-input-file inputs
"bin/ffmpeg"))))))))))
(native-inputs (list guile-3.0)) ; for wrap-script

Toggle quote (3 lines)
> it's needed while the program is
> running to merge two files, not while building.

So 4.17 did not need or use ffmpeg this way?

Otherwise, put each unrelated changes into a separate commit: one
to improve the ffmpeg situation, and one to update svtplay-dl.
You can send multiple related commits as one patch series to one
bug number, though.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCY9Uatw0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15XMoBALYlzpK/UWBrpMt7maGd+CLzb6LvgptO6VTTc4mw
FvaIAQDFWKaUlXwtYyqLb9z6wI8kO0rpHlyG0bQd/6IcFyJbCQ==
=HBip
-----END PGP SIGNATURE-----

T
T
Tobias Geerinckx-Rice wrote on 28 Jan 2023 13:58
87y1pmke62.fsf@nckx
Tobias Geerinckx-Rice via Guix-patches via ???
Toggle quote (3 lines)
> (lambda* (#:key inputs outputs
> #:allow-other-keys) ^

Dunno why mu4e added a hard newline here. There shouldn't be one.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCY9UcRQ0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15m3sBAOWDh9aizraxtITqyN8do4EP5hyqetFE73k3Nig9
NepUAP4q8SmytfTkeku9nZD9sev59xMlQy/V4Pt6vrUUl1zFDQ==
=sjYA
-----END PGP SIGNATURE-----

T
T
Tobias Geerinckx-Rice wrote on 28 Jan 2023 14:02
87tu0ake09.fsf@nckx
Tobias Geerinckx-Rice via Guix-patches via ???
Toggle quote (4 lines)
> (wrap-script (string-append (assoc-ref outputs
> "out")
> ^

And here. All the others are good. Sorry for the mess.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCY9UdFg0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15WQwA/RdhfeclZThtWHuxVz6Aqucg6LJuNtenkN3Gj430
UTHCAP9A2Trmh3rUIdEb//bXsxqgBUX1keL7l/3IcQVrwMThAQ==
=3FuZ
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 3 Feb 2023 15:27
tag 61117 moreinfo
(address . control@debbugs.gnu.org)
87a61u3juz.fsf@cbaines.net
tags 61117 + moreinfo
quit
J
J
Jessica Tallon wrote on 5 Mar 2023 11:05
Re: [bug#61117] Update svtplay-dl to 4.18
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
877cvv33vo.fsf@tsyesika.se
Hello,

Sorry for the long delay on addressing this feedback.

Tobias Geerinckx-Rice <me@tobias.gr> writes:

Toggle quote (11 lines)
> [[PGP Signed Part:Undecided]]
> Jessica,
>
> Please avoid propagation whenever possible; it breaks all kinds of
> nice things.
>
> Propagating A from B means that Guix will effectively ‘install’ A
> alongside B when the user installs only B. Or how classical package
> managers bluntly handle ‘dependencies’. Not good!
>

Thanks for the tip, I've included a patch which does it this way.

Toggle quote (11 lines)
>
>> it's needed while the program is running to merge two files, not
>> while building.
>
> So 4.17 did not need or use ffmpeg this way?
>
> Otherwise, put each unrelated changes into a separate commit: one to
> improve the ffmpeg situation, and one to update svtplay-dl. You can
> send multiple related commits as one patch series to one bug number,
> though.

4.17 did indeed need ffmpeg, I've included two patches one which
resolves the ffmpeg issue and the other which updates it to 4.18.

Thanks,
Jessica.
From 1b81f1786ba0cb038bf76ab74cbc90847d06206b Mon Sep 17 00:00:00 2001
Message-Id: <cover.1678010569.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sun, 5 Mar 2023 11:02:49 +0100
Subject: [PATCH 0/2] Upgrade svtplay-dl to 4.18 & fix wrapping with ffmpeg

The first patch fixes svtplay-dl which needs ffmpeg to create a unified file
with both sound and video combined. Before it didn't have access to ffmpeg so
it would display an error and leave the two files uncombined.

The second upgrades svtplay-dl to the latest version, 4.18.

Jessica Tallon (2):
gnu: fix svtplay-dl wrapping to use ffmpeg
gnu: svtplay-dl update to 4.18

gnu/packages/video.scm | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

--
2.39.1
From e9d073dbf37323d11bddae32a1c54d65864959be Mon Sep 17 00:00:00 2001
Message-Id: <e9d073dbf37323d11bddae32a1c54d65864959be.1678010569.git.tsyesika@tsyesika.se>
In-Reply-To: <cover.1678010569.git.tsyesika@tsyesika.se>
References: <cover.1678010569.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sun, 5 Mar 2023 10:43:58 +0100
Subject: [PATCH 1/2] gnu: fix svtplay-dl wrapping to use ffmpeg

* gnu/packages/video.scm (svtplay-dl): Wrap program to give access to ffmpeg.
---
gnu/packages/video.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 13299fdf06..721f7c4d4e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -64,6 +64,7 @@
;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ott Joon <oj@vern.cc>
+;;; Copyright © 2023 Jessica Tallon <tsyesika@tsyesika.se>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5690,8 +5691,19 @@ (define-public svtplay-dl
(base32
"0yjxmvldskw4pji3lg69pbx05izvxahz9my7z5p31mkiz6v33dmx"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (ffmpeg (assoc-ref inputs "ffmpeg")))
+ (wrap-program (string-append out "/bin/svtplay-dl")
+ `("PATH" ":" prefix
+ ,(list (string-append ffmpeg "/bin"))))))))))
(inputs (list ffmpeg python-pyaml python-requests python-pysocks
- python-cryptography))
+ python-cryptography bash-minimal))
(home-page "https://svtplay-dl.se/")
(synopsis "Download or stream SVT Play's (and others) TV programmes")
(description
--
2.39.1
From 1b81f1786ba0cb038bf76ab74cbc90847d06206b Mon Sep 17 00:00:00 2001
Message-Id: <1b81f1786ba0cb038bf76ab74cbc90847d06206b.1678010569.git.tsyesika@tsyesika.se>
In-Reply-To: <cover.1678010569.git.tsyesika@tsyesika.se>
References: <cover.1678010569.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sun, 5 Mar 2023 10:56:54 +0100
Subject: [PATCH 2/2] gnu: svtplay-dl update to 4.18

* gnu/packages/video.scm (svtplay-dl) update to 4.18
---
gnu/packages/video.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 721f7c4d4e..fbebaaff28 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -5680,7 +5680,7 @@ (define-public video-contact-sheet
(define-public svtplay-dl
(package
(name "svtplay-dl")
- (version "4.17")
+ (version "4.18")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5689,7 +5689,7 @@ (define-public svtplay-dl
(file-name (git-file-name name version))
(sha256
(base32
- "0yjxmvldskw4pji3lg69pbx05izvxahz9my7z5p31mkiz6v33dmx"))))
+ "1xb2n3bwjddr86mjynbfd8m2g98gzqbj5mmsfc735q9xp14l30pf"))))
(build-system python-build-system)
(arguments
(list
--
2.39.1
J
J
Jessica Tallon wrote on 5 Mar 2023 11:39
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
20230305112617.3babd216@tsyesika.se
Hello,

Sorry for the long delay on addressing this feedback.

Tobias Geerinckx-Rice <me@tobias.gr> writes:
Toggle quote (10 lines)
> Jessica,
>
> Please avoid propagation whenever possible; it breaks all kinds of
> nice things.
>
> Propagating A from B means that Guix will effectively ‘install’ A
> alongside B when the user installs only B. Or how classical package
> managers bluntly handle ‘dependencies’. Not good!
>

Thanks for the tip, I've included a patch which does it this way.

Toggle quote (11 lines)
>
>> it's needed while the program is running to merge two files, not
>> while building.
>
> So 4.17 did not need or use ffmpeg this way?
>
> Otherwise, put each unrelated changes into a separate commit: one to
> improve the ffmpeg situation, and one to update svtplay-dl. You can
> send multiple related commits as one patch series to one bug number,
> though.

4.17 did indeed need ffmpeg, I've included two patches one which
resolves the ffmpeg issue and the other which updates it to 4.18.

Thanks,
Jessica.
From 1b81f1786ba0cb038bf76ab74cbc90847d06206b Mon Sep 17 00:00:00 2001
Message-Id: <cover.1678010569.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sun, 5 Mar 2023 11:02:49 +0100
Subject: [PATCH 0/2] Upgrade svtplay-dl to 4.18 & fix wrapping with ffmpeg

The first patch fixes svtplay-dl which needs ffmpeg to create a unified file
with both sound and video combined. Before it didn't have access to ffmpeg so
it would display an error and leave the two files uncombined.

The second upgrades svtplay-dl to the latest version, 4.18.

Jessica Tallon (2):
gnu: fix svtplay-dl wrapping to use ffmpeg
gnu: svtplay-dl update to 4.18

gnu/packages/video.scm | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

--
2.39.1
From e9d073dbf37323d11bddae32a1c54d65864959be Mon Sep 17 00:00:00 2001
Message-Id: <e9d073dbf37323d11bddae32a1c54d65864959be.1678010569.git.tsyesika@tsyesika.se>
In-Reply-To: <cover.1678010569.git.tsyesika@tsyesika.se>
References: <cover.1678010569.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sun, 5 Mar 2023 10:43:58 +0100
Subject: [PATCH 1/2] gnu: fix svtplay-dl wrapping to use ffmpeg

* gnu/packages/video.scm (svtplay-dl): Wrap program to give access to ffmpeg.
---
gnu/packages/video.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 13299fdf06..721f7c4d4e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -64,6 +64,7 @@
;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ott Joon <oj@vern.cc>
+;;; Copyright © 2023 Jessica Tallon <tsyesika@tsyesika.se>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5690,8 +5691,19 @@ (define-public svtplay-dl
(base32
"0yjxmvldskw4pji3lg69pbx05izvxahz9my7z5p31mkiz6v33dmx"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (ffmpeg (assoc-ref inputs "ffmpeg")))
+ (wrap-program (string-append out "/bin/svtplay-dl")
+ `("PATH" ":" prefix
+ ,(list (string-append ffmpeg "/bin"))))))))))
(inputs (list ffmpeg python-pyaml python-requests python-pysocks
- python-cryptography))
+ python-cryptography bash-minimal))
(home-page "https://svtplay-dl.se/")
(synopsis "Download or stream SVT Play's (and others) TV programmes")
(description
--
2.39.1
From 1b81f1786ba0cb038bf76ab74cbc90847d06206b Mon Sep 17 00:00:00 2001
Message-Id: <1b81f1786ba0cb038bf76ab74cbc90847d06206b.1678010569.git.tsyesika@tsyesika.se>
In-Reply-To: <cover.1678010569.git.tsyesika@tsyesika.se>
References: <cover.1678010569.git.tsyesika@tsyesika.se>
From: Jessica Tallon <tsyesika@tsyesika.se>
Date: Sun, 5 Mar 2023 10:56:54 +0100
Subject: [PATCH 2/2] gnu: svtplay-dl update to 4.18

* gnu/packages/video.scm (svtplay-dl) update to 4.18
---
gnu/packages/video.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 721f7c4d4e..fbebaaff28 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -5680,7 +5680,7 @@ (define-public video-contact-sheet
(define-public svtplay-dl
(package
(name "svtplay-dl")
- (version "4.17")
+ (version "4.18")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5689,7 +5689,7 @@ (define-public svtplay-dl
(file-name (git-file-name name version))
(sha256
(base32
- "0yjxmvldskw4pji3lg69pbx05izvxahz9my7z5p31mkiz6v33dmx"))))
+ "1xb2n3bwjddr86mjynbfd8m2g98gzqbj5mmsfc735q9xp14l30pf"))))
(build-system python-build-system)
(arguments
(list
--
2.39.1
L
L
Leo Famulari wrote on 5 Mar 2023 21:13
(name . Tobias Geerinckx-Rice via Guix-patches via)(address . guix-patches@gnu.org)
ZAT38GWzsqoHVXHk@jasmine.lan
Thanks again for working on this package!

On Sat, Jan 28, 2023 at 01:33:44PM +0100, Tobias Geerinckx-Rice via Guix-patches via wrote:
Toggle quote (5 lines)
> > I've also moved ffmpeg form inputs to propagated-inputs
>
> Please avoid propagation whenever possible; it breaks all kinds of nice
> things.

I'm here to express my weak preference for dynamically binding FFmpeg in
use cases like this one.

That means, I prefer if packages like svtplay-dl do not depend on FFmpeg
at all, but rather expect the user to install FFmpeg alongside them.

I prefer this because I use a custom FFmpeg professionally as a video
engineer, and it's easier to use it with Guix packages if the dependency
is resolved at run-time rather than at build-time.

I'd expect that many people like me also use a variety of custom FFmpeg
builds for different use cases.

Like I said, it's a weak preference. And I probably wouldn't use
svtplay-dl at work in the US, although I do use youtube-dl / yt-dlp. Let
me know what you think.
J
J
Jessica Tallon wrote on 5 Mar 2023 21:15
(name . Leo Famulari)(address . leo@famulari.name)
87sfej3pj1.fsf@tsyesika.se
Leo Famulari <leo@famulari.name> writes:

Toggle quote (25 lines)
> Thanks again for working on this package!
>
> On Sat, Jan 28, 2023 at 01:33:44PM +0100, Tobias Geerinckx-Rice via Guix-patches via wrote:
>> > I've also moved ffmpeg form inputs to propagated-inputs
>>
>> Please avoid propagation whenever possible; it breaks all kinds of nice
>> things.
>
> I'm here to express my weak preference for dynamically binding FFmpeg in
> use cases like this one.
>
> That means, I prefer if packages like svtplay-dl do not depend on FFmpeg
> at all, but rather expect the user to install FFmpeg alongside them.
>
> I prefer this because I use a custom FFmpeg professionally as a video
> engineer, and it's easier to use it with Guix packages if the dependency
> is resolved at run-time rather than at build-time.
>
> I'd expect that many people like me also use a variety of custom FFmpeg
> builds for different use cases.
>
> Like I said, it's a weak preference. And I probably wouldn't use
> svtplay-dl at work in the US, although I do use youtube-dl / yt-dlp. Let
> me know what you think.

Hello,

Thanks for sharing your experiance, especially as a professional video
engineer :)

I think I have a mild opinion for having it bring in ffmpeg, this is
mostly for three reasons:

- There isn't a good way to communicate to users that they might wish to
pull in ffmpeg.
- svtplay-dl will download both audio and video parts and then realise
it doesn't have ffmpeg and will give up producing a warning. This
leaves it up to the user to fix, while a merging both files is a
simple job it often has me searching through a manual as I'm not well
versed in ffmpeg or similar.

- I like it when things work consistantly (if x version of svtplay-dl
works a specific way on my machine, it should on another machine, not
dependent on my profile)

My preference is mild though, let me know what you think!

Thanks,
Jessica.
L
L
Leo Famulari wrote on 5 Mar 2023 21:58
(name . Jessica Tallon)(address . tsyesika@tsyesika.se)
ZAUCc9BV6djyf4Fp@jasmine.lan
On Sun, Mar 05, 2023 at 09:15:14PM +0100, Jessica Tallon wrote:
Toggle quote (18 lines)
> I think I have a mild opinion for having it bring in ffmpeg, this is
> mostly for three reasons:
>
> - There isn't a good way to communicate to users that they might wish to
> pull in ffmpeg.
>
> - svtplay-dl will download both audio and video parts and then realise
> it doesn't have ffmpeg and will give up producing a warning. This
> leaves it up to the user to fix, while a merging both files is a
> simple job it often has me searching through a manual as I'm not well
> versed in ffmpeg or similar.
>
> - I like it when things work consistantly (if x version of svtplay-dl
> works a specific way on my machine, it should on another machine, not
> dependent on my profile)
>
> My preference is mild though, let me know what you think!

I think you should go with your method!
?