summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Smith <matthew@gentoo.org>2023-10-08 09:49:18 +0100
committerMatthew Smith <matthew@gentoo.org>2023-10-08 09:49:59 +0100
commitbce7a7444a6c26283002805aa19b627200813549 (patch)
treec7088ff12eadb2958980a81183e99f4a3fadf955 /dev-lang/erlang
parentnet-libs/libwebsockets: keyword 4.3.2-r1 for ~loong (diff)
downloadgentoo-bce7a7444a6c26283002805aa19b627200813549.tar.gz
gentoo-bce7a7444a6c26283002805aa19b627200813549.tar.bz2
gentoo-bce7a7444a6c26283002805aa19b627200813549.zip
dev-lang/erlang: Avoid system libei.so when building
Closes: https://bugs.gentoo.org/912888 Signed-off-by: Matthew Smith <matthew@gentoo.org>
Diffstat (limited to 'dev-lang/erlang')
-rw-r--r--dev-lang/erlang/erlang-26.0.ebuild17
1 files 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() {