From d6d2de15584d6644d0c831d96ec8d34708638eb9 Mon Sep 17 00:00:00 2001
From: Martin Wilke <miwi@FreeBSD.org>
Date: Tue, 19 Jun 2007 10:23:25 +0000
Subject: - Fix build with gcc4 - Support SUB_FILES

PR:		113768
Submitted by:	KATO Tsuguru <tkato432@yahoo.com>
---
 games/exult/Makefile                                 | 14 ++++++--------
 .../files/patch-audio__midi_drivers__fmopldrv.h      | 11 +++++++++++
 games/exult/files/patch-hash_utils.h                 | 20 ++++++++++++++++++++
 games/exult/files/patch-mouse.h                      | 11 +++++++++++
 .../files/patch-usecode__ucxt__include__ucfunc.h     | 11 +++++++++++
 games/exult/files/pkg-message.in                     |  4 ++++
 games/exult/pkg-message                              |  4 ----
 7 files changed, 63 insertions(+), 12 deletions(-)
 create mode 100644 games/exult/files/patch-audio__midi_drivers__fmopldrv.h
 create mode 100644 games/exult/files/patch-hash_utils.h
 create mode 100644 games/exult/files/patch-mouse.h
 create mode 100644 games/exult/files/patch-usecode__ucxt__include__ucfunc.h
 create mode 100644 games/exult/files/pkg-message.in
 delete mode 100644 games/exult/pkg-message

(limited to 'games/exult')

diff --git a/games/exult/Makefile b/games/exult/Makefile
index 3c41a2bc0edf..78d1c10fcd76 100644
--- a/games/exult/Makefile
+++ b/games/exult/Makefile
@@ -23,27 +23,25 @@ USE_SDL=	sdl mixer
 USE_GMAKE=	yes
 USE_AUTOTOOLS=	libtool:15
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
+		LDFLAGS="-L${LOCALBASE}/lib"
 
 MAN1=	expack.1 ipack.1 shp2pcx.1 splitshp.1 textpack.1
 MAN6=	exult.6
 
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 700042
-BROKEN=		Broken with gcc 4.2
-.endif
+SUB_FILES=	pkg-message
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|desktop||' ${WRKSRC}/Makefile.in
 	@${REINPLACE_CMD} -e 's|/usr/X11R6|${X11BASE}|g' ${WRKSRC}/configure
 
 post-install:
-.ifndef	(NOPORTDOCS)
+.if !defined(NOPORTDOCS)
 	@${MKDIR} ${DOCSDIR}
 .for i in FAQ NEWS README
 	${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR}
 .endfor
 .endif
-	@${SED} -e 's|%%DOCSDIR%%|${DOCSDIR}|' <${PKGMESSAGE}
+	@${CAT} ${PKGMESSAGE}
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/games/exult/files/patch-audio__midi_drivers__fmopldrv.h b/games/exult/files/patch-audio__midi_drivers__fmopldrv.h
new file mode 100644
index 000000000000..8eaa3f98e4b4
--- /dev/null
+++ b/games/exult/files/patch-audio__midi_drivers__fmopldrv.h
@@ -0,0 +1,11 @@
+--- audio/midi_drivers/fmopldrv.h.orig	Wed Aug  7 03:10:31 2002
++++ audio/midi_drivers/fmopldrv.h	Thu Jun 14 01:30:28 2007
+@@ -76,7 +76,7 @@
+ 	/* output a packed midi command to the midi stream
+ 	 * valid only if mode is MO_SIMPLE
+ 	 */
+-	void OplDriver::send(uint32 b);
++	void send(uint32 b);
+ 
+ 	/* retrieve a string representation of an error code */
+ 	static const char *get_error_name(int error_code);
diff --git a/games/exult/files/patch-hash_utils.h b/games/exult/files/patch-hash_utils.h
new file mode 100644
index 000000000000..d71fc657ecad
--- /dev/null
+++ b/games/exult/files/patch-hash_utils.h
@@ -0,0 +1,20 @@
+--- hash_utils.h.orig	Mon Sep  1 02:32:24 2003
++++ hash_utils.h	Thu Jun 14 01:07:42 2007
+@@ -26,7 +26,7 @@
+ #else
+ #if HAVE_EXT_HASH_MAP
+ #  include <ext/hash_map>
+-#  if (defined(__GNUC__) && (__GNUC__ == 3) && ( __GNUC_MINOR__ > 0))
++#  if (defined(__GNUC__) && ((__GNUC__ == 3) && ( __GNUC_MINOR__ > 0) || (__GNUC__ >= 4)))
+ using __gnu_cxx::hash_map;
+ #  else
+ using std::hash_map;
+@@ -44,7 +44,7 @@
+ #else
+ #if HAVE_EXT_HASH_SET
+ #  include <ext/hash_set>
+-#  if (defined(__GNUC__) && (__GNUC__ == 3) && ( __GNUC_MINOR__ > 0))
++#  if (defined(__GNUC__) && ((__GNUC__ == 3) && ( __GNUC_MINOR__ > 0) || (__GNUC__ >= 4)))
+ using __gnu_cxx::hash_set;
+ #  else
+ using std::hash_set;
diff --git a/games/exult/files/patch-mouse.h b/games/exult/files/patch-mouse.h
new file mode 100644
index 000000000000..5e9a0924bbd9
--- /dev/null
+++ b/games/exult/files/patch-mouse.h
@@ -0,0 +1,11 @@
+--- mouse.h.orig	Mon Sep  1 02:32:24 2003
++++ mouse.h	Thu Jun 14 01:28:55 2007
+@@ -27,6 +27,8 @@
+ #include "vgafile.h"
+ #include "glshape.h"
+ 
++class Game_window;
++
+ /*
+  *	Handle custom mouse pointers.
+  */
diff --git a/games/exult/files/patch-usecode__ucxt__include__ucfunc.h b/games/exult/files/patch-usecode__ucxt__include__ucfunc.h
new file mode 100644
index 000000000000..60a81db4d513
--- /dev/null
+++ b/games/exult/files/patch-usecode__ucxt__include__ucfunc.h
@@ -0,0 +1,11 @@
+--- usecode/ucxt/include/ucfunc.h.orig	Mon Sep  1 02:32:28 2003
++++ usecode/ucxt/include/ucfunc.h	Thu Jun 14 01:41:17 2007
+@@ -206,7 +206,7 @@
+ 		bool output_list(std::ostream &o, unsigned int funcno, const UCOptions &options);
+ 		
+ 		bool output_ucs(std::ostream &o, const FuncMap &funcmap, const std::map<unsigned int, std::string> &intrinsics, const UCOptions &options);
+-		std::ostream &UCFunc::output_ucs_funcname(std::ostream &o, const FuncMap &funcmap);
++		std::ostream &output_ucs_funcname(std::ostream &o, const FuncMap &funcmap);
+ 		std::ostream &output_ucs_funcname(std::ostream &o, const FuncMap &funcmap,
+                                     unsigned int funcid,
+                                     unsigned int numargs, bool return_var);
diff --git a/games/exult/files/pkg-message.in b/games/exult/files/pkg-message.in
new file mode 100644
index 000000000000..d5bbe7da09a2
--- /dev/null
+++ b/games/exult/files/pkg-message.in
@@ -0,0 +1,4 @@
+******************************************************************************
+* Run Exult from directory, containing original Ultima VII data.
+* Please, read %%DOCSDIR%%/README for additional information.
+******************************************************************************
diff --git a/games/exult/pkg-message b/games/exult/pkg-message
deleted file mode 100644
index d5bbe7da09a2..000000000000
--- a/games/exult/pkg-message
+++ /dev/null
@@ -1,4 +0,0 @@
-******************************************************************************
-* Run Exult from directory, containing original Ultima VII data.
-* Please, read %%DOCSDIR%%/README for additional information.
-******************************************************************************
-- 
cgit v1.2.3