Unverified Commit 0151ad27 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

python3Packages.embreex: init at 2.17.7.post6 (#400578)

parents 96e0c9d6 ed88e2ef
Loading
Loading
Loading
Loading
+28 −8
Original line number Diff line number Diff line
@@ -5,24 +5,26 @@
  cmake,
  pkg-config,
  ispc,
  tbb,
  tbb_2020_3,
  glfw,
  openimageio_2,
  libjpeg,
  libpng,
  libpthreadstubs,
  libX11,
  python3Packages,
  nix-update-script,
}:

stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
  pname = "embree";
  version = "2.17.4";
  version = "2.17.7";

  src = fetchFromGitHub {
    owner = "embree";
    repo = "embree";
    rev = "v2.17.4";
    sha256 = "0q3r724r58j4b6cbyy657fsb78z7a2c7d5mwdp7552skynsn2mn9";
    tag = "v${finalAttrs.version}";
    hash = "sha256-FD/ITZBJnYy1F+x4jLTVTsGsNKy/mS7OYWP06NoHZqc=";
  };

  cmakeFlags = [ "-DEMBREE_TUTORIALS=OFF" ];
@@ -33,7 +35,8 @@ stdenv.mkDerivation {
  ];
  buildInputs = [
    ispc
    tbb
    # tbb_2021_0 is not backward compatible
    tbb_2020_3
    glfw
    openimageio_2
    libjpeg
@@ -41,11 +44,28 @@ stdenv.mkDerivation {
    libX11
    libpthreadstubs
  ];

  passthru = {
    updateScript = nix-update-script {
      extraArgs = [
        "--version-regex"
        "v(2.*)"
      ];
    };
    tbb = tbb_2020_3;
    tests = {
      inherit (python3Packages) embreex;
    };
  };

  meta = with lib; {
    description = "High performance ray tracing kernels from Intel";
    homepage = "https://embree.github.io/";
    maintainers = with maintainers; [ hodapp ];
    maintainers = with maintainers; [
      hodapp
      pbsds
    ];
    license = licenses.asl20;
    platforms = [ "x86_64-linux" ];
  };
}
})
+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;
  };
}
+40 −1
Original line number Diff line number Diff line
{
  lib,
  python,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
@@ -7,6 +8,7 @@
  pythonOlder,
  numpy,
  lxml,
  trimesh,
}:

buildPythonPackage rec {
@@ -27,6 +29,31 @@ buildPythonPackage rec {

  dependencies = [ numpy ];

  optional-dependencies = with python.pkgs; {
    easy =
      [
        colorlog
        manifold3d
        charset-normalizer
        lxml
        jsonschema
        networkx
        svg-path
        pycollada
        shapely
        xxhash
        rtree
        httpx
        scipy
        pillow
        # vhacdx # not packaged
        mapbox-earcut
      ]
      ++ lib.optionals embreex.meta.available [
        embreex
      ];
  };

  nativeCheckInputs = [
    lxml
    pytestCheckHook
@@ -39,7 +66,19 @@ buildPythonPackage rec {

  pytestFlagsArray = [ "tests/test_minimal.py" ];

  pythonImportsCheck = [ "trimesh" ];
  pythonImportsCheck = [
    "trimesh"
    "trimesh.ray"
    "trimesh.path"
    "trimesh.path.exchange"
    "trimesh.scene"
    "trimesh.voxel"
    "trimesh.visual"
    "trimesh.viewer"
    "trimesh.exchange"
    "trimesh.resources"
    "trimesh.interfaces"
  ];

  meta = {
    description = "Python library for loading and using triangular meshes";
+2 −0
Original line number Diff line number Diff line
@@ -4415,6 +4415,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 { };