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

This commit is contained in:
Peder Bergebakken Sundt 2025-04-27 04:21:33 +02:00 committed by GitHub
commit 0151ad274f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 142 additions and 9 deletions

View File

@ -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" ];
};
}
})

View File

@ -0,0 +1,72 @@
{
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;
};
}

View File

@ -1,5 +1,6 @@
{
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";

View File

@ -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 { };