@@ -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 @@ (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")