Subject: [bug#71640] yt-dlp: Update to 2024-05-27

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 23 Jun 2024 21:58:13 -0400

Hi,

Leo Famulari <[email-masked]> 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).

-- 
Thanks,
Maxim