From 3d55a6b5db7e87e3fb5e17afbe2dac2e66d106e4 Mon Sep 17 00:00:00 2001 From: Saku Laesvuori via Guix-patches via Date: Tue, 30 May 2023 12:22:54 +0300 Subject: [PATCH] gnu: Add yle-dl. * gnu/packages/video.scm (yle-dl): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/video.scm | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) 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 ;;; Copyright © 2023 Ott Joon ;;; Copyright © 2023 Dominik Delgado Steuter +;;; Copyright © 2023 Saku Laesvuori ;;; ;;; 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,52 @@ (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 "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")