summary refs log tree commit diff
diff options
context:
space:
mode:
authorSaku Laesvuori via Guix-patches via <guix-patches@gnu.org>2023-05-30 12:22:54 +0300
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-01 11:13:47 +0200
commit3d55a6b5db7e87e3fb5e17afbe2dac2e66d106e4 (patch)
treed2fb11e80db77f793fb5774ba61304dc4adc029f
parentd8c89606fcf743efa3fe6e752d886f5a36b6a4a8 (diff)
downloadguix-3d55a6b5db7e87e3fb5e17afbe2dac2e66d106e4.tar.gz
gnu: Add yle-dl.
* gnu/packages/video.scm (yle-dl): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
-rw-r--r--gnu/packages/video.scm48
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index aa46da0c5e..64428976eb 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -65,6 +65,7 @@
 ;;; Copyright © 2022 Andy Tai <atai@atai.org>
 ;;; Copyright © 2023 Ott Joon <oj@vern.cc>
 ;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
+;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -179,6 +180,7 @@
   #: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,52 @@ To load this plugin, specify the following option when starting mpv:
 to download videos from Austria's national television broadcaster.")
       (license license:gpl2+))))
 
+(define-public yle-dl
+  (package
+    (name "yle-dl")
+    (version "20230611")
+    (source (origin
+              ;; PyPI release doesn't include tests.
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/aajanki/yle-dl")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "04smlq6cswfp08sjif0cxnall0xbxl3bgly849nm5kg1m33ybmqk"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'wrap 'wrap-path
+            (lambda _
+              (wrap-program (string-append #$output "/bin/yle-dl")
+                `("PATH" = (,(string-append #$(this-package-input "ffmpeg")
+                                            "/bin")
+                            ,(string-append #$(this-package-input "wget")
+                                            "/bin"))))))
+          ;; Integration tests require internet access.
+          (add-before 'check 'remove-integration-tests
+            (lambda _
+              (delete-file-recursively "tests/integration"))))))
+    (native-inputs
+     (list python-flit-core python-pytest python-pytest-runner))
+    (inputs (list bash-minimal ffmpeg-5 wget))
+    (propagated-inputs
+     (list python-attrs
+           python-configargparse
+           python-lxml
+           python-requests
+           python-xattr))
+    (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")