I'm using Gentoo in a HPC environment. A lot of our users have large collections of self-compiled software in their homedirs. A lot of that software is using libffi, and the stabilization of version 3.3 came with a soname bump, which in turn broke all that software. I was also told that at least some binary software in the tree, for example dropbox, depends on the .6 soname. A slotted version of dev-libs/libffi that provides only the libraries for use by old binaries would be very useful.
Created attachment 591498 [details] libffi-3.2.1-r100.ebuild
(In reply to Timo Rothenpieler from comment #1) > Created attachment 591498 [details] > libffi-3.2.1-r100.ebuild Might still need a dependency along the lines of !<dev-libs/libffi-3.3_rc0:0
That makes sense. The new style of providing binary-only packages is to provide libffi-compat package which installs only libffi.so / libffi.so.6 files. One minor note: maintaining software in home directories is out of scope of gentoo's package manager. There are many ways to break those. Listing here ::gentoo (or overlay) packages that use libffi.so.6 is preferable. Would ease testing for me as well.
Example packages to follow are: - sys-libs/libtermcap-compat - dev-libs/openssl-compat - sys-libs/libudev-compat
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=150f49cdb500318a543afebda095b3127fdc7f95 commit 150f49cdb500318a543afebda095b3127fdc7f95 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2019-10-01 19:28:34 +0000 Commit: Sergei Trofimovich <slyfox@gentoo.org> CommitDate: 2019-10-01 19:29:09 +0000 dev-libs/libffi-compat: new package, provides libffi.so.6 There are still a few binary-only packages out there that rely on 'libffi.so.6' presence. This package provides these libraries. No development headers here. Thus this library can co-exist with dev-libs/libffi:0/7 package. Ebuild is based on dev-libs/libffi. We can fast-stabilize it if in-tree stable packages do rely on libffi.so.6 (they should not). The patch is almost entirely by Timo Rothenpieler. I renamed a package and made a few minor tweaks. Fix-by: Timo Rothenpieler Reported-by: Timo Rothenpieler Closes: https://bugs.gentoo.org/695964 Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> dev-libs/libffi-compat/Manifest | 1 + .../files/libffi-3.1-darwin-x32.patch | 22 +++++++ .../files/libffi-3.2.1-complex-ia64.patch | 41 ++++++++++++ .../files/libffi-3.2.1-complex_alpha.patch | 20 ++++++ .../files/libffi-3.2.1-ia64-small-struct.patch | 74 ++++++++++++++++++++++ .../files/libffi-3.2.1-include-path-autogen.patch | 56 ++++++++++++++++ .../files/libffi-3.2.1-include-path.patch | 39 ++++++++++++ .../files/libffi-3.2.1-musl-emutramp.patch | 31 +++++++++ .../files/libffi-3.2.1-o-tmpfile-eacces.patch | 17 +++++ .../libffi-compat/libffi-compat-3.2.1-r3.ebuild | 52 +++++++++++++++ dev-libs/libffi-compat/metadata.xml | 42 ++++++++++++ 11 files changed, 395 insertions(+)