Created attachment 206909 [details]
new port graphics/embree2
Currently graphics/embree is marked broken and is due to be deleted, I have submitted an update to bring that port to v3.6.0 in bug #239314.
Updating embree to 3.6.0 does not fix any existing dependencies, here I propose a new port as graphics/embree2 to support some of the existing ports.
The existing port enables ISPC as a default, I find that all but one system config breaks with this enabled. Therefore this new port is a small update to the existing port without ISPC enabled, I have also added strip commands for the binaries.
graphics/py-embree and math/py-yt can use this port to remain active.
graphics/luxrender would use this port but has other build issues related to boost.
Created attachment 206910 [details]
unbreak py-embree by adjusting to use new embree2 port
Created attachment 206911 [details]
unbreak py-yt by adjusting to use new embree2 port
If graphics/embree gets the update in bug 239314 is this port, or the changes to graphics/py-embree or math/py-yt still needed?
(In reply to Kubilay Kocak from comment #3)
Yes, embree v2 and v3 are not compatible and are setup to be installed simultaneously.
In the meantime the following ports have been removed because they expired as they depended on embree:
We need to fix embree first, and then we can resurrect py-pyembree and py-yt.
A commit references this bug:
Date: Sun Sep 8 12:56:21 UTC 2019
New revision: 511574
Resurrect graphics/py-pyembree and math/py-yt now that graphics/embree is fixed.
PR: 240117 (related)
Submitted by: FreeBSD@ShaneWare.Biz
heads up that 3.7.0 has been released: https://github.com/embree/embree/releases/tag/v3.7.0
The embree 3.7 release is not relevant to this, which is to create an embree2 port to support code not supporting embree 3.x
bug #239314 needs updating to 3.7 and that is blocked until this is committed.
Embree port had been updated to the latest version 3.8.0 as of ports r525724. Python bindings port (graphics/py-embree) is outdated and incompatible with new 3.x API, and was marked as BROKEN accordingly. Quoting the software authors:
> We decided to introduce an improved API in Embree 3 that is
> not backward compatible with the Embree 2 API. This step was
> required to remove various deprecated API functions that
> accumulated over time, improve extensibility of the API, fix
> suboptimal design decisions, fix design mistakes (such as
> incompatible single ray and ray packet layouts), clean up
> inconsistent naming, and increase flexibility.
> To make porting to the new API easy, we provide a conversion
> script that can do most of the work, and will annotate the
> code with remaining changes required. The script can be
> invoked the following way for CPP files:
> ./scripts/cpp-patch.py --patch embree2_to_embree3.patch
> --in infile.cpp --out outfile.cpp
> When invoked for ISPC files, add the `--ispc` option:
> ./scripts/cpp-patch.py --ispc
> --patch embree2_to_embree3.patch
> --in infile.ispc --out outfile.ispc
Embree support in the `math/py-yt' port was made optional in ports r525712, and is currently disabled by default until Python bindings would get updated.
Keeping the deprecated API v2 port around does not seem necessary or justified, as popular software, e.g. Blender, typically requires v3 libraries these days. That said, with `math/py-yt' fixed and no other v2 consumers in the tree, I'm closing this PR.