ports/169179: [maintainer-update] Patch to fix games/netrek-client-cow build using CLANG

Kevin Zheng kevinz5000 at gmail.com
Sun Jun 17 16:30:14 UTC 2012


>Number:         169179
>Category:       ports
>Synopsis:       [maintainer-update] Patch to fix games/netrek-client-cow build using CLANG
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 17 16:30:13 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Kevin Zheng
>Release:        9.0-RELEASE
>Organization:
>Environment:
FreeBSD sigma.local 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 01:47:53 UTC 2012     root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
FreeBSD is now moving to the CLANG/LLVM compiler architecture. Ports should be built with CLANG without errors, and ports that fail are buggy.

A source file contained in games/netrek-client-cow makes incorrect use of inline functions. This wasn't a problem for GCC, but turned out to be a problem for CLANG.
>How-To-Repeat:
Append the following to /etc/make.conf:
CC=clang
CXX=clang++
CPP=clang-cpp

Try to build games/netrek-client-cow (it won't work).
>Fix:
Apply the attached patch to games/netrek-client-cow.

Patch attached with submission follows:

diff -ruN /usr/ports/games/netrek-client-cow/files/patch-local.c netrek-client-cow/files/patch-local.c
--- /usr/ports/games/netrek-client-cow/files/patch-local.c	1969-12-31 18:00:00.000000000 -0600
+++ netrek-client-cow/files/patch-local.c	2012-06-17 11:17:47.000000000 -0500
@@ -0,0 +1,20 @@
+--- ./local.c.orig	2012-06-17 10:02:41.000000000 -0500
++++ ./local.c	2012-06-17 10:03:00.000000000 -0500
+@@ -1292,7 +1292,7 @@
+ }
+ 
+ 
+-inline void local(void)
++extern void local(void)
+ /*
+  * Draw out the 'tactical' map
+  */
+@@ -1310,7 +1310,7 @@
+ }
+ 
+ 
+-inline void clearLocal(void)
++extern void clearLocal(void)
+ /*
+  * Clear the local map (intelligently rather than just simply wiping
+  * the map).
diff -ruN /usr/ports/games/netrek-client-cow/files/patch-local.h netrek-client-cow/files/patch-local.h
--- /usr/ports/games/netrek-client-cow/files/patch-local.h	1969-12-31 18:00:00.000000000 -0600
+++ netrek-client-cow/files/patch-local.h	2012-06-17 11:17:47.000000000 -0500
@@ -0,0 +1,18 @@
+--- ./local.h.orig	2012-06-17 10:02:37.000000000 -0500
++++ ./local.h	2012-06-17 10:02:50.000000000 -0500
+@@ -17,13 +17,13 @@
+ 
+ /* Global Functions */
+  
+-inline void clearLocal(void);
++extern void clearLocal(void);
+ /*
+    Clear the local map (intelligently rather than just simply wiping
+    the map).
+ */
+ 
+-inline void local(void);
++extern void local(void);
+ /*
+    Draw out the 'tactical' map.
+ */


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



More information about the freebsd-ports-bugs mailing list