mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-05 14:07:27 -08:00
dev-util/fuzz: fix compilation on musl
Missing include for string.h, glibc transitively included strcmp Removed different getopt definition for non-glibc situation: we are all living in POSIX-land (Somewhat. Hopefully. Mostly.) and definitions for getopt are the same on musl and glibc. Closes: https://bugs.gentoo.org/944111 Closes: https://bugs.gentoo.org/934059 Signed-off-by: NHOrus <jy6x2b32pie9@yahoo.com> Closes: https://github.com/gentoo/gentoo/pull/40514 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
c15b3ff1a5
commit
1d042be2d8
34
dev-util/fuzz/files/fuzz-0.6-musl.patch
Normal file
34
dev-util/fuzz/files/fuzz-0.6-musl.patch
Normal file
@ -0,0 +1,34 @@
|
||||
Fix missing include on musl, as strcmp is not transitively included
|
||||
Remove arg-less declaration for non-glibc case: we have POSIX here,
|
||||
getopt has same prototype in glibc and in musl
|
||||
https://bugs.gentoo.org/934059
|
||||
https://bugs.gentoo.org/944111
|
||||
--- a/getopt.c
|
||||
+++ b/getopt.c
|
||||
@@ -43,6 +43,7 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
+#include <string.h>
|
||||
|
||||
/* Comment out all this code if we are using the GNU C Library, and are not
|
||||
actually compiling the library itself. This code is part of the GNU C
|
||||
--- a/getopt.h
|
||||
+++ b/getopt.h
|
||||
@@ -99,14 +99,12 @@
|
||||
#define optional_argument 2
|
||||
|
||||
#if defined (__STDC__) && __STDC__
|
||||
-#ifdef __GNU_LIBRARY__
|
||||
/* Many other libraries have conflicting prototypes for getopt, with
|
||||
differences in the consts, in stdlib.h. To avoid compilation
|
||||
errors, only prototype getopt for the GNU C library. */
|
||||
+/* But in Gentoo we have glibc and musl, and they have same POSIX
|
||||
+ definition */
|
||||
extern int getopt (int argc, char *const *argv, const char *shortopts);
|
||||
-#else /* not __GNU_LIBRARY__ */
|
||||
-extern int getopt ();
|
||||
-#endif /* __GNU_LIBRARY__ */
|
||||
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
|
||||
const struct option *longopts, int *longind);
|
||||
extern int getopt_long_only (int argc, char *const *argv,
|
||||
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -21,7 +21,10 @@ KEYWORDS="~amd64 ~x86"
|
||||
DEPEND="sys-libs/readline:="
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/${DEB_P}-${DEB_PR}.diff )
|
||||
PATCHES=(
|
||||
"${WORKDIR}"/"${DEB_P}-${DEB_PR}.diff"
|
||||
"${FILESDIR}"/"${P}-musl.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
Loading…
x
Reference in New Issue
Block a user