diff options
author | Matthew Smith <matthew@gentoo.org> | 2022-11-25 08:41:52 +0000 |
---|---|---|
committer | Matthew Smith <matthew@gentoo.org> | 2022-11-25 08:55:39 +0000 |
commit | 869d0680c8ba57ccd34fc5dfedce5960c7fea070 (patch) | |
tree | 23ac4f7c1c4ae4df312786c27c39e17a61b4d177 /dev-lang/erlang | |
parent | waf-utils.eclass: set PYTHONHASHSEED environment variable (diff) | |
download | gentoo-869d0680c8ba57ccd34fc5dfedce5960c7fea070.tar.gz gentoo-869d0680c8ba57ccd34fc5dfedce5960c7fea070.tar.bz2 gentoo-869d0680c8ba57ccd34fc5dfedce5960c7fea070.zip |
dev-lang/erlang: fix configure breakage with clang-16
Closes: https://bugs.gentoo.org/882887
Signed-off-by: Matthew Smith <matthew@gentoo.org>
Diffstat (limited to 'dev-lang/erlang')
-rw-r--r-- | dev-lang/erlang/erlang-25.0.4-r1.ebuild (renamed from dev-lang/erlang/erlang-25.0.4.ebuild) | 1 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-25.1.1-r1.ebuild (renamed from dev-lang/erlang/erlang-25.1.1.ebuild) | 1 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-25.1.2-r1.ebuild (renamed from dev-lang/erlang/erlang-25.1.2.ebuild) | 1 | ||||
-rw-r--r-- | dev-lang/erlang/files/erlang-25.1.2-c99.patch | 101 |
4 files changed, 104 insertions, 0 deletions
diff --git a/dev-lang/erlang/erlang-25.0.4.ebuild b/dev-lang/erlang/erlang-25.0.4-r1.ebuild index cfab5952952b..59e41501cabd 100644 --- a/dev-lang/erlang/erlang-25.0.4.ebuild +++ b/dev-lang/erlang/erlang-25.0.4-r1.ebuild @@ -47,6 +47,7 @@ S="${WORKDIR}/otp-OTP-${PV}" PATCHES=( "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch + "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 ) SITEFILE=50"${PN}"-gentoo.el diff --git a/dev-lang/erlang/erlang-25.1.1.ebuild b/dev-lang/erlang/erlang-25.1.1-r1.ebuild index de9c4088ead3..3b06f87886f2 100644 --- a/dev-lang/erlang/erlang-25.1.1.ebuild +++ b/dev-lang/erlang/erlang-25.1.1-r1.ebuild @@ -47,6 +47,7 @@ S="${WORKDIR}/otp-OTP-${PV}" PATCHES=( "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch + "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 ) SITEFILE=50"${PN}"-gentoo.el diff --git a/dev-lang/erlang/erlang-25.1.2.ebuild b/dev-lang/erlang/erlang-25.1.2-r1.ebuild index ed72f4f42e78..eba295d5cdbc 100644 --- a/dev-lang/erlang/erlang-25.1.2.ebuild +++ b/dev-lang/erlang/erlang-25.1.2-r1.ebuild @@ -47,6 +47,7 @@ S="${WORKDIR}/otp-OTP-${PV}" PATCHES=( "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch + "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 ) SITEFILE=50"${PN}"-gentoo.el diff --git a/dev-lang/erlang/files/erlang-25.1.2-c99.patch b/dev-lang/erlang/files/erlang-25.1.2-c99.patch new file mode 100644 index 000000000000..bc8ffdaace6c --- /dev/null +++ b/dev-lang/erlang/files/erlang-25.1.2-c99.patch @@ -0,0 +1,101 @@ +Bug: https://bugs.gentoo.org/882887 +From: https://github.com/erlang/otp/pull/6504 +From: Florian Weimer <fweimer@redhat.com> +Date: Thu, 24 Nov 2022 11:57:49 +0100 +Subject: [PATCH 1/2] configure.ac: C99 fix for + ERTS___AFTER_MORECORE_HOOK_CAN_TRACK_MALLOC + +#include <unistd.h> for the sbrk function if the header is available. +--- a/erts/configure ++++ b/erts/configure +@@ -20752,6 +20752,9 @@ else $as_nop + #ifdef HAVE_MALLOC_H + # include <malloc.h> + #endif ++#ifdef HAVE_UNISTD_H ++# include <unistd.h> ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -2436,6 +2436,9 @@ AC_CACHE_CHECK([if __after_morecore_hook can track malloc()s core memory use], + #ifdef HAVE_MALLOC_H + # include <malloc.h> + #endif ++#ifdef HAVE_UNISTD_H ++# include <unistd.h> ++#endif + #if defined(HAVE_END_SYMBOL) + extern char end; + #elif defined(HAVE__END_SYMBOL) + +From 7b720d2bb9e742110ff90ec2495747b2c477e2c7 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Thu, 24 Nov 2022 11:59:22 +0100 +Subject: [PATCH 2/2] configure.ac: C99 fixes for poll_works check + +Include <fcntl.h> if it is available for the open prototype. +Return from main instead of calling exit, so that no function +declaration is needed. +--- a/erts/configure ++++ b/erts/configure +@@ -24663,10 +24663,13 @@ else $as_nop + /* end confdefs.h. */ + + #include <poll.h> +-main() ++#ifdef HAVE_FCNTL_H ++#include <fcntl.h> ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -24675,9 +24678,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + +--- a/erts/configure.ac ++++ b/erts/configure.ac +@@ -3036,10 +3036,13 @@ poll_works=no + + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include <poll.h> +-main() ++#ifdef HAVE_FCNTL_H ++#include <fcntl.h> ++#endif ++int main() + { + #ifdef _POLL_EMUL_H_ +- exit(1); /* Implemented using select() -- fail */ ++ return 1; /* Implemented using select() -- fail */ + #else + struct pollfd fds[1]; + int fd; +@@ -3048,9 +3051,9 @@ main() + fds[0].events = POLLIN; + fds[0].revents = 0; + if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) { +- exit(1); /* Does not work for devices -- fail */ ++ return 1; /* Does not work for devices -- fail */ + } +- exit(0); ++ return 0; + #endif + } + ]])],[poll_works=yes],[poll_works=no],[ |