Commit 5b705e3c authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt
Browse files

python3Packages.embreex: init at 2.17.7.post6

parent 8d33ea26
Loading
Loading
Loading
Loading
+72 −0
Original line number Diff line number Diff line
{
  lib,
  fetchFromGitHub,
  fetchpatch,
  buildPythonPackage,
  embree2,
  cython,
  numpy,
  setuptools,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "embreex";
  version = "2.17.7.post6";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "trimesh";
    repo = "embreex";
    tag = version;
    hash = "sha256-iLIfhngorSFOdkOvlCAJQXGQrVuRfBSDGzvjXOlQuHk=";
  };

  patches = [
    # https://github.com/trimesh/embreex/pull/7
    (fetchpatch {
      name = "fix-use-after-free.patch";
      url = "https://github.com/trimesh/embreex/commit/c6b047285419f8986fae962e2734a01522be7ef7.patch";
      hash = "sha256-s8x2vsqbsIR3aoNUDrYs2vQttuNY8lLJ6TC7H8FMRyQ=";
    })
  ];

  build-system = [
    setuptools
    numpy
    cython
  ];

  dependencies = [
    numpy
  ];

  buildInputs = [
    embree2
    embree2.tbb
  ];

  pythonImportsCheck = [
    "embreex"
    "embreex.mesh_construction"
    "embreex.rtcore"
    "embreex.rtcore_scene"
    "embreex.triangles"
  ];

  preCheck = ''
    # conflicts with $out
    rm -rf embreex/
  '';

  nativeCheckInputs = [ pytestCheckHook ];

  meta = {
    description = "Maintained PyEmbree fork, wrapper for Embree v2";
    homepage = "https://github.com/trimesh/embreex";
    changelog = "https://github.com/trimesh/embreex/releases/tag/${src.tag}";
    license = lib.licenses.bsd2;
    maintainers = with lib.maintainers; [ pbsds ];
    inherit (embree2.meta) platforms;
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -4395,6 +4395,8 @@ self: super: with self; {
  embrace = callPackage ../development/python-modules/embrace { };
  embreex = callPackage ../development/python-modules/embreex { };
  emcee = callPackage ../development/python-modules/emcee { };
  emoji = callPackage ../development/python-modules/emoji { };