commit:     bce7a7444a6c26283002805aa19b627200813549
Author:     Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  8 08:49:18 2023 +0000
Commit:     Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 08:49:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bce7a744

dev-lang/erlang: Avoid system libei.so when building

Closes: https://bugs.gentoo.org/912888
Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>

 dev-lang/erlang/erlang-26.0.ebuild | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/dev-lang/erlang/erlang-26.0.ebuild 
b/dev-lang/erlang/erlang-26.0.ebuild
index 60e753d858e2..fbbddf9a48d0 100644
--- a/dev-lang/erlang/erlang-26.0.ebuild
+++ b/dev-lang/erlang/erlang-26.0.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 WX_GTK_VER="3.0-gtk3"
 
-inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs 
wxwidgets
+inherit autotools elisp-common flag-o-matic java-pkg-opt-2 systemd 
toolchain-funcs wxwidgets
 
 # NOTE: If you need symlinks for binaries please tell maintainers or
 # open up a bug to let it be created.
@@ -38,15 +38,8 @@ RDEPEND="
        systemd? ( sys-apps/systemd )
        wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
 "
-
-# libei.so (from dev-libs/libei) conflicts with libei.a from
-# erl_interface. Causes build faiure. Erlang build system needs to be
-# patched to prefer its own libei instead of system libei. Installed
-# into /usr/lib/erlang so no conflict following installation. Bug
-# #912888.
 DEPEND="${RDEPEND}
        dev-lang/perl
-       !!dev-libs/libei
 "
 
 S="${WORKDIR}/otp-OTP-${PV}"
@@ -67,6 +60,14 @@ src_prepare() {
        # bug #797886: erlang's VM does unsafe casts for ints
        # to pointers and back. This breaks on gcc-11 -flto.
        append-flags -fno-strict-aliasing
+
+       # Ensure that we use erl_interface's libei.a, and not the system
+       # libei.so from dev-libs/libei. Bug #912888.
+       sed -i 's/-lei$/-l:libei.a/' \
+               "${S}"/lib/odbc/c_src/Makefile.in || die
+       (cd "${S}"/lib/odbc &&
+                eautoconf -B "${S}"/make/autoconf &&
+                eautoheader -B "${S}"/make/autoconf) || die
 }
 
 src_configure() {

Reply via email to