Commit dfbcfa71 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt
Browse files

Revert "python313Packages.embreex: drop"

This reverts commit 711876c9.
parent 09478df5
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;
  };
}
+4 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
  scipy,
  pillow,
  mapbox-earcut,
  embreex,
}:

buildPythonPackage (finalAttrs: {
@@ -59,7 +60,9 @@ buildPythonPackage (finalAttrs: {
      pillow
      # vhacdx # not packaged
      mapbox-earcut
      # embreex # not packaged
    ]
    ++ lib.optionals embreex.meta.available [
      embreex
    ];
  };

+0 −1
Original line number Diff line number Diff line
@@ -192,7 +192,6 @@ mapAliases {
  elegy = throw "elegy has been removed because it has transitively been marked as broken since 2023."; # Added 2025-10-11
  email_validator = throw "'email_validator' has been renamed to/replaced by 'email-validator'"; # Converted to throw 2025-10-29
  emailthreads = throw "'emailthreads' has been removed because the upstream repository was archived in 2024"; # Added 2026-04-09
  embreex = throw "embreex has been removed, as it required embree2"; # added 2025-09-14
  enocean = throw "'enocean' was removed because Home Assistant switched to 'enocean-async'"; # added 2026-03-31
  eris = throw "eris has been removed due to a hostile upstream moving tags and breaking src FODs"; # Added 2025-09-01
  et_xmlfile = throw "'et_xmlfile' has been renamed to/replaced by 'et-xmlfile'"; # Converted to throw 2025-10-29
+2 −0
Original line number Diff line number Diff line
@@ -4994,6 +4994,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 { };