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, cmake,
pkg-config, pkg-config,
ispc, ispc,
tbb, tbb_2020_3,
glfw, glfw,
openimageio_2, openimageio_2,
libjpeg, libjpeg,
libpng, libpng,
libpthreadstubs, libpthreadstubs,
libX11, libX11,
python3Packages,
nix-update-script,
}: }:
stdenv.mkDerivation { stdenv.mkDerivation (finalAttrs: {
pname = "embree"; pname = "embree";
version = "2.17.4"; version = "2.17.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "embree"; owner = "embree";
repo = "embree"; repo = "embree";
rev = "v2.17.4"; tag = "v${finalAttrs.version}";
sha256 = "0q3r724r58j4b6cbyy657fsb78z7a2c7d5mwdp7552skynsn2mn9"; hash = "sha256-FD/ITZBJnYy1F+x4jLTVTsGsNKy/mS7OYWP06NoHZqc=";
}; };
cmakeFlags = [ "-DEMBREE_TUTORIALS=OFF" ]; cmakeFlags = [ "-DEMBREE_TUTORIALS=OFF" ];
@ -33,7 +35,8 @@ stdenv.mkDerivation {
]; ];
buildInputs = [ buildInputs = [
ispc ispc
tbb # tbb_2021_0 is not backward compatible
tbb_2020_3
glfw glfw
openimageio_2 openimageio_2
libjpeg libjpeg
@ -41,11 +44,28 @@ stdenv.mkDerivation {
libX11 libX11
libpthreadstubs libpthreadstubs
]; ];
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(2.*)"
];
};
tbb = tbb_2020_3;
tests = {
inherit (python3Packages) embreex;
};
};
meta = with lib; { meta = with lib; {
description = "High performance ray tracing kernels from Intel"; description = "High performance ray tracing kernels from Intel";
homepage = "https://embree.github.io/"; homepage = "https://embree.github.io/";
maintainers = with maintainers; [ hodapp ]; maintainers = with maintainers; [
hodapp
pbsds
];
license = licenses.asl20; license = licenses.asl20;
platforms = [ "x86_64-linux" ]; 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, lib,
python,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
setuptools, setuptools,
@ -7,6 +8,7 @@
pythonOlder, pythonOlder,
numpy, numpy,
lxml, lxml,
trimesh,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -27,6 +29,31 @@ buildPythonPackage rec {
dependencies = [ numpy ]; 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 = [ nativeCheckInputs = [
lxml lxml
pytestCheckHook pytestCheckHook
@ -39,7 +66,19 @@ buildPythonPackage rec {
pytestFlagsArray = [ "tests/test_minimal.py" ]; 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 = { meta = {
description = "Python library for loading and using triangular meshes"; 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 { }; embrace = callPackage ../development/python-modules/embrace { };
embreex = callPackage ../development/python-modules/embreex { };
emcee = callPackage ../development/python-modules/emcee { }; emcee = callPackage ../development/python-modules/emcee { };
emoji = callPackage ../development/python-modules/emoji { }; emoji = callPackage ../development/python-modules/emoji { };