From: "Michael Orlitzky" <mjo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/files/, dev-lang/php/
Date: Mon, 4 Mar 2024 17:00:36 +0000 (UTC) [thread overview]
Message-ID: <1709570947.65a1a144e66496d746998a54d2c5ad7cf53252cb.mjo@gentoo> (raw)
commit: 65a1a144e66496d746998a54d2c5ad7cf53252cb
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 4 16:42:16 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Mar 4 16:49:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65a1a144
dev-lang/php: some more implicit function decl fixes for 8.1.x
Closes: https://bugs.gentoo.org/925877
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
dev-lang/php/files/php-8.1.27-implicit-decls.patch | 72 ++++++++++++++++++++++
.../{php-8.1.27-r1.ebuild => php-8.1.27-r2.ebuild} | 7 +++
2 files changed, 79 insertions(+)
diff --git a/dev-lang/php/files/php-8.1.27-implicit-decls.patch b/dev-lang/php/files/php-8.1.27-implicit-decls.patch
new file mode 100644
index 000000000000..443b02ba17c2
--- /dev/null
+++ b/dev-lang/php/files/php-8.1.27-implicit-decls.patch
@@ -0,0 +1,72 @@
+From 79df2b9dcbe0388667c832b2c702ca3158330ed7 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 4 Mar 2024 11:48:01 -0500
+Subject: [PATCH] ext/iconv/config.m4: add missing stdio.h include.
+
+The next generation of C compilers is going to enforce the C standard
+more strictly:
+
+ https://wiki.gentoo.org/wiki/Modern_C_porting
+
+One warning that will eventually become an error is
+-Wimplicit-function-declaration. This is relatively easy to catch in
+most code (it will fail to compile), but inside of autoconf tests it
+can go unnoticed because many feature-test compilations fail by
+design. For example,
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]],
+ [[iconv_ccs_init(NULL, NULL);]])]...
+
+is designed to fail if iconv_ccs_init() is not in iconv.h. On the
+other hand,
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <iconv.h>
+ int main() {
+ printf("%d", _libiconv_version);
+ return 0;
+ }
+
+should pass if _libiconv_version is defined. If the user has
+-Werror=implicit-function-declaration in his CFLAGS, however,
+it will not:
+
+ $ export CFLAGS="$CFLAGS -Werror=implicit-function-declaration"
+ $ ./configure
+ ...
+ checking if using GNU libiconv... no
+
+This is because the stdio.h header that defines printf() is missing:
+
+ conftest.c:240:3: error: implicit declaration of function 'printf'
+ [-Werror=implicit-function-declaration]
+ 240 | printf("%d", _libiconv_version);
+ | ^~~~~~
+ conftest.c:239:1: note: include '<stdio.h>' or provide a declaration
+ of 'printf'
+
+This commit adds the include, correcting the test with any compiler
+that balks at implicit function definitions.
+
+(Backport to php-8.1.27)
+
+Closes GH-10751
+---
+ ext/iconv/config.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
+index ac57c81e..b8044bf2 100644
+--- a/ext/iconv/config.m4
++++ b/ext/iconv/config.m4
+@@ -30,6 +30,7 @@ if test "$PHP_ICONV" != "no"; then
+ AC_MSG_CHECKING([if using GNU libiconv])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <iconv.h>
++#include <stdio.h>
+ int main() {
+ printf("%d", _libiconv_version);
+ return 0;
+--
+2.43.0
+
diff --git a/dev-lang/php/php-8.1.27-r1.ebuild b/dev-lang/php/php-8.1.27-r2.ebuild
similarity index 99%
rename from dev-lang/php/php-8.1.27-r1.ebuild
rename to dev-lang/php/php-8.1.27-r2.ebuild
index ee3853ec5893..38bbbc21e31c 100644
--- a/dev-lang/php/php-8.1.27-r1.ebuild
+++ b/dev-lang/php/php-8.1.27-r2.ebuild
@@ -149,6 +149,7 @@ PATCHES=(
"${FILESDIR}/php-iodbc-header-location.patch"
"${FILESDIR}/php-capstone-optional.patch"
"${FILESDIR}/php-8.1.27-gcc14-libxml.patch"
+ "${FILESDIR}/php-8.1.27-implicit-decls.patch"
)
# ARM/Windows functions that are expected to be undefined.
@@ -158,6 +159,12 @@ QA_CONFIG_IMPL_DECL_SKIP=(
_controlfp_s
)
+# Functions from alternate iconv implementations (bug 925268)
+QA_CONFIG_IMPL_DECL_SKIP+=(
+ iconv_ccs_init
+ cstoccsid
+)
+
php_install_ini() {
local phpsapi="${1}"
next reply other threads:[~2024-03-04 17:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-04 17:00 Michael Orlitzky [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-07-10 14:50 [gentoo-commits] repo/gentoo:master commit in: dev-lang/php/files/, dev-lang/php/ Michael Orlitzky
2024-04-09 13:51 Michael Orlitzky
2024-02-18 23:54 Michael Orlitzky
2023-05-05 13:18 Brian Evans
2023-01-05 21:30 Brian Evans
2022-04-05 19:03 Brian Evans
2021-03-25 15:56 Brian Evans
2021-02-25 19:23 Brian Evans
2020-12-23 0:39 Thomas Deutschmann
2020-12-03 20:48 Thomas Deutschmann
2019-02-11 14:21 Brian Evans
2019-02-06 18:26 Thomas Deutschmann
2018-12-07 1:16 Thomas Deutschmann
2018-12-07 0:41 Thomas Deutschmann
2018-12-06 23:20 Thomas Deutschmann
2018-05-04 21:03 Brian Evans
2018-04-30 0:16 Aaron Bauman
2018-04-27 2:21 Brian Evans
2016-09-30 15:07 Michael Orlitzky
2015-11-02 23:37 Michael Orlitzky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1709570947.65a1a144e66496d746998a54d2c5ad7cf53252cb.mjo@gentoo \
--to=mjo@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox