diff options
author | Sam James <sam@gentoo.org> | 2023-04-16 11:42:33 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-04-17 00:16:42 +0100 |
commit | 705232be6a2664e2b41d81dfea7393ad7b290b15 (patch) | |
tree | 811b184e4c0b240a9735973936f7fdbb2f3a18a0 /x11-terms | |
parent | media-libs/opencollada: fix build w/ gcc 13, drop -Werror (diff) | |
download | gentoo-705232be6a2664e2b41d81dfea7393ad7b290b15.tar.gz gentoo-705232be6a2664e2b41d81dfea7393ad7b290b15.tar.bz2 gentoo-705232be6a2664e2b41d81dfea7393ad7b290b15.zip |
x11-terms/mlterm: fix configure w/ clang 16
Closes: https://bugs.gentoo.org/904353
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-terms')
-rw-r--r-- | x11-terms/mlterm/files/mlterm-configure-clang16.patch | 123 | ||||
-rw-r--r-- | x11-terms/mlterm/mlterm-3.9.3-r1.ebuild (renamed from x11-terms/mlterm/mlterm-3.9.3.ebuild) | 12 |
2 files changed, 131 insertions, 4 deletions
diff --git a/x11-terms/mlterm/files/mlterm-configure-clang16.patch b/x11-terms/mlterm/files/mlterm-configure-clang16.patch new file mode 100644 index 000000000000..134870d8f756 --- /dev/null +++ b/x11-terms/mlterm/files/mlterm-configure-clang16.patch @@ -0,0 +1,123 @@ +https://github.com/arakiken/mlterm/pull/68 + +From 4eb1a0b237a861cee7ba0ceb4b69d54ab46f87f5 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sun, 16 Apr 2023 11:38:16 +0100 +Subject: [PATCH] Fix configure.ac compatibility with Clang 16 + +Clang 16 makes -Wimplicit-function-declaration and -Wimplicit-int errors by default. + +Unfortunately, this can lead to misconfiguration or miscompilation of software as configure +tests may then return the wrong result. + +For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2], +or the (new) c-std-porting mailing list [3]. + +Bug: https://bugs.gentoo.org/904353 + +[0] https://lwn.net/Articles/913505/ +[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213 +[2] https://wiki.gentoo.org/wiki/Modern_C_porting +[3] hosted at lists.linux.dev. +--- a/baselib/configure ++++ b/baselib/configure +@@ -13226,6 +13226,8 @@ See \`config.log' for more details" "$LINENO" 5; } + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ ++#define _XOPEN_SOURCE 600 ++#include <stdlib.h> + #include <fcntl.h> + int + main () +@@ -13599,6 +13601,8 @@ else + /* end confdefs.h. */ + + #include <stdio.h> ++ #include <stdlib.h> ++ #include <stddef.h> + int main() { + return calloc(8, ((1 << (sizeof(size_t) * 8 - 1)) + 1)) ? 1 : 0 ; + } +--- a/baselib/configure.in ++++ b/baselib/configure.in +@@ -285,7 +285,9 @@ elif test "$bl_cv_mingw" = "yes" ; then + bl_cv_pty=streams + elif test "$host" = "$build" ; then + AC_CHECK_FUNC(posix_openpt, +- [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <fcntl.h>], ++ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#define _XOPEN_SOURCE 600 ++ #include <stdlib.h> ++ #include <fcntl.h>], + [return posix_openpt(O_RDWR | O_NOCTTY) == -1;])], + [ + AC_DEFINE(HAVE_POSIX_OPENPT,,"HAVE_POSIX_OPENPT") +@@ -435,6 +437,8 @@ if test "$host" = "$build"; then + AC_TRY_RUN( + [ + #include <stdio.h> ++ #include <stdlib.h> ++ #include <stddef.h> + int main() { + return calloc(8, ((1 << (sizeof(size_t) * 8 - 1)) + 1)) ? 1 : 0 ; + } +--- a/configure ++++ b/configure +@@ -25110,6 +25110,8 @@ See \`config.log' for more details" "$LINENO" 5; } + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ ++#define _XOPEN_SOURCE 600 ++#include <stdlib.h> + #include <fcntl.h> + int + main () +@@ -25147,6 +25149,7 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include <fcntl.h> ++#include <sys/stat.h> + int + main () + { +@@ -25475,6 +25478,8 @@ else + /* end confdefs.h. */ + + #include <stdio.h> ++ #include <stdlib.h> ++ #include <stddef.h> + int main() { + return calloc(8, ((1 << (sizeof(size_t) * 8 - 1)) + 1)) ? 1 : 0 ; + } +--- a/configure.in ++++ b/configure.in +@@ -2150,7 +2150,9 @@ elif test "$bl_cv_mingw" = "yes" ; then + bl_cv_pty=streams + elif test "$host" = "$build" ; then + AC_CHECK_FUNC(posix_openpt, +- [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <fcntl.h>], ++ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#define _XOPEN_SOURCE 600 ++ #include <stdlib.h> ++ #include <fcntl.h>], + [return posix_openpt(O_RDWR | O_NOCTTY) == -1;])], + [ + AC_DEFINE(HAVE_POSIX_OPENPT,,"HAVE_POSIX_OPENPT") +@@ -2160,7 +2162,8 @@ elif test "$host" = "$build" ; then + [bl_cv_pty=bsd]) + if test "$bl_cv_pty" = "bsd" ; then + AC_RUN_IFELSE( +- [AC_LANG_PROGRAM([#include <fcntl.h>], ++ [AC_LANG_PROGRAM([#include <sys/stat.h> ++ #include <fcntl.h>], + [return open( "/dev/ptmx", O_RDWR | O_NOCTTY, 0) == -1;])], + [bl_cv_pty=streams]) + fi +@@ -2297,6 +2300,8 @@ if test "$host" = "$build"; then + AC_TRY_RUN( + [ + #include <stdio.h> ++ #include <stdlib.h> ++ #include <stddef.h> + int main() { + return calloc(8, ((1 << (sizeof(size_t) * 8 - 1)) + 1)) ? 1 : 0 ; + } diff --git a/x11-terms/mlterm/mlterm-3.9.3.ebuild b/x11-terms/mlterm/mlterm-3.9.3-r1.ebuild index 48e60e6194d8..f9f685ab417d 100644 --- a/x11-terms/mlterm/mlterm-3.9.3.ebuild +++ b/x11-terms/mlterm/mlterm-3.9.3-r1.ebuild @@ -53,19 +53,23 @@ RDEPEND="virtual/libcrypt:= x11-libs/libxkbcommon ) xft? ( x11-libs/libXft )" -DEPEND="${RDEPEND} - virtual/pkgconfig +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig nls? ( sys-devel/gettext )" -PATCHES=( "${FILESDIR}"/${PN}-font.patch ) DOCS=( doc/{en,ja} ) +PATCHES=( + "${FILESDIR}"/${PN}-font.patch + "${FILESDIR}"/${PN}-configure-clang16.patch +) + src_prepare() { # default config sed -i \ -e "/ icon_path =/aicon_path = ${EPREFIX}/usr/share/pixmaps/${PN}-icon.svg" \ -e "/ scrollbar_view_name =/ascrollbar_view_name = sample" \ - etc/main + etc/main || die default } |