dear all,
the eigen project [1] has released a new stable, major version (v5) a while
ago. The v5 branch needs C++14, whereas v3 requires C++11 and an upcoming
release will require C++17; additional from the release notes it appears there
could be some backwards-incompatible changes between v3 and v5.
Upstream has decided to keep WORLD in its versioning WORLD.MAJOR.MINOR.PATCH
the same for posterity, and thus the current “eigen3” port and subsequent
releases will always conflict. I am a bit reluctant to just update to the
latest release and assume that all other ports will just work…
I started working on a PR [2] some time ago, but it’s not finalized yet and
will need some changes. Before doing so I would appreciate any
feedback/concerns/suggestions on my proposal below:
1. rename "eigen "port to “eigen2" and update its dependents (there are only a
few dependents, and those don’t build on at least newer systems; I would be
fine with removing them as well)
2. update “eigen3" to 3.4.1; obsolete the "eigen3-devel" port and set to
"replaced_by eigen3"
3. add “eigen" port that tracks the latest upstream branch (currently version
5.0.1)
To avoid conflicts I would suggest to install “eigen3” and “eigen” (and
possible later “eigenX” ports) in ${prefix}/libexec and add a “eigen” PortGroup
to aid in selecting the desired version. All of that similarly to the way we
handle the “boostXYZ” ports.
Best,
Renee
[1] https://libeigen.gitlab.io/
[2] https://github.com/macports/macports-ports/pull/31240