diff --git a/pkgs/development/python-modules/aider-chat/default.nix b/pkgs/development/python-modules/aider-chat/default.nix index a8026968d470..6e898e581d96 100644 --- a/pkgs/development/python-modules/aider-chat/default.nix +++ b/pkgs/development/python-modules/aider-chat/default.nix @@ -19,6 +19,7 @@ attrs, backoff, beautifulsoup4, + cachetools, certifi, cffi, charset-normalizer, @@ -33,8 +34,11 @@ fsspec, gitdb, gitpython, + google-ai-generativelanguage, + google-generativeai, grep-ast, h11, + hf-xet, httpcore, httpx, huggingface-hub, @@ -54,6 +58,7 @@ networkx, numpy, openai, + oslex, packaging, pathspec, pexpect, @@ -78,6 +83,7 @@ rich, rpds-py, scipy, + shtab, smmap, sniffio, sounddevice, @@ -124,20 +130,20 @@ let ]; }; - version = "0.82.2"; + version = "0.83.0"; aider-chat = buildPythonPackage { pname = "aider-chat"; inherit version; pyproject = true; - # needs exactly Python 3.12 - disabled = pythonOlder "3.12" || pythonAtLeast "3.13"; + # dont support python 3.13 (Aider-AI/aider#3037) + disabled = pythonOlder "3.10" || pythonAtLeast "3.13"; src = fetchFromGitHub { owner = "Aider-AI"; repo = "aider"; tag = "v${version}"; - hash = "sha256-lV0d6/cT/B3zmn8/uEyAc3D0n6oFsLoWa/qYmGv3EiI="; + hash = "sha256-hXKrjo/9Y3WLgluwEK2q123QcfBVA0ByEKaq8Rtd70E="; }; pythonRelaxDeps = true; @@ -153,6 +159,7 @@ let attrs backoff beautifulsoup4 + cachetools certifi cffi charset-normalizer @@ -167,8 +174,11 @@ let fsspec gitdb gitpython + google-ai-generativelanguage + google-generativeai grep-ast h11 + hf-xet httpcore httpx huggingface-hub @@ -188,6 +198,7 @@ let networkx numpy openai + oslex packaging pathspec pexpect @@ -212,6 +223,7 @@ let rich rpds-py scipy + shtab smmap sniffio sounddevice @@ -273,6 +285,9 @@ let "test_main_exit_calls_version_check" # AssertionError: assert 2 == 1 "test_simple_send_non_retryable_error" + # Broken tests (Aider-AI/aider#3679) + "test_language_ocaml" + "test_language_ocaml_interface" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Tests fails on darwin @@ -378,7 +393,10 @@ let homepage = "https://github.com/paul-gauthier/aider"; changelog = "https://github.com/paul-gauthier/aider/blob/v${version}/HISTORY.md"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ happysalada ]; + maintainers = with lib.maintainers; [ + happysalada + yzx9 + ]; mainProgram = "aider"; }; }; diff --git a/pkgs/development/python-modules/mslex/default.nix b/pkgs/development/python-modules/mslex/default.nix new file mode 100644 index 000000000000..e9cd5d10bda7 --- /dev/null +++ b/pkgs/development/python-modules/mslex/default.nix @@ -0,0 +1,39 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pytest, +}: + +buildPythonPackage rec { + pname = "mslex"; + version = "1.3.0"; + pyproject = true; # fallback to setup.py if pyproject.toml is not present + + src = fetchFromGitHub { + owner = "smoofra"; + repo = "mslex"; + tag = "v${version}"; + hash = "sha256-vr36OTCTJFZRXlkeGgN4UOlH+6uAkMvqTEO9qL8X98w="; + }; + + build-system = [ + setuptools + ]; + + pythonImportsCheck = [ + "mslex" + ]; + + nativeCheckInputs = [ + pytest + ]; + + meta = { + description = "Like shlex, but for windows"; + homepage = "https://github.com/smoofra/mslex"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ yzx9 ]; + }; +} diff --git a/pkgs/development/python-modules/oslex/default.nix b/pkgs/development/python-modules/oslex/default.nix new file mode 100644 index 000000000000..5eeec6baab23 --- /dev/null +++ b/pkgs/development/python-modules/oslex/default.nix @@ -0,0 +1,39 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + mslex, +}: + +buildPythonPackage rec { + pname = "oslex"; + version = "0.1.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "petamas"; + repo = "oslex"; + tag = "release/v${version}"; + hash = "sha256-OcmBtxGS1Cq2kEcxF0Il62LUGbAAcG4lieokr/nK2/4="; + }; + + build-system = [ + hatchling + ]; + + dependencies = [ + mslex + ]; + + pythonImportsCheck = [ + "oslex" + ]; + + meta = { + description = "OS-independent wrapper for shlex and mslex"; + homepage = "https://github.com/petamas/oslex"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ yzx9 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c17c08a83ed3..c01014c33bad 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9198,6 +9198,8 @@ self: super: with self; { msldap = callPackage ../development/python-modules/msldap { }; + mslex = callPackage ../development/python-modules/mslex { }; + msmart-ng = callPackage ../development/python-modules/msmart-ng { }; msoffcrypto-tool = callPackage ../development/python-modules/msoffcrypto-tool { }; @@ -10620,6 +10622,8 @@ self: super: with self; { oset = callPackage ../development/python-modules/oset { }; + oslex = callPackage ../development/python-modules/oslex { }; + oslo-concurrency = callPackage ../development/python-modules/oslo-concurrency { }; oslo-config = callPackage ../development/python-modules/oslo-config { };