diff --git a/pkgs/development/python-modules/bezier/default.nix b/pkgs/development/python-modules/bezier/default.nix new file mode 100644 index 000000000000..13ef41aa96dc --- /dev/null +++ b/pkgs/development/python-modules/bezier/default.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildPythonPackage, + setuptools, + numpy, + matplotlib, + scipy, + sympy, + + cmake, + gfortran, + + nix-update-script, +}: +buildPythonPackage rec { + name = "bezier"; + version = "2024.6.20"; + src = fetchFromGitHub { + owner = "dhermes"; + repo = "bezier"; + tag = version; + hash = "sha256-TH3x6K5S3uV/K/5e+TXCSiJsyJE0tZ+8ZLc+i/x/fV8="; + }; + + pyproject = true; + + build-system = [ setuptools ]; + + dependencies = [ numpy ]; + optional-dependencies = { + full = [ + matplotlib + scipy + sympy + ]; + }; + + env = { + BEZIER_IGNORE_VERSION_CHECK = 1; + BEZIER_INSTALL_PREFIX = stdenv.mkDerivation { + name = "bezier-fortran-extension"; + inherit version src; + + sourceRoot = "${src.name}/src/fortran"; + + nativeBuildInputs = [ + cmake + gfortran + ]; + }; + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=incompatible-pointer-types" + ]; + }; + + pythonImportsCheck = [ "bezier" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Helper for Bézier Curves, Triangles, and Higher Order Objects"; + changelog = "https://bezier.readthedocs.io/en/latest/releases/latest.html"; + homepage = "https://github.com/dhermes/bezier"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ WeetHet ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 99c83287646f..a529e24d6af4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1766,6 +1766,8 @@ self: super: with self; { betterproto = callPackage ../development/python-modules/betterproto { }; + bezier = callPackage ../development/python-modules/bezier { }; + beziers = callPackage ../development/python-modules/beziers { }; bibtexparser = callPackage ../development/python-modules/bibtexparser { };