1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

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
This commit is contained in:
Alexey Dokuchaev 2023-07-08 19:05:14 +00:00
parent a8300c45aa
commit 7b672c1318
4 changed files with 108 additions and 8 deletions

View File

@ -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}

View File

@ -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 \

View File

@ -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);

View File

@ -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))