This looks like another relatively-easy one. I'll try to get the test suite working first. And I think the "bindist" USE flag can go?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f55ae9efddb800bf890f4b52ff0e0e11a118d8a5 commit f55ae9efddb800bf890f4b52ff0e0e11a118d8a5 Author: Michael Orlitzky <mjo@gentoo.org> AuthorDate: 2020-01-01 15:08:14 +0000 Commit: Michael Orlitzky <mjo@gentoo.org> CommitDate: 2020-01-01 19:28:56 +0000 sci-libs/givaro: new C++ library for arithmetic/algebraic computing. The latest version givaro-4.1.1 was imported from the sage-on-gentoo overlay with the following changes: * The homepage (which was redirecting) was updated. * The obsolete "bindist" flag was dropped. * The test suite was enabled; it passes without incident for me. * Support for the sse/sse2 CPU flags was added. * USE=doc will now build the API documentation. The SageMath project can detect and use the system copy of givaro, so having this installed will help Gentoo users avoid pointless rebuilds of givaro. Closes: https://bugs.gentoo.org/704458 Package-Manager: Portage-2.3.79, Repoman-2.3.16 Signed-off-by: Michael Orlitzky <mjo@gentoo.org> sci-libs/givaro/Manifest | 1 + sci-libs/givaro/givaro-4.1.1.ebuild | 45 +++++++++++++++++++++++++++++++++++++ sci-libs/givaro/metadata.xml | 24 ++++++++++++++++++++ 3 files changed, 70 insertions(+)
I am back. The point of bindist was in case anyone wants to produce redistributable binaries. It switches off all specific cpu optimizations. I skipped sse/sse2 because only very old x86 hardware don't support those anymore (I have a box with a sse2 less cpu in my garage - apart from a couple of early exceptions, all 64bits capable intel class cpu support sse/sse2).
(In reply to François Bissey from comment #2) > I am back. The point of bindist was in case anyone wants to produce > redistributable binaries. It switches off all specific cpu optimizations. I had to double-check this one. At least in ::gentoo, the bindist USE flag isn't used to achieve that goal. Instead USE=bindist is used to turn off certain features that are patent- or trademark-encumbered, because we make modifications to the software that would violate those laws if you redistributed the result. For example, some elliptic curve stuff is patented in the US, and Mozilla won't let you share binaries of Firefox that you've built and still call it "Firefox." Personally I don't use binary packages very often, but I've been told that portage is smart enough to solve your problem on its own. On the client machine (where you're installing the binary package), portage will compare the local USE flags to the ones that were used on the build server, and reject the package if they don't match. So in this case -- since CPU_FLAGS_X86 amounts to a collection of USE flags -- portage won't use a package that was compiled with different optimizations than those supported on the client. (Users are warned about this in https://wiki.gentoo.org/wiki/Binary_package_guide)
I knew it is one of the use, but I didn't know it was the only use. I think I may have seen it misused that way in other stuff before. I will have to do a sweep of that useflag in the overlay. fflas-ffpack and linbox at least would use it.