Skip site navigation (1)Skip section navigation (2)
Date:      Tue,  2 Oct 2007 17:46:02 +0200 (CEST)
From:      Martin Wilke <miwi@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        jre@vineyard.net
Subject:   ports/116831: [PATCH] games/heroes: Fix build with gcc 4.2
Message-ID:  <20071002154602.E5D4F2E114@miwi.homeunix.com>
Resent-Message-ID: <200710021550.l92Fo8kt077965@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         116831
>Category:       ports
>Synopsis:       [PATCH] games/heroes: Fix build with gcc 4.2
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 02 15:50:08 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Martin Wilke
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD miwi.homeunix.com 7.0-CURRENT FreeBSD 7.0-CURRENT #305: Fri Sep 28 12:07:59 CEST 2007
>Description:
- Unbreak
- Fix Build with gcc4.2

Tindy tested:
i386
http://head.miwibox.org/tb/index.php?action=describe_port&id=2163
amd64
http://amd64.miwibox.org/tb/index.php?action=describe_port&id=1604


Added file(s):
- files/patch-src_hedlite.c

Port maintainer (jre@vineyard.net) is cc'd.

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- heroes-0.21_8.patch begins here ---
Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/games/heroes/Makefile,v
retrieving revision 1.30
diff -u -u -r1.30 Makefile
--- Makefile	2 Oct 2007 10:22:10 -0000	1.30
+++ Makefile	2 Oct 2007 14:31:36 -0000
@@ -80,10 +80,4 @@
 	${MKDIR} ${DATADIR}/mod
 	${INSTALL_DATA} ${MUSICSRC}/*.xm ${MUSICSRC}/sound.conf ${DATADIR}/mod
 
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 700042
-BROKEN=		Does not compile with GCC 4.2
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Index: files/patch-src_hedlite.c
===================================================================
RCS file: files/patch-src_hedlite.c
diff -N files/patch-src_hedlite.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-src_hedlite.c	2 Oct 2007 14:34:34 -0000
@@ -0,0 +1,184 @@
+--- src/hedlite.c.orig	2002-02-06 22:49:44.000000000 +0100
++++ src/hedlite.c	2007-10-02 16:33:06.000000000 +0200
+@@ -45,7 +45,7 @@
+ #include "dirname.h"
+ 
+ static a_pcx_image heditrsc;
+-static a_pcx_image tile_set_img;
++static a_pcx_image tile_set_img_local;
+ 
+ unsigned short int xdalles = 0;
+ unsigned short int ydalles = 0;
+@@ -144,9 +144,9 @@
+ static void
+ copy_tile (int src_, a_pixel *dest)
+ {
+-  int i = tile_set_img.width;
++  int i = tile_set_img_local.width;
+   int j;
+-  a_pixel *src = tile_set_img.buffer + src_;
++  a_pixel *src = tile_set_img_local.buffer + src_;
+   for (j = 20; j > 0; j--) {
+     fastmem4 (src, dest, 24 >> 2);
+     src += i;
+@@ -157,9 +157,9 @@
+ static void
+ copy_tile_pcx (int src_, a_pixel *dest)
+ {
+-  int i = tile_set_img.width;
++  int i = tile_set_img_local.width;
+   int j;
+-  a_pixel *src = tile_set_img.buffer + src_;
++  a_pixel *src = tile_set_img_local.buffer + src_;
+   for (j = 20; j > 0; j--) {
+     fastmem4 (src, dest, 24 >> 2);
+     src += i;
+@@ -170,9 +170,9 @@
+ static void
+ copy_tile_transp (int src_, a_pixel *dest)
+ {
+-  int i = tile_set_img.width;
++  int i = tile_set_img_local.width;
+   int j, k;
+-  a_pixel *src = tile_set_img.buffer + src_;
++  a_pixel *src = tile_set_img_local.buffer + src_;
+   for (j = 20; j > 0; j--) {
+     for (k = 24; k > 0; k--) {
+       if (*src != 0)
+@@ -188,9 +188,9 @@
+ static void
+ copy_tile_transp_pcx (int src_, a_pixel *dest)
+ {
+-  int i = tile_set_img.width;
++  int i = tile_set_img_local.width;
+   int j, k;
+-  a_pixel *src = tile_set_img.buffer + src_;
++  a_pixel *src = tile_set_img_local.buffer + src_;
+   for (j = 20; j > 0; j--) {
+     for (k = 24; k > 0; k--) {
+       if (*src != 0)
+@@ -555,7 +555,7 @@
+ static void
+ update_middle_panel (void)
+ {
+-  rectangle_copy (xdalles, 0, 144, 200, 145, 0, &tile_set_img);
++  rectangle_copy (xdalles, 0, 144, 200, 145, 0, &tile_set_img_local);
+   frame (145 + xdallesdec, ydalles, 23, 19, 15);
+   rectangle_copy (0, 64, 30, 6, 290, 64, &heditrsc);
+   sprintf (nombre, "%u", (xdalles + xdallesdec) / 24);
+@@ -670,7 +670,7 @@
+ curdalled (void)
+ {
+   int i =
+-    (xdalles + xdallesdec) / 24 + (ydalles / 20) * (tile_set_img.width / 24);
++    (xdalles + xdallesdec) / 24 + (ydalles / 20) * (tile_set_img_local.width / 24);
+   return i;
+ }
+ 
+@@ -894,7 +894,7 @@
+   free (tempc);
+   putc (0xC, fpcx);
+   for (i1 = 0; i1 < 768; i1++)
+-    putc (tile_set_img.palette.global[i1] << 2, fpcx);
++    putc (tile_set_img_local.palette.global[i1] << 2, fpcx);
+   fclose (fpcx);
+ }
+ 
+@@ -1225,7 +1225,7 @@
+     }
+   } else if (i == HK_End) {
+     if (mod & HK_MOD_Ctrl) {
+-      xdalles = (tile_set_img.width / 24) * 24 - 144;
++      xdalles = (tile_set_img_local.width / 24) * 24 - 144;
+       update_middle_panel ();
+     }
+   } else if (i == HK_PageDown) {
+@@ -1250,7 +1250,7 @@
+     }
+   } else if (i == HK_Right) {
+     if (mod & HK_MOD_Ctrl) {
+-      if (xdalles + 168U < tile_set_img.width) {
++      if (xdalles + 168U < tile_set_img_local.width) {
+ 	xdalles += 24;
+ 	update_middle_panel ();
+       } else if (xdallesdec < 120) {
+@@ -1337,7 +1337,7 @@
+   } else if (i == HK_Space) {
+     j = curdallep ();
+     level_map[j].number =
+-      xdalles + xdallesdec + ydalles * (tile_set_img.width);
++      xdalles + xdallesdec + ydalles * (tile_set_img_local.width);
+     level_map[j].type = ddef[curdalled ()].type;
+     level_map[j].info = ddef[curdalled ()].info;
+     gestclav (HK_i, HK_MOD_None);
+@@ -1351,9 +1351,9 @@
+       level_map[j].collision[3] = 0;
+     }
+     for (j = hplaninfo.xt * hplaninfo.yt - 1; j >= 0; j--) {
+-      k = (((level_map[j].number % tile_set_img.width) / 24) +
+-	   (level_map[j].number / (tile_set_img.width * 20)) *
+-	   (tile_set_img.width / 24));
++      k = (((level_map[j].number % tile_set_img_local.width) / 24) +
++	   (level_map[j].number / (tile_set_img_local.width * 20)) *
++	   (tile_set_img_local.width / 24));
+       level_map[j].type = ddef[k].type;
+       if (level_map[j].type != t_tunnel) {
+ 	if (level_map[j].type == t_anim || i == 0x1749)
+@@ -1404,7 +1404,7 @@
+     if (mod & HK_MOD_Ctrl) {
+       for (j = hplaninfo.xt * hplaninfo.yt - 1; j >= 0; j--) {
+ 	level_map[j].number = xdalles + xdallesdec +
+-	  ydalles * (tile_set_img.width);
++	  ydalles * (tile_set_img_local.width);
+ 	level_map[j].type = ddef[curdalled ()].type;
+ 	level_map[j].info = ddef[curdalled ()].info;
+       }
+@@ -1414,7 +1414,7 @@
+ 
+ 	level_map[j].number =
+ 	  (((j % hplaninfo.xt) + (j / hplaninfo.xt)) & 1) * 20 *
+-	  tile_set_img.width;
++	  tile_set_img_local.width;
+       update_left_panel ();
+     }
+   } else if (i == HK_F3) {
+@@ -1427,7 +1427,7 @@
+     if (level_map[curdallep ()].sprite == 0)
+ 
+       level_map[curdallep ()].sprite =
+-	(short int) (xdalles + xdallesdec + ydalles * (tile_set_img.width));
++	(short int) (xdalles + xdallesdec + ydalles * (tile_set_img_local.width));
+     else
+       level_map[curdallep ()].sprite = 0;
+     update_left_panel ();
+@@ -1707,17 +1707,17 @@
+ 				   hplaninfo.tile_set_name), ".pie");
+ 
+   pcx_load_from_rsc ("editor-img", &heditrsc);
+-  pcx_load (tile_set_name, &tile_set_img);
++  pcx_load (tile_set_name, &tile_set_img_local);
+ 
+   /* read the tileset definition */
+-  XCALLOC_ARRAY (ddef, (tile_set_img.width / 24) * 10);
++  XCALLOC_ARRAY (ddef, (tile_set_img_local.width / 24) * 10);
+   if (!((ftmp = fopen (dallepie, "rb")) == NULL))
+-    fread (ddef, sizeof (a_tile_info), (tile_set_img.width / 24) * 10, ftmp);
++    fread (ddef, sizeof (a_tile_info), (tile_set_img_local.width / 24) * 10, ftmp);
+   fclose (ftmp);
+ 
+   outwayinit ();
+   XCALLOC_ARRAY (hedit_buffer, xbuf * 200);
+-  set_pal (tile_set_img.palette.global, 0, 256 * 3);
++  set_pal (tile_set_img_local.palette.global, 0, 256 * 3);
+   rectangle_copy (0, 0, 30, 200, 290, 0, &heditrsc);
+   strupr (levelnomshort);
+   draw_text (levelnomshort, 305, 29, 8, 1);
+@@ -1767,7 +1767,7 @@
+     free (ddef);
+     free (level_map);
+     img_free (&heditrsc);
+-    img_free (&tile_set_img);
++    img_free (&tile_set_img_local);
+   }
+ 
+   free (dallepie);
--- heroes-0.21_8.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071002154602.E5D4F2E114>