Subject: bug#63801: closed (Re: [bug#63801] [PATCH] gnu: Add yle-dl)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 01 Jul 2023 11:24:02 +0000

Your bug report

#63801: [PATCH] gnu: Add yle-dl

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
63801: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63801
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#63801] [PATCH] gnu: Add yle-dl
From: Nicolas Goaziou <[email-masked]>
To: Saku Laesvuori via Guix-patches via <[email-masked]>
Cc: Saku Laesvuori <[email-masked]>, [email-masked]
Date: Sat, 01 Jul 2023 13:22:48 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Saku Laesvuori via Guix-patches via <[email-masked]> writes:

> * gnu/packages/video.scm (yle-dl): New variable.

Applied with the changes below. Thank you.

> * gnu/packages/video.scm: Import (gnu packages python-build).

This information is not necessary in the commit message.

> +(define-public yle-dl
> + (package

Indentation is off. You may want to run "guix style" command prior to
sending a patch (I don't, but I'm opinionated about indentation)

> +  (name "yle-dl")
> +  (version "20221231")
> +  (source (origin
> +           ;; PyPI release doesn't include tests
> +           (method git-fetch)
> +           (uri
> +            (git-reference
> +             (url "https://github.com/aajanki/yle-dl.git")

We usually remove ".git" suffix from URL.

> +             (commit "c2a4d2f3926056496f520e289334d345889b51c4")))

We don't use raw hash commits there. The project tags its releases, so
it should be:

  (commit version)

> +        (add-after 'wrap 'wrap-path
> +          (lambda _
> +            (wrap-program (string-append #$output "/bin/yle-dl")
> +                          `("PATH" = (,(string-append #$ffmpeg "/bin")
> +                                      ,(string-append #$wget "/bin"))))))

"#$ffmpeg" and "#$wget" would prevent package transformations. You
should prefer, e.g.,

  (string-append #$(this-package-input "ffmpeg") "/bin")

Regards,
-- 
Nicolas Goaziou

Subject: [PATCH] gnu: Add yle-dl
From: Saku Laesvuori <[email-masked]>
To: [email-masked]
Cc: Saku Laesvuori <[email-masked]>
Date: Tue, 30 May 2023 12:22:54 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/video.scm (yle-dl): New variable.
* gnu/packages/video.scm: Import (gnu packages python-build).
---
 gnu/packages/video.scm | 52 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ab19c2dd8c..a41fa59552 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -65,6 +65,7 @@
 ;;; Copyright © 2022 Andy Tai <[email-masked]>
 ;;; Copyright © 2023 Ott Joon <[email-masked]>
 ;;; Copyright © 2023 Dominik Delgado Steuter <[email-masked]>
+;;; Copyright © 2023 Saku Laesvuori <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -179,6 +180,7 @@ (define-module (gnu packages video)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
@@ -2468,6 +2470,56 @@ (define-public orf-dl
 to download videos from Austria's national television broadcaster.")
       (license license:gpl2+))))
 
+(define-public yle-dl
+ (package
+  (name "yle-dl")
+  (version "20221231")
+  (source (origin
+           ;; PyPI release doesn't include tests
+           (method git-fetch)
+           (uri
+            (git-reference
+             (url "https://github.com/aajanki/yle-dl.git")
+             (commit "c2a4d2f3926056496f520e289334d345889b51c4")))
+           (sha256
+            (base32
+             "08pw6x2rc2mv3yrd7qwf2lx9c87ypn0900dfy9nh42b4hyx2jwc6"))))
+  (build-system pyproject-build-system)
+  (propagated-inputs
+   (list
+    python-attrs
+    python-configargparse
+    python-lxml
+    python-requests
+    python-xattr))
+  (inputs
+   (list
+    ffmpeg-5
+    wget))
+  (native-inputs
+   (list
+    python-flit-core
+    python-pytest
+    python-pytest-runner))
+  (arguments
+   (list
+    #:phases
+    #~(modify-phases %standard-phases
+        (add-after 'wrap 'wrap-path
+          (lambda _
+            (wrap-program (string-append #$output "/bin/yle-dl")
+                          `("PATH" = (,(string-append #$ffmpeg "/bin")
+                                      ,(string-append #$wget "/bin"))))))
+        ;; Integration tests require internet access
+        (add-before 'check 'remove-integration-tests
+          (lambda _
+            (delete-file-recursively "tests/integration"))))))
+  (home-page "https://aajanki.github.io/yle-dl/")
+  (synopsis "Download videos from Yle servers")
+  (description "Yle-dl is a command line program for downloading media files from
+the video streaming services of the Finnish national broadcasting company Yle.")
+  (license license:gpl3+)))
+
 (define-public youtube-dl
   (package
     (name "youtube-dl")

base-commit: 3807876af4b53babdbc2f1d730e4763ff651f316
-- 
2.40.1