white: update to 2.23

Add Alpine Linux patch to fix compilation with GCC15.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev
2025-07-08 17:27:11 -07:00
committed by Tianling Shen
parent 6faa016fba
commit 299cf36de4
2 changed files with 42 additions and 2 deletions

View File

@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=which
PKG_VERSION:=2.21
PKG_VERSION:=2.23
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/which
PKG_HASH:=f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad
PKG_HASH:=a2c558226fc4d9e4ce331bd2fd3c3f17f955115d2c00e447618a4ef9978a2a73
PKG_MAINTAINER:=Huangbin Zhan <zhanhb88@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later

View File

@@ -0,0 +1,40 @@
Patch-Source: https://lists.gnu.org/archive/html/which-bugs/2025-03/msg00000.html
---
From 16a1647fc26953fab659de5f55d4c0defdfb894f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 22 Mar 2025 17:56:19 -0700
Subject: [PATCH] getopt: Fix signature of getenv function
This happens on musl systems using GCC 15
../which-2.21/getopt.h:106:12: error: conflicting types for 'getopt'; have
'int(void)'
106 | extern int getopt ();
| ^~~~~~
---
getopt.c | 2 +-
getopt.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/getopt.c
+++ b/getopt.c
@@ -205,7 +205,7 @@ static char *posixly_correct;
/* Avoid depending on library functions or files
whose names are inconsistent. */
-char *getenv();
+char *getenv(const char*);
static char *my_index(str, chr) const char *str;
int chr;
--- a/getopt.h
+++ b/getopt.h
@@ -102,7 +102,7 @@ struct option {
errors, only prototype getopt for the GNU C library. */
extern int getopt(int argc, char *const *argv, const char *shortopts);
#else /* not __GNU_LIBRARY__ */
-extern int getopt();
+extern int getopt(int, char * const [], const char *);
#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, const char *shortopts, const struct option *longopts,