git: 7b672c1318c0 - main - games/qudos: try to unbreak the port's build against Clang 16

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Sat, 08 Jul 2023 19:07:02 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7b672c1318c098a6594315efc151fd1e4f370b32

commit 7b672c1318c098a6594315efc151fd1e4f370b32
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2023-07-08 19:05:14 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2023-07-08 19:05:14 +0000

    games/qudos: try to unbreak the port's build against Clang 16
    
    While here, remove compiler flags `-fomit-frame-pointer' and
    `-funroll-loops': the effect of the former is minuscule these
    days (but it still breaks debugging) and for the latter, one
    should let the [modern] compiler decide which loops to unroll
    and when; forcing it will most likely yield larger and slower
    code due to instruction cache misses.
    
    Last but not least, make some private functions in the OpenGL
    renderer static and define LICENSE (GPLv2 or later).
    
    Reported by:    pkg-fallout
---
 games/qudos/Makefile                            |  7 +-
 games/qudos/files/patch-Makefile                |  2 +-
 games/qudos/files/patch-src__ref_gl__gl_local.h | 17 ++++-
 games/qudos/files/patch-src_ref__gl_gl__image.c | 90 +++++++++++++++++++++++++
 4 files changed, 108 insertions(+), 8 deletions(-)

diff --git a/games/qudos/Makefile b/games/qudos/Makefile
index afb1b53fafb6..7068871234ea 100644
--- a/games/qudos/Makefile
+++ b/games/qudos/Makefile
@@ -11,6 +11,8 @@ EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 MAINTAINER=	danfe@FreeBSD.org
 COMMENT=	Enhanced OpenGL-only Quake II engine
 
+LICENSE=	GPLv2+
+
 USES=		gmake tar:bzip2
 MAKE_ENV=	WITH_DATADIR=YES WITH_LIBDIR=YES WITH_XMMS=NO \
 		DATADIR="${Q2DIR}" LIBDIR="${LIBDIR}" BUILD_ARTS_SND=NO
@@ -169,11 +171,6 @@ MAKE_ENV+=	WITH_X86_ASM=YES
 MAKE_ENV+=	WITH_X86_ASM=NO
 .endif
 
-post-patch:
-# Resolve name collision with jpeg-8
-	@${REINPLACE_CMD} -e 's|jpeg_mem_src|local_jpeg_mem_src|' \
-		${WRKSRC}/src/ref_gl/gl_image.c
-
 post-build:
 .for bin in ${Q2BIN}
 	@cd ${WRKSRC}/quake2 && ${MV} ${bin:S/qudos/QuDos/} ${bin}
diff --git a/games/qudos/files/patch-Makefile b/games/qudos/files/patch-Makefile
index f6c6589ff280..a0681e694af3 100644
--- a/games/qudos/files/patch-Makefile
+++ b/games/qudos/files/patch-Makefile
@@ -6,7 +6,7 @@
    else
 -CFLAGS+=	-O3 -ffast-math -funroll-loops -fomit-frame-pointer \
 -		-fexpensive-optimizations
-+CFLAGS+=	-fcommon -ffast-math -funroll-loops -fomit-frame-pointer
++CFLAGS+=	-fcommon -ffast-math -Wno-incompatible-function-pointer-types
      ifeq ($(ARCH),i386)
 -CFLAGS+=	-falign-loops=2 -falign-jumps=2 -falign-functions=2 \
 +CFLAGS+=	-falign-functions=2 \
diff --git a/games/qudos/files/patch-src__ref_gl__gl_local.h b/games/qudos/files/patch-src__ref_gl__gl_local.h
index aa9dce66ef0d..4b6e34a4bfda 100644
--- a/games/qudos/files/patch-src__ref_gl__gl_local.h
+++ b/games/qudos/files/patch-src__ref_gl__gl_local.h
@@ -1,5 +1,5 @@
---- src/ref_gl/gl_local.h.orig	2006-06-10 12:22:27.000000000 +0200
-+++ src/ref_gl/gl_local.h	2012-04-25 06:13:42.000000000 +0200
+--- src/ref_gl/gl_local.h.orig	2006-06-10 10:22:27 UTC
++++ src/ref_gl/gl_local.h
 @@ -30,6 +30,7 @@
  #include <GL/glext.h>
  
@@ -8,3 +8,16 @@
  #include <jpeglib.h>
  
  #include "../client/ref.h"
+@@ -480,12 +481,6 @@ int		Draw_GetPalette(void);
+ void		GL_ResampleTexture(unsigned *in, int inwidth, int inheight, unsigned *out, int outwidth, int outheight);
+ 
+ struct image_s *R_RegisterSkin(char *name);
+-
+-void		LoadPCX   (char *filename, byte ** pic, byte ** palette, int *width, int *height);
+-void		LoadTGA   (char *filename, byte ** pic, int *width, int *height);
+-void		LoadJPG   (char *filename, byte ** pic, int *width, int *height);
+-void		LoadPNG   (char *filename, byte ** pic, int *width, int *height);
+-
+ 
+ image_t        *GL_LoadPic(char *name, byte * pic, int width, int height, imagetype_t type, int bits);
+ image_t        *GL_FindImage(char *name, imagetype_t type);
diff --git a/games/qudos/files/patch-src_ref__gl_gl__image.c b/games/qudos/files/patch-src_ref__gl_gl__image.c
new file mode 100644
index 000000000000..74a9cf4f8777
--- /dev/null
+++ b/games/qudos/files/patch-src_ref__gl_gl__image.c
@@ -0,0 +1,90 @@
+--- src/ref_gl/gl_image.c.orig	2006-06-02 18:14:31 UTC
++++ src/ref_gl/gl_image.c
+@@ -477,7 +477,7 @@ Scrap_Upload(void)
+ /*
+  * ============== LoadPCX ==============
+  */
+-void
++static void
+ LoadPCX(char *filename, byte ** pic, byte ** palette, int *width, int *height)
+ {
+ 	byte           *raw;
+@@ -602,7 +602,7 @@ typedef struct _TargaHeader {
+  * ============= LoadTGA NiceAss: LoadTGA() from Q2Ice, it supports more
+  * formats =============
+  */
+-void
++static void
+ LoadTGA(char *filename, byte ** pic, int *width, int *height)
+ {
+ 	int		w, h, x, y, i, temp1, temp2;
+@@ -888,19 +888,19 @@ LoadTGA(char *filename, byte ** pic, int *width, int *
+  * =================================================================
+  */
+ 
+-void
++static void
+ jpg_null(j_decompress_ptr cinfo)
+ {
+ }
+ 
+-boolean
++static boolean
+ jpg_fill_input_buffer(j_decompress_ptr cinfo)
+ {
+ 	ri.Con_Printf(PRINT_ALL, "Premature end of JPEG data\n");
+ 	return 1;
+ }
+ 
+-void
++static void
+ jpg_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
+ {
+ 
+@@ -911,8 +911,8 @@ jpg_skip_input_data(j_decompress_ptr cinfo, long num_b
+ 		ri.Con_Printf(PRINT_ALL, "Premature end of JPEG data\n");
+ }
+ 
+-void
+-jpeg_mem_src(j_decompress_ptr cinfo, byte * mem, int len)
++static void
++local_jpeg_mem_src(j_decompress_ptr cinfo, byte *mem, int len)
+ {
+ 	cinfo->src = (struct jpeg_source_mgr *)(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, sizeof(struct jpeg_source_mgr));
+ 	cinfo->src->init_source = jpg_null;
+@@ -927,7 +927,7 @@ jpeg_mem_src(j_decompress_ptr cinfo, byte * mem, int l
+ /*
+  * ============== LoadJPG ==============
+  */
+-void
++static void
+ LoadJPG(char *filename, byte ** pic, int *width, int *height)
+ {
+ 	struct jpeg_decompress_struct cinfo;
+@@ -956,7 +956,7 @@ LoadJPG(char *filename, byte ** pic, int *width, int *
+ 	jpeg_create_decompress(&cinfo);
+ 
+ 	/* Feed JPEG memory into the libJpeg Object */
+-	jpeg_mem_src(&cinfo, rawdata, rawsize);
++	local_jpeg_mem_src(&cinfo, rawdata, rawsize);
+ 
+ 	/* Process JPEG header */
+ 	jpeg_read_header(&cinfo, true);
+@@ -1139,7 +1139,7 @@ fReadData(png_structp png, png_bytep data, png_size_t 
+  * =============================================================
+  */
+ 
+-void
++static void
+ LoadPNG(char *filename, byte ** pic, int *width, int *height)
+ {
+ 	png_structp	png;
+@@ -1186,7 +1186,7 @@ LoadPNG(char *filename, byte ** pic, int *width, int *
+ 	if (my_png->ColorType == PNG_COLOR_TYPE_PALETTE)
+ 		png_set_palette_to_rgb(png);
+ 	if (my_png->ColorType == PNG_COLOR_TYPE_GRAY && my_png->BitDepth < 8)
+-		png_set_gray_1_2_4_to_8(png);
++		png_set_expand_gray_1_2_4_to_8(png);
+ 
+ 	/* Add alpha channel if present */
+ 	if (png_get_valid(png, pnginfo, PNG_INFO_tRNS))