From patchwork Tue Mar 4 19:13:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: 45mg <45mg.writes@gmail.com> X-Patchwork-Id: 39682 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2272827BBEA; Tue, 4 Mar 2025 19:15:37 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 84B5227BBE2 for ; Tue, 4 Mar 2025 19:15:36 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tpXjq-0006Cj-1k; Tue, 04 Mar 2025 14:15:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tpXjX-00064f-D9 for guix-patches@gnu.org; Tue, 04 Mar 2025 14:15:18 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tpXjQ-0002KB-J3 for guix-patches@gnu.org; Tue, 04 Mar 2025 14:15:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=R6cQ6+PEQrpval8zpB37iCM7p/3emFbMGzfraa4JyUE=; b=MX4gagq8COLOXVhgjRy9IYZdL+bU9LYDwmXA0FSEwZYQ61rUO1dIj95uzvWlWPyMumy3bABAEshNK7/iAlY0dF+0UZBD/xclWwXOalq3BwmOELoRTR4jB4g3U3QpnrItCNrVU4sYHpDWzodRfsAzWocIzZDJhqk2FSNoeewB2w+SVFQeuSHAjor6E0n9nSXalR1n4o8ynqaeahwckJWsWI3mDvbGKa2jcC6ApPITcNYUu4StP4XzhMGtiYi/IM7FnWD8fzSdDuwxtSkmrIKSWzxL+FnVXR7f1gaz5ebrT2mpGxJ7McHC5pAJbNCB77ccpVgHHf2Wf6LUmwzgq2Swhg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tpXjO-0008Dx-CV; Tue, 04 Mar 2025 14:15:06 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76746] [PATCH 13/13] gnu: Add spotify-downloader. Resent-From: 45mg <45mg.writes@gmail.com> Original-Sender: "Debbugs-submit" Resent-CC: lars@6xq.net, me@bonfacemunyoki.com, sharlatanus@gmail.com, tanguy@bioneland.org, jgart@dismail.de, guix-patches@gnu.org Resent-Date: Tue, 04 Mar 2025 19:15:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76746 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76746@debbugs.gnu.org Cc: 45mg <45mg.writes@gmail.com>, Lars-Dominik Braun , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart X-Debbugs-Original-Xcc: Lars-Dominik Braun , Munyoki Kilyungi , Sharlatan Hellseher , Tanguy Le Carrour , jgart Received: via spool by 76746-submit@debbugs.gnu.org id=B76746.174111567431367 (code B ref 76746); Tue, 04 Mar 2025 19:15:06 +0000 Received: (at 76746) by debbugs.gnu.org; 4 Mar 2025 19:14:34 +0000 Received: from localhost ([127.0.0.1]:32853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tpXis-00089q-11 for submit@debbugs.gnu.org; Tue, 04 Mar 2025 14:14:34 -0500 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:50562) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <45mg.writes@gmail.com>) id 1tpXip-00088z-Jd for 76746@debbugs.gnu.org; Tue, 04 Mar 2025 14:14:32 -0500 Received: by mail-pl1-x643.google.com with SMTP id d9443c01a7336-2234e4b079cso110954715ad.1 for <76746@debbugs.gnu.org>; Tue, 04 Mar 2025 11:14:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741115665; x=1741720465; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=R6cQ6+PEQrpval8zpB37iCM7p/3emFbMGzfraa4JyUE=; b=dcKiGtXod39SCSWyHTOgZbqU8H+C31H11tixrJZmi4KE4FKPosDf50HlX2rD7U5F93 24avISTHaG93o+2t3+8FK10P7ERF1aRDY+s8E71Jtx3CQcDf9nv9UplJDt4yh3GhbOIo boqeJmPTcjfH0rXUqyB3w18D0ZkQeHnTJBit3o1mk2iQ21Etl3wzPNRzZKW7LMJkz42n c+tSPOUmaXgZDKEBJ6Cwjow9xMRi7udguxMq97LI03sWsuG34Vb0imL7f3G/xmUvCzZt SujsY9q/3GFzFeVToMYUrnWVRM9aVXndXDPk/Fi0wXWqBzQXNsacLpbSp+G5aRjgq8Sx ZRBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741115665; x=1741720465; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R6cQ6+PEQrpval8zpB37iCM7p/3emFbMGzfraa4JyUE=; b=A6/BcnsfU7Y6vh/MjF4sz/nh06nr33ki8eoVPbNXHo6m0wsS964P8GJ70mLXYETBw/ ibh2rLUdOFgsfYOJmSU4jENuzTrcZ8rdkuykqlJWKh2tOY8nn7XhFZHeIagm6cxBjAwc 6G5jEbtk09slkjxl+80pht13paTKrh46IayfcFN06hCQMTNu5FnNlJz+ZAKtCb/6Y1kk dVdr0IYDWYoZe8uOUoJ3nl8yA34xnPdHqr/j3UBkozsio2NVCccMSLfDIQZKC8TXFea/ hpWYYGMK2+rcRjtc3Xyzbm9JPsSRLPw2naC0lN88BwItqLeaLTww1p3gowj6qImkqvYq sVsw== X-Gm-Message-State: AOJu0YxZenZ5jI1h7B/Y6hSjYwd7lcp+kr8yKLITKgVL34ALR1Lf6MxP JJWYnnGLlMRLGrCu17bAJYVVxFwe/FBpQu4Ug/9R6ECxAb2xkZyikgEbV0dH X-Gm-Gg: ASbGncs+gXg7zGcKq/suFSKrAJmhBi+iEmwHNPxql7Ye8R0jSiaHBqC85gTD4XQNa5o a2hSi9sJr0HlQCLJS5VHcB6bfqu8YkAu2IPGyOuf8F8DY0vX/WLcnDac8Q6cxA5ow1Oceryr5Gw 3AFMIvHQxsh21aSl5yjLUqMOaqOMDreLtHGtV7OBp7enjgCV1T9BhptXHlkrZDtUWQ1DS2YL0ZQ AoH1ldZdKHyZwWN0Tm1nGXII+40cnhP2zQeFtQg8OpS/1zIYrFJbGEpIF0hbhQ07/bKsy04044J Z4jBE7bEcXM9KluSfRMh7H/mY6NXRJj9SdXlztT791t7a5otmnUn6GD4i8CJzmPtw0k= X-Google-Smtp-Source: AGHT+IGpkOuWZWj61uH6A2LZCLDQg7CZS0t9NItwodyT1jPhmEMLwPeui36ut1Kyz0hdeSKN9Gc6+A== X-Received: by 2002:a05:6a20:9b99:b0:1ee:c3dc:9763 with SMTP id adf61e73a8af0-1f3494769e2mr458042637.12.1741115665425; Tue, 04 Mar 2025 11:14:25 -0800 (PST) Received: from localhost.localdomain (utm3.nitt.edu. [14.139.162.2]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-734a00600e1sm11707137b3a.171.2025.03.04.11.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Mar 2025 11:14:25 -0800 (PST) From: 45mg <45mg.writes@gmail.com> Date: Wed, 5 Mar 2025 00:43:16 +0530 Message-ID: X-Mailer: git-send-email 2.48.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/python-web.scm (spotify-downloader): New variable. Change-Id: I5ab889b33a10beb14545030ee75bd38a1663cc28 --- gnu/packages/python-web.scm | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 17edbad7a1..26803dc996 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -117,6 +117,7 @@ (define-module (gnu packages python-web) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages music) #:use-module (gnu packages node) #:use-module (gnu packages openstack) #:use-module (gnu packages pcre) @@ -139,6 +140,7 @@ (define-module (gnu packages python-web) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages) @@ -10808,6 +10810,89 @@ (define-public python-spotipy platform.") (license license:expat))) +(define-public spotify-downloader + (package + (name "spotify-downloader") + (version "4.2.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spotDL/spotify-downloader") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + "18lwimvld07ywzmzffg18j7dpllyk1335x786yhjzldlhx1akmhn"))) + (build-system pyproject-build-system) + (propagated-inputs (list ffmpeg + python-beautifulsoup4 + python-fastapi + python-mutagen + python-platformdirs + python-pydantic-2 + python-pykakasi + python-slugify + python-pytube + python-rapidfuzz + python-requests-next + python-rich + python-soundcloud-v2 + python-spotipy + python-syncedlyrics + python-uvicorn + python-websockets-14 + python-ytmusicapi + yt-dlp)) + (native-inputs (list nss-certs-for-test + python-poetry-core + python-pytest + python-pytest-mock + python-pytest-subprocess + python-pytest-vcr + python-setuptools + python-wheel)) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; XXX: We use later versions of uvicorn and fastapi, since it proved + ;; too difficult to package the older ones. Note that these packages + ;; are network-related, and we disable network-related tests... + (add-after 'unpack 'use-later-versions + (lambda _ + (substitute* "pyproject.toml" + (("^fastapi = \"\\^0.103.0\"") + "fastapi = \"^0.115.0\"") + (("^uvicorn = \"\\^0.23.2\"") + "uvicorn = \"^0.34.0\"")))) + (add-before 'check 'set-HOME + ;; Some tests need this + (lambda _ (setenv "HOME" "/tmp")))) + #:test-flags + ;; Disable network dependent tests. + (list "--ignore=tests/test_init.py" + "--ignore=tests/test_matching.py" + "--ignore=tests/providers/lyrics" + "--ignore=tests/types" + "--ignore=tests/utils/test_github.py" + "--ignore=tests/utils/test_m3u.py" + "--ignore=tests/utils/test_metadata.py" + "--ignore=tests/utils/test_search.py" + "-k" + ,(string-append "not test_convert" + " and not test_download_ffmpeg" + " and not test_download_song" + " and not test_preload_song" + " and not test_yt_get_results" + " and not test_yt_search" + " and not test_ytm_search" + " and not test_ytm_get_results")))) + (home-page "https://github.com/spotDL/spotify-downloader") + (synopsis "Download Spotify songs from YouTube") + (description + "spotDL finds songs from Spotify on YouTube and downloads them - along +with album art, lyrics and metadata.") + (license license:expat))) + (define-public python-whatthepatch (package (name "python-whatthepatch")