diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix index 7504624bf31e..5740deda9663 100644 --- a/pkgs/development/python-modules/libcst/default.nix +++ b/pkgs/development/python-modules/libcst/default.nix @@ -10,7 +10,9 @@ libiconv, pytestCheckHook, python, + pythonOlder, pyyaml, + pyyaml-ft, rustPlatform, rustc, setuptools-rust, @@ -20,20 +22,20 @@ buildPythonPackage rec { pname = "libcst"; - version = "1.7.0"; + version = "1.8.0"; pyproject = true; src = fetchFromGitHub { owner = "Instagram"; repo = "LibCST"; tag = "v${version}"; - hash = "sha256-KqiB1LieRJJ34kJgIlqyMKCzO7iDen8j9+s0ZmrHe+c="; + hash = "sha256-mHYcbw3BfvntKHadObYow8H/2f0LqpfSTbKju0CKhx4="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; sourceRoot = "${src.name}/${cargoRoot}"; - hash = "sha256-EPS506x8KUFAbZ47ZWtH1q0ndXutM2fOqcsYpXRc0+c="; + hash = "sha256-K8hug7JeLPIvrqgVaONKfixu8XRvn+pnqS0fHV+nTqg="; }; cargoRoot = "native"; @@ -52,7 +54,7 @@ buildPythonPackage rec { buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; dependencies = [ - pyyaml + (if pythonOlder "3.13" then pyyaml else pyyaml-ft) ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/pyyaml-ft/default.nix b/pkgs/development/python-modules/pyyaml-ft/default.nix new file mode 100644 index 000000000000..5106be721f67 --- /dev/null +++ b/pkgs/development/python-modules/pyyaml-ft/default.nix @@ -0,0 +1,44 @@ +{ + buildPythonPackage, + cython, + fetchFromGitHub, + lib, + libyaml, + pytestCheckHook, + pythonOlder, + setuptools, +}: + +buildPythonPackage rec { + pname = "pyyaml"; + version = "7.0.1"; + pyproject = true; + + disabled = pythonOlder "3.13"; + + src = fetchFromGitHub { + owner = "Quansight-Labs"; + repo = "pyyaml-ft"; + tag = "v${version}"; + hash = "sha256-hmHozVmqQuS+NqRN2SSEqNCemyKcBM19elhka4GykE0="; + }; + + build-system = [ + cython + setuptools + ]; + + buildInputs = [ libyaml ]; + + pythonImportsCheck = [ "yaml" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + meta = { + changelog = "https://github.com/Quansight-Labs/pyyaml-ft/blob/${src.tag}/CHANGES"; + description = "YAML parser and emitter for Python with support for free-threading"; + homepage = "https://github.com/Quansight-Labs/pyyaml-ft"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index daaf98b06d4c..8b0d69c547fe 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14700,6 +14700,8 @@ self: super: with self; { pyyaml-env-tag = callPackage ../development/python-modules/pyyaml-env-tag { }; + pyyaml-ft = callPackage ../development/python-modules/pyyaml-ft { }; + pyyaml-include = callPackage ../development/python-modules/pyyaml-include { }; pyyardian = callPackage ../development/python-modules/pyyardian { };