Bug 240117 - [NEW PORT] graphics/embree2: Collection of high-performance ray tracing kernels (and unbreak ports using graphics/embree)
Summary: [NEW PORT] graphics/embree2: Collection of high-performance ray tracing kerne...
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs mailing list
Keywords: feature, needs-patch, needs-qa
Depends on:
Blocks: 239314 242265
  Show dependency treegraph
Reported: 2019-08-26 04:20 UTC by Shane
Modified: 2020-02-11 05:59 UTC (History)
4 users (show)

See Also:
FreeBSD: maintainer-feedback+

new port graphics/embree2 (6.88 KB, text/plain)
2019-08-26 04:20 UTC, Shane
FreeBSD: maintainer-approval+
unbreak graphics/py-embree (534 bytes, patch)
2019-08-26 04:21 UTC, Shane
no flags Details | Diff
unbreak math/py-yt (649 bytes, patch)
2019-08-26 04:22 UTC, Shane
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Shane 2019-08-26 04:20:24 UTC
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.
Comment 1 Shane 2019-08-26 04:21:33 UTC
Created attachment 206910 [details]
unbreak graphics/py-embree

unbreak py-embree by adjusting to use new embree2 port
Comment 2 Shane 2019-08-26 04:22:12 UTC
Created attachment 206911 [details]
unbreak math/py-yt

unbreak py-yt by adjusting to use new embree2 port
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-08-26 04:36:23 UTC
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?
Comment 4 Shane 2019-08-28 08:32:00 UTC
(In reply to Kubilay Kocak from comment #3)

Yes, embree v2 and v3 are not compatible and are setup to be installed simultaneously.
Comment 5 Rene Ladan freebsd_committer 2019-09-07 11:46:00 UTC
In the meantime the following ports have been removed because they expired as they depended on embree:
- py-pyembree
- py-yt
- luxrender
- luxrender14

We need to fix embree first, and then we can resurrect py-pyembree and py-yt.
Comment 6 Rene Ladan freebsd_committer 2019-09-07 11:47:00 UTC
In the meantime the following ports have been removed because they expired as they depended on embree:
- py-pyembree
- py-yt
- luxrender
- luxrender14

We need to fix embree first, and then we can resurrect py-pyembree and py-yt.
Comment 7 commit-hook freebsd_committer 2019-09-08 12:56:37 UTC
A commit references this bug:

Author: rene
Date: Sun Sep  8 12:56:21 UTC 2019
New revision: 511574
URL: https://svnweb.freebsd.org/changeset/ports/511574

  Resurrect graphics/py-pyembree and math/py-yt now that graphics/embree is fixed.

  PR:		240117 (related)
  Submitted by:	FreeBSD@ShaneWare.Biz

Comment 8 kunda 2020-01-12 10:01:52 UTC
heads up that 3.7.0 has been released: https://github.com/embree/embree/releases/tag/v3.7.0
Comment 9 Shane 2020-01-15 02:57:28 UTC
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.
Comment 10 Alexey Dokuchaev freebsd_committer 2020-02-11 05:59:31 UTC
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.