From patchwork Tue Mar 11 14:23:32 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: 40098 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 200FE27BBE2; Tue, 11 Mar 2025 14:29:25 +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=-6.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_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 4AAE927BBE9 for ; Tue, 11 Mar 2025 14:29:24 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ts0bV-0001iN-3T; Tue, 11 Mar 2025 10:29:09 -0400 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 1ts0bT-0001hM-46 for guix-patches@gnu.org; Tue, 11 Mar 2025 10:29:07 -0400 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 1ts0bS-0001ee-3p for guix-patches@gnu.org; Tue, 11 Mar 2025 10:29:06 -0400 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=YWPHNMfET0+jlVzfS44QP8ffTeu4zj22iuMVqcAlb/o=; b=awMmGfCHLHexSY1hj23GvmiF1NmFeJXmbdFs3VkKPfi5YbpAo76xhxoCKTQHntH2QDOV65K2KGpJO0Qdg2O8WKuZ5SPL+JVwSIXHe2rq+T4hvgKcUDjBo0ONHJL15/BM4/55XunISrg2KthxzpH7Exob4qMR7gteJGBS2Lr4D9ZQKdG/KX3H7QLf1U5RfolCNhGlgQWEyrZ0Hm8zVvcB5gHreixfKS6ewUuLJhsIp137v9QY0Ir93q0G4I4PsS/Sqqay5vAXEJbH5aL0w/vbstnKeVbAB2MBgxhxoMrVqkfdrrmugi1xC9JeoCWlt7yIHY3aVbiglgiIojZVRODuhA==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ts0bO-0002gG-8H; Tue, 11 Mar 2025 10:29:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#76746] [PATCH v2 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, 11 Mar 2025 14:29:02 +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: 45mg <45mg.writes@gmail.com>, 76746@debbugs.gnu.org Cc: Sharlatan Hellseher , 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.174170331410256 (code B ref 76746); Tue, 11 Mar 2025 14:29:02 +0000 Received: (at 76746) by debbugs.gnu.org; 11 Mar 2025 14:28:34 +0000 Received: from localhost ([127.0.0.1]:44870 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ts0av-0002fE-GQ for submit@debbugs.gnu.org; Tue, 11 Mar 2025 10:28:34 -0400 Received: from mail-pl1-x642.google.com ([2607:f8b0:4864:20::642]:51464) 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 1ts0YZ-0002Y6-H0 for 76746@debbugs.gnu.org; Tue, 11 Mar 2025 10:26:08 -0400 Received: by mail-pl1-x642.google.com with SMTP id d9443c01a7336-2239aa5da08so90123295ad.3 for <76746@debbugs.gnu.org>; Tue, 11 Mar 2025 07:26:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741703161; x=1742307961; 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=YWPHNMfET0+jlVzfS44QP8ffTeu4zj22iuMVqcAlb/o=; b=QQrwe8fczs3do9kjbc+iXXBYQKGbnK8u/hleKQHx2ObkGN46dmv5sbHu2vWALDL7Cg iVYMuIJBqhc5CTUB2etcNJ5P3AYGL2iYK35ct6ND2RK8q+uymf1eeaX0DoDLuXGtGY+m qp4itpHgbZOja75EvMzOq4uPPqH3Isu8usgeGSLXtRghFwQLgmtp0PlnJp95cw8XcIZn YMMjli8RfUHy5YfkEVM0+xsWNGtSTIQJ3hCI2r3mX0pU2IrYAue80oeMInk5LF2YEz7G O4xUpf5jfWYhkEb2j8eZ4OgAadnzq44xlaprB7QAAHscjTPLPgrImi5f7lfCERuUF5/W fV4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741703161; x=1742307961; 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=YWPHNMfET0+jlVzfS44QP8ffTeu4zj22iuMVqcAlb/o=; b=kxUocCUYaknbgGSctaZiVKc2zJVEABaYHITZ0e4w893Vn0NeVzGhiZsjRnRkIAh4AQ v4HN4p00zWtrxYTD1iVLlbGytmbIpTVV2q5EIKsN89SDqy98yfvFftOCHB6W1GnSJdQU iRubL6c1ZhGfo0wIDVt6JodhKZBwtqXU6DDAIrr5bnOnROt4zym9ABKK0fwhWti2tYiW ln7hLPjojpvlq99U7UISyvgIldIfJq+qoVdjCx4wp2HutfimrKJHfBc3GwI8J158z59K hjronCjdlqAfoFZ4vZqZOt7pjFxKnCG2xPieh3F9SHD0YqtqckBwhpErOZJ6zZr1GfAu AO8g== X-Forwarded-Encrypted: i=1; AJvYcCXxYtl94Dvk/umTUaF1j+LgjQQ2FXBdeWypYJZvsQg6yTUq4xIpS7DRhh7tyf7nnfOMW3FU0Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwX8XMXawiS5XB/fyPZW6JI9dnXg4hwIWtp/xCIVW5nJ/YssH6G xV3olj3AXrK2QQC71vIwtpGh8YylWGPN3Q/6jh0emymoT3B5RHa+ X-Gm-Gg: ASbGncvowPRXLvc3XlPduHUE5LGoloJbJ1kuLDhYJJaVM0SATEgxdApv3AU9CkR1c4N 0qWTdftC8L4WBfGhXsoiHss5aWq587LRyE44puDNNo/MY4vsCmrVwVC/t7Edxy0hnGMcCeFR0/a bHfmOzu+3PEVr/UcHgVrrZvj5iz8VLDXcr2ZnoY095JBL19LKqYkOvlP0xYp8EGW4bgmdKvoEI8 /orcgmdIYdTJ4I+AcPAZrzJABqK6M5/cdgaytFU1w+PA8S1KNbrmdTsEJTVUlTqFsaM8+WY47lM ClR4ubE0yNgY7O44qlLpHWkHLudIHxzbRh05xc1zN32hkSrWcVOZmYPSIqHnYG/CtMrt5DmZ5T0 1qA== X-Google-Smtp-Source: AGHT+IG7MJJnjNGOWWJ7ybx6cdMWULGd9l7tIujyyhmFucaoBBPFwv/MYrrFG1v1Se3D2u2avLihdA== X-Received: by 2002:a17:902:e745:b0:223:fdac:2e4 with SMTP id d9443c01a7336-224288868e5mr307227995ad.1.1741703161531; Tue, 11 Mar 2025 07:26:01 -0700 (PDT) Received: from localhost.localdomain (utm3.nitt.edu. [14.139.162.2]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-736a336010dsm9912919b3a.59.2025.03.11.07.25.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Mar 2025 07:26:01 -0700 (PDT) From: 45mg <45mg.writes@gmail.com> Date: Tue, 11 Mar 2025 19:53:32 +0530 Message-ID: <48ba853f78eb1760f68439d7a8011b88c1fb4d5c.1741702573.git.45mg.writes@gmail.com> 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 1aab6094be..8c1270db28 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) @@ -10824,6 +10826,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")