dev-perl/IO-Tty: fix build on musl (w/ Clang 15)

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2022-09-13 15:37:23 +01:00
parent c2e54a0002
commit 69dc5fd6b2
2 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=TODDR
DIST_VERSION=1.16
inherit perl-module
DESCRIPTION="IO::Tty and IO::Pty modules for Perl"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
PATCHES=(
"${FILESDIR}"/${PN}-1.160.0-musl-strlcpy.patch
)

View File

@@ -0,0 +1,38 @@
https://github.com/toddr/IO-Tty/pull/33
From fae771aefc593a0ef798bc0c1e21b0524eb85e2d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 31 Aug 2022 20:32:35 -0700
Subject: [PATCH] Tty.xs: Do not mark strlcpy as static
Some libcs e.g. musl do not provide implementation of strlcpy but they
do provide the signature in string.h, if we mark it static here then it
conflicts with the libc define and compiler may warn/error
Fixes
Tty.xs:190:1: error: static declaration of 'strlcpy' follows non-static declaration
strlcpy( ^
/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libio-pty-perl/1.16-r0/recipe-sysroot/usr/include/string.h:86:8: note: previous declaration is here
size_t strlcpy (char *, const char *, size_t); ^
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/Tty.xs
+++ b/Tty.xs
@@ -186,11 +186,11 @@ mysignal(int sig, mysig_t act)
* will be copied. Always NUL terminates (unless siz == 0).
* Returns strlen(src); if retval >= siz, truncation occurred.
*/
-static size_t
-strlcpy(dst, src, siz)
- char *dst;
- const char *src;
- size_t siz;
+size_t
+strlcpy(
+ char *dst,
+ const char *src,
+ size_t siz)
{
register char *d = dst;
register const char *s = src;