[bug#71640,6/6] gnu: yt-dlp: Update to 2024.05.27.
Commit Message
* gnu/packages/video.scm (yt-dlp): Update to 2024.05.27.
[build-system]: Use PYPROJECT-BUILD-SYSTEM.
[arguments]: Remove the custom build phase 'fix-the-data-directories', because
There is no longer a setup.py file to be amended.
[inputs]: Add PYTHON-REQUESTS-NEXT and PYTHON-URLLIB3-NEXT.
[native-inputs]: Add PYTHON-HATCHLING.
Change-Id: I0c9e609817071346ca85d1f0966cf8994b2da2c5
---
gnu/packages/video.scm | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
Comments
Hi,
Leo Famulari <leo@famulari.name> writes:
> * gnu/packages/video.scm (yt-dlp): Update to 2024.05.27.
> [build-system]: Use PYPROJECT-BUILD-SYSTEM.
> [arguments]: Remove the custom build phase 'fix-the-data-directories', because
> There is no longer a setup.py file to be amended.
> [inputs]: Add PYTHON-REQUESTS-NEXT and PYTHON-URLLIB3-NEXT.
> [native-inputs]: Add PYTHON-HATCHLING.
>
> Change-Id: I0c9e609817071346ca85d1f0966cf8994b2da2c5
> ---
> gnu/packages/video.scm | 18 ++++++------------
> 1 file changed, 6 insertions(+), 12 deletions(-)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 76e4a8a02f..e3c20693fc 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -3137,7 +3137,7 @@ (define-public youtube-dl
> (define-public yt-dlp
> (package
> (name "yt-dlp")
> - (version "2023.10.13")
> + (version "2024.05.27")
> (source
> (origin
> (method git-fetch)
> @@ -3146,8 +3146,8 @@ (define-public yt-dlp
> (commit version)))
> (file-name (git-file-name name version))
> (sha256
> - (base32 "1cy8cpqwq6yfsbrnln3qqp9lsjckn20m6w7b890ha7jahyir5m1n"))))
> - (build-system python-build-system)
> + (base32 "13j6vg0kxfw3hppq7gzbz2d72g415071gh5arkwzj902rh0c7777"))))
> + (build-system pyproject-build-system)
> (arguments
> `(#:tests? ,(not (%current-target-system))
> #:phases
> @@ -3176,14 +3176,6 @@ (define-public yt-dlp
> "PYTHON=python"
> "yt-dlp"
> "completions"))))
> - (add-before 'install 'fix-the-data-directories
> - (lambda* (#:key outputs #:allow-other-keys)
> - (let ((prefix (assoc-ref outputs "out")))
> - (substitute* "setup.py"
> - (("'etc/")
> - (string-append "'" prefix "/etc/"))
> - (("'share/")
> - (string-append "'" prefix "/share/"))))))
> (replace 'check
> (lambda* (#:key tests? #:allow-other-keys)
> (when tests?
> @@ -3192,6 +3184,8 @@ (define-public yt-dlp
> python-certifi
> python-mutagen
> python-pycryptodomex
> + python-requests-next ; TODO Remove this special package
> + python-urllib3-next ; TODO Remove this one too
That's OK only because that's an application and these inputs are not
propagated. I'm a bit worried the '-next' variants may be used by
packagers elsewhere, but I guess this means we should give the
python-team branch a spin.
Also, I see you haven't used inheritance anywhere; I guess that's to
make the transition to the latest package as painful as possible
(simply deleting the old definitions).
On Sun, Jun 23, 2024 at 09:58:13PM -0400, Maxim Cournoyer wrote:
> > + python-requests-next ; TODO Remove this special package
> > + python-urllib3-next ; TODO Remove this one too
>
> That's OK only because that's an application and these inputs are not
> propagated. I'm a bit worried the '-next' variants may be used by
> packagers elsewhere, but I guess this means we should give the
> python-team branch a spin.
I could make the packages hidden. Is there a better approach?
> Also, I see you haven't used inheritance anywhere; I guess that's to
> make the transition to the latest package as painful as possible
> (simply deleting the old definitions).
For me, using inheritance is painful, and this is relatively painless.
Hi Leo,
Leo Famulari <leo@famulari.name> writes:
> On Sun, Jun 23, 2024 at 09:58:13PM -0400, Maxim Cournoyer wrote:
>> > + python-requests-next ; TODO Remove this special package
>> > + python-urllib3-next ; TODO Remove this one too
>>
>> That's OK only because that's an application and these inputs are not
>> propagated. I'm a bit worried the '-next' variants may be used by
>> packagers elsewhere, but I guess this means we should give the
>> python-team branch a spin.
>
> I could make the packages hidden. Is there a better approach?
Not really, as the problem with Python is that everything gets
propagated and you can't mix incompatible libraries together. I guess
that's something to keep in mind when reviewing Python packages. It's
OK to use any version for *applications*, but it's not OK for libraries,
as these are expected to be compatible with the larger Python package
collection of Guix.
>> Also, I see you haven't used inheritance anywhere; I guess that's to
>> make the transition to the latest package as painful as possible
>> (simply deleting the old definitions).
>
> For me, using inheritance is painful, and this is relatively painless.
I meant painless above. I disagree that inheritance is generally
painful, although it brings some complications (such as 'guix refresh'
not taking inheritance dependencies into account).
Anyway, LGTM :-).
On Fri, Jun 28, 2024 at 08:27:00PM -0400, Maxim Cournoyer wrote:
> Anyway, LGTM :-).
Pushed as 9014b27480a1fafc643feb97db9c7efff74294ba
Let me know if you see the need for any follow-ups, and thanks for
reviewing!
@@ -3137,7 +3137,7 @@ (define-public youtube-dl
(define-public yt-dlp
(package
(name "yt-dlp")
- (version "2023.10.13")
+ (version "2024.05.27")
(source
(origin
(method git-fetch)
@@ -3146,8 +3146,8 @@ (define-public yt-dlp
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1cy8cpqwq6yfsbrnln3qqp9lsjckn20m6w7b890ha7jahyir5m1n"))))
- (build-system python-build-system)
+ (base32 "13j6vg0kxfw3hppq7gzbz2d72g415071gh5arkwzj902rh0c7777"))))
+ (build-system pyproject-build-system)
(arguments
`(#:tests? ,(not (%current-target-system))
#:phases
@@ -3176,14 +3176,6 @@ (define-public yt-dlp
"PYTHON=python"
"yt-dlp"
"completions"))))
- (add-before 'install 'fix-the-data-directories
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prefix (assoc-ref outputs "out")))
- (substitute* "setup.py"
- (("'etc/")
- (string-append "'" prefix "/etc/"))
- (("'share/")
- (string-append "'" prefix "/share/"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -3192,6 +3184,8 @@ (define-public yt-dlp
python-certifi
python-mutagen
python-pycryptodomex
+ python-requests-next ; TODO Remove this special package
+ python-urllib3-next ; TODO Remove this one too
python-websockets))
(native-inputs
(append
@@ -3199,7 +3193,7 @@ (define-public yt-dlp
(if (supported-package? pandoc)
(list pandoc)
'())
- (list python-pytest zip)))
+ (list python-hatchling python-pytest zip)))
(synopsis "Download videos from YouTube.com and other sites")
(description
"yt-dlp is a small command-line program to download videos from