diff --git a/pkgs/by-name/be/beets-minimal/package.nix b/pkgs/by-name/be/beets-minimal/package.nix index de0125445743..d9813fb415d4 100644 --- a/pkgs/by-name/be/beets-minimal/package.nix +++ b/pkgs/by-name/be/beets-minimal/package.nix @@ -2,4 +2,12 @@ python3, }: -python3.pkgs.toPythonApplication python3.pkgs.beets-minimal +let + python = python3.override { + self = python3; + packageOverrides = self: super: { + pyrate-limiter = super.pyrate-limiter_2; + }; + }; +in +python.pkgs.toPythonApplication python.pkgs.beets-minimal diff --git a/pkgs/by-name/be/beets/package.nix b/pkgs/by-name/be/beets/package.nix index 0d8837e0c0d8..f6f9997bb50f 100644 --- a/pkgs/by-name/be/beets/package.nix +++ b/pkgs/by-name/be/beets/package.nix @@ -2,4 +2,12 @@ python3, }: -python3.pkgs.toPythonApplication python3.pkgs.beets +let + python = python3.override { + self = python3; + packageOverrides = self: super: { + pyrate-limiter = super.pyrate-limiter_2; + }; + }; +in +python.pkgs.toPythonApplication python.pkgs.beets diff --git a/pkgs/development/python-modules/beets-copyartifacts/default.nix b/pkgs/development/python-modules/beets-copyartifacts/default.nix index ed7ab0ba8cfe..b4a583abd567 100644 --- a/pkgs/development/python-modules/beets-copyartifacts/default.nix +++ b/pkgs/development/python-modules/beets-copyartifacts/default.nix @@ -19,25 +19,16 @@ buildPythonPackage rec { pname = "beets-copyartifacts"; - version = "0.1.5"; + version = "0.1.6"; pyproject = true; src = fetchFromGitHub { repo = "beets-copyartifacts"; owner = "adammillerio"; tag = "v${version}"; - hash = "sha256-UTZh7T6Z288PjxFgyFxHnPt0xpAH3cnr8/jIrlJhtyU="; + hash = "sha256-fMnXuMwxylO9Q7EFPpkgwwNeBuviUa8HduRrqrqdMaI="; }; - postPatch = '' - sed -i -e '/namespace_packages/d' setup.py - printf 'from pkgutil import extend_path\n__path__ = extend_path(__path__, __name__)\n' >beetsplug/__init__.py - - # beets v2.1.0 compat - # - sed -i -e 's/util\.py3_path/os.fsdecode/g' tests/_common.py - ''; - build-system = [ setuptools ]; @@ -67,7 +58,6 @@ buildPythonPackage rec { changelog = "https://github.com/adammillerio/beets-copyartifacts/releases/tag/${src.tag}"; license = lib.licenses.mit; inherit (beets-minimal.meta) platforms; - # Isn't compatible with beets >= 2.3 broken = true; }; } diff --git a/pkgs/development/python-modules/beets/bash-completion-always-print.patch b/pkgs/development/python-modules/beets/bash-completion-always-print.patch deleted file mode 100644 index 96b175117572..000000000000 --- a/pkgs/development/python-modules/beets/bash-completion-always-print.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git i/beets/ui/commands.py w/beets/ui/commands.py -index ad4f7821..5077191d 100755 ---- i/beets/ui/commands.py -+++ w/beets/ui/commands.py -@@ -2381,22 +2381,6 @@ default_commands.append(config_cmd) - def print_completion(*args): - for line in completion_script(default_commands + plugins.commands()): - print_(line, end="") -- if not any(os.path.isfile(syspath(p)) for p in BASH_COMPLETION_PATHS): -- log.warning( -- "Warning: Unable to find the bash-completion package. " -- "Command line completion might not work." -- ) -- -- --BASH_COMPLETION_PATHS = [ -- b"/etc/bash_completion", -- b"/usr/share/bash-completion/bash_completion", -- b"/usr/local/share/bash-completion/bash_completion", -- # SmartOS -- b"/opt/local/share/bash-completion/bash_completion", -- # Homebrew (before bash-completion2) -- b"/usr/local/etc/bash_completion", --] - - - def completion_script(commands): -diff --git i/test/test_ui.py w/test/test_ui.py -index cae86148..faf266a8 100644 ---- i/test/test_ui.py -+++ w/test/test_ui.py -@@ -1434,12 +1434,7 @@ class CompletionTest(_common.TestCase, TestHelper): - ) - - # Load bash_completion library. -- for path in commands.BASH_COMPLETION_PATHS: -- if os.path.exists(syspath(path)): -- bash_completion = path -- break -- else: -- self.skipTest("bash-completion script not found") -+ self.skipTest("bash-completion script not found") - try: - with open(util.syspath(bash_completion), "rb") as f: - tester.stdin.writelines(f) diff --git a/pkgs/development/python-modules/beets/default.nix b/pkgs/development/python-modules/beets/default.nix index 175a63c4bc7f..9399a4d7150e 100644 --- a/pkgs/development/python-modules/beets/default.nix +++ b/pkgs/development/python-modules/beets/default.nix @@ -29,6 +29,7 @@ buildPythonPackage, pythonAtLeast, fetchFromGitHub, + fetchpatch, # build-system poetry-core, @@ -41,10 +42,12 @@ mediafile, munkres, musicbrainzngs, + packaging, platformdirs, pyyaml, unidecode, reflink, + requests-ratelimiter, typing-extensions, lap, @@ -53,6 +56,7 @@ sphinxHook, sphinx-design, sphinx-copybutton, + sphinx-toolbox, pydata-sphinx-theme, # buildInputs @@ -80,6 +84,7 @@ requests, requests-oauthlib, resampy, + titlecase, soco, # configurations @@ -92,11 +97,13 @@ # tests pytestCheckHook, pytest-cov-stub, + pytest-flask, mock, rarfile, responses, requests-mock, pillow, + tomli, writableTmpDirAsHomeHook, # preCheck @@ -112,22 +119,18 @@ buildPythonPackage (finalAttrs: { pname = "beets"; - version = "2.5.1"; + version = "2.6.2"; src = fetchFromGitHub { owner = "beetbox"; repo = "beets"; tag = "v${finalAttrs.version}"; - hash = "sha256-H3jcEHyK13+RHVlV4zp+8M3LZ0Jc2FdmAbLpekGozLA="; + hash = "sha256-1euYkoM66gnElCbgCgIpj1waq1QvHApUgioJTbSQJ0U="; }; pyproject = true; # Waiting for https://github.com/beetbox/beets/pull/6267 disabled = pythonAtLeast "3.14"; - patches = [ - # Bash completion fix for Nix - ./bash-completion-always-print.patch - ] - ++ extraPatches; + patches = extraPatches; build-system = [ poetry-core @@ -141,6 +144,7 @@ buildPythonPackage (finalAttrs: { mediafile munkres musicbrainzngs + packaging platformdirs pyyaml unidecode @@ -148,6 +152,7 @@ buildPythonPackage (finalAttrs: { # add too much to the closure. See: # https://github.com/NixOS/nixpkgs/issues/437308 reflink + requests-ratelimiter typing-extensions lap ] @@ -160,6 +165,7 @@ buildPythonPackage (finalAttrs: { sphinxHook sphinx-design sphinx-copybutton + sphinx-toolbox pydata-sphinx-theme ] ++ extraNativeBuildInputs; @@ -200,11 +206,13 @@ buildPythonPackage (finalAttrs: { nativeCheckInputs = [ pytestCheckHook pytest-cov-stub + pytest-flask mock rarfile responses requests-mock pillow + tomli writableTmpDirAsHomeHook ] ++ finalAttrs.finalPackage.passthru.plugins.wrapperBins; @@ -213,30 +221,12 @@ buildPythonPackage (finalAttrs: { disabledTestPaths = finalAttrs.finalPackage.passthru.plugins.disabledTestPaths - ++ [ - # touches network - "test/plugins/test_aura.py" - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Flaky: several tests fail randomly with: # if not self._poll(timeout): # raise Empty # _queue.Empty "test/plugins/test_bpd.py" - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - # fail on Hydra with `RuntimeError: image cannot be obtained without artresizer backend` - "test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_enforce_ratio" - "test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_enforce_ratio_with_percent_margin" - "test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_enforce_ratio_with_px_margin" - "test/plugins/test_art.py::AlbumArtOperationConfigurationTest::test_minwidth" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_deinterlaced" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_deinterlaced_and_resized" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_not_resized" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_resized" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_resized_and_scaled" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_file_resized_but_not_scaled" - "test/plugins/test_art.py::AlbumArtPerformOperationTest::test_resize" ]; disabledTests = extraDisabledTests ++ [ # touches network @@ -349,11 +339,11 @@ buildPythonPackage (finalAttrs: { fromfilename.testPaths = [ ]; ftintitle = { }; fuzzy.testPaths = [ ]; - gmusic.testPaths = [ ]; hook = { }; ihate = { }; importadded = { }; importfeeds = { }; + importsource = { }; info = { }; inline.testPaths = [ ]; ipfs = { }; @@ -368,9 +358,7 @@ buildPythonPackage (finalAttrs: { testPaths = [ ]; }; limit = { }; - listenbrainz = { - testPaths = [ ]; - }; + listenbrainz = { }; loadext = { propagatedBuildInputs = [ requests ]; testPaths = [ ]; @@ -383,6 +371,7 @@ buildPythonPackage (finalAttrs: { mbcollection.testPaths = [ ]; mbsubmit = { }; mbsync = { }; + mbpseudo = { }; metasync.testPaths = [ ]; missing.testPaths = [ ]; mpdstats.propagatedBuildInputs = [ mpd2 ]; @@ -420,6 +409,7 @@ buildPythonPackage (finalAttrs: { testPaths = [ ]; }; the = { }; + titlecase.propagatedBuildInputs = [ titlecase ]; thumbnails = { propagatedBuildInputs = [ pillow diff --git a/pkgs/development/python-modules/confuse/default.nix b/pkgs/development/python-modules/confuse/default.nix index 318ae5401525..50a529c93f1a 100644 --- a/pkgs/development/python-modules/confuse/default.nix +++ b/pkgs/development/python-modules/confuse/default.nix @@ -8,6 +8,7 @@ # dependencies pyyaml, + typing-extensions, # tests pytestCheckHook, @@ -15,14 +16,14 @@ buildPythonPackage rec { pname = "confuse"; - version = "2.1.0"; + version = "2.2.0"; pyproject = true; src = fetchFromGitHub { owner = "beetbox"; repo = "confuse"; rev = "v${version}"; - hash = "sha256-RKiHYAFEvksRLsXC1VrlrKzkPl72dDI4O0Y+X3MrpSs="; + hash = "sha256-b3wwDa33fX0hkyact4v/ET0UN0PoOJ/PFaqyMRC7Q1Q="; }; build-system = [ @@ -31,6 +32,7 @@ buildPythonPackage rec { dependencies = [ pyyaml + typing-extensions ]; nativeCheckInputs = [