commit:     b977ded145274778cec27e8492f44bc1c50407cf
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr  9 14:43:28 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr  9 14:46:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b977ded1

dev-util/gperf: backport upstream fixes, especially for -Wundef

Backport two fixes:
* -Wundef with C++ which fixes kcodecs (KF5)
* Test fix (didn't affect us but maybe could with Clang or something, harmless
  so let's pull it in)

Closes: https://github.com/gentoo/gentoo/pull/41501
Closes: https://bugs.gentoo.org/953407
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/gperf/Manifest                    |  1 +
 dev-util/gperf/files/gperf-3.2-tests.patch | 46 ++++++++++++++++++++++++++++++
 dev-util/gperf/gperf-3.2-r1.ebuild         | 30 +++++++++++++++++++
 3 files changed, 77 insertions(+)

diff --git a/dev-util/gperf/Manifest b/dev-util/gperf/Manifest
index ab8f7d11379e..3f3da6166c83 100644
--- a/dev-util/gperf/Manifest
+++ b/dev-util/gperf/Manifest
@@ -1,2 +1,3 @@
 DIST gperf-3.1.tar.gz 1215925 BLAKE2B 
bc4c54ade3f7dce484714d77cb5759dcc02b7a607d7b1aff6bdbcd06ee4c83e9449038a7217d5f25bcbef058ba56e1fce9383b9599de005154e5a9b566ac9c69
 SHA512 
855ebce5ff36753238a44f14c95be7afdc3990b085960345ca2caf1a2db884f7db74d406ce9eec2f4a52abb8a063d4ed000a36b317c9a353ef4e25e2cca9a3f4
+DIST gperf-3.2-c++.patch.xz 2096 BLAKE2B 
acaf0d685434afe6eb5dc2cabc507b2ebff182af65d7297a4526af547280ab49ea030edca79500414420d590e4ba1493ad061a9018a48421243276228636164b
 SHA512 
dd405440790fd30f4cf36f1be735900fc7b6850e5477f74482d24bd7c1ce9dbe3f795158c44901cff407e51bcba669be3798efa853ca182b796be5ff77db34d4
 DIST gperf-3.2.tar.gz 1268603 BLAKE2B 
6c90d665ff6b7f07862668b250ce06c5df386e6c746398ecb7d40912ed1ca820455addb9ecd17650925b6ef7cd2ff00b8ed9174e55da16a410f84d87b244e8f8
 SHA512 
97addf85e5b6f801f0f7084ec065d0d4a24a07f3fb6e60e2bc57b0f8813bd5db1bb4bed4f51fb96d0a8b278ffde1dfd0e42302cae911a619b95cc3cc46254fb3

diff --git a/dev-util/gperf/files/gperf-3.2-tests.patch 
b/dev-util/gperf/files/gperf-3.2-tests.patch
new file mode 100644
index 000000000000..191b8216f66c
--- /dev/null
+++ b/dev-util/gperf/files/gperf-3.2-tests.patch
@@ -0,0 +1,46 @@
+https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=1a8e476f99335ad5a553f24f1956a084fc6adc10
+
+From 1a8e476f99335ad5a553f24f1956a084fc6adc10 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <[email protected]>
+Date: Wed, 9 Apr 2025 13:10:17 +0200
+Subject: [PATCH] Fix "make check" failure with an ISO C 23 conforming C
+ compiler.
+
+Prompted by
+<https://lists.gnu.org/archive/html/bug-gperf/2025-04/msg00002.html>.
+
+* tests/smtp.gperf (my_case_strcmp, main): Convert from K&R C syntax
+to ISO C 90 syntax.
+---
+ ChangeLog        | 8 ++++++++
+ tests/smtp.gperf | 8 ++------
+ 2 files changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/tests/smtp.gperf b/tests/smtp.gperf
+index da6ec7d..a5c448d 100644
+--- a/tests/smtp.gperf
++++ b/tests/smtp.gperf
+@@ -124,9 +124,7 @@ Xref
+ #include <ctype.h>
+ 
+ static int
+-my_case_strcmp (s1, s2)
+-     register const char *s1;
+-     register const char *s2;
++my_case_strcmp (const char *s1, const char *s2)
+ {
+   for (;;)
+     {
+@@ -143,9 +141,7 @@ my_case_strcmp (s1, s2)
+ }
+ 
+ int
+-main (argc, argv)
+-     int argc;
+-     char *argv[];
++main (int argc, char *argv[])
+ {
+   int i, j, k, n, exitcode;
+   size_t len;
+-- 
+2.17.1

diff --git a/dev-util/gperf/gperf-3.2-r1.ebuild 
b/dev-util/gperf/gperf-3.2-r1.ebuild
new file mode 100644
index 000000000000..c1857b2012db
--- /dev/null
+++ b/dev-util/gperf/gperf-3.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A perfect hash function generator"
+HOMEPAGE="https://www.gnu.org/software/gperf/";
+SRC_URI="mirror://gnu/gperf/${P}.tar.gz"
+SRC_URI+=" 
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-c++.patch.xz";
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos 
~x64-macos ~x64-solaris"
+
+PATCHES=(
+       "${WORKDIR}"/${P}-c++.patch
+       "${FILESDIR}"/${P}-tests.patch
+)
+
+src_prepare() {
+       default
+
+       sed -i \
+               -e "/^CPPFLAGS /s:=:+=:" \
+               */Makefile.in || die #444078
+}
+
+src_configure() {
+       econf --cache-file="${S}"/config.cache
+}

Reply via email to