aboutsummaryrefslogtreecommitdiffstats
path: root/games/exult
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2014-01-16 18:44:21 +0800
committermarino <marino@FreeBSD.org>2014-01-16 18:44:21 +0800
commit7b0b5e55ec042b68e6dfa2a1e502fcf8c51e0cca (patch)
tree4dd10ac18bd5ec79d300dbe818fae4cb7b2c294f /games/exult
parentfc5cb2ba10921dacb7df5d213101e957d740cb93 (diff)
downloadfreebsd-ports-gnome-7b0b5e55ec042b68e6dfa2a1e502fcf8c51e0cca.tar.gz
freebsd-ports-gnome-7b0b5e55ec042b68e6dfa2a1e502fcf8c51e0cca.tar.zst
freebsd-ports-gnome-7b0b5e55ec042b68e6dfa2a1e502fcf8c51e0cca.zip
games/exult: Update to latest 1.5.x snapshot (Unbreaks F10+)
The previous version of Exult, 1.2, is considered ancient by the developers. Morever, it's c++ was horrid, requiring around 3 dozen patches just to build on equally ancient gcc 4.5. Exult has not been released yet, but the snapshots are considered superior even to the last RC release, 1.4.9rc. The C++ code builds without patches on both gcc 4.7 (DragonFly) and clang from F10 (verified by Redports) The Exult Studio was added as an option, it's on by default. I did not add the Mod or usecode compiler. If somebody wants those, they can be added as options as well. While updating, support stage.
Diffstat (limited to 'games/exult')
-rw-r--r--games/exult/Makefile36
-rw-r--r--games/exult/distinfo4
-rw-r--r--games/exult/files/patch-audio__midi_drivers__fmopldrv.h11
-rw-r--r--games/exult/files/patch-files-databuf.h12
-rw-r--r--games/exult/files/patch-files-rwregress.cc12
-rw-r--r--games/exult/files/patch-hash_utils.h20
-rw-r--r--games/exult/files/patch-mouse.h11
-rw-r--r--games/exult/files/patch-usecode-useval.cc20
-rw-r--r--games/exult/files/patch-usecode__ucxt__include__ucfunc.h11
-rw-r--r--games/exult/files/pkg-message.in2
-rw-r--r--games/exult/pkg-descr4
-rw-r--r--games/exult/pkg-plist44
12 files changed, 60 insertions, 127 deletions
diff --git a/games/exult/Makefile b/games/exult/Makefile
index 15a9bb2b760a..edb2cd50a340 100644
--- a/games/exult/Makefile
+++ b/games/exult/Makefile
@@ -2,44 +2,48 @@
# $FreeBSD$
PORTNAME= exult
-PORTVERSION= 1.2
-PORTREVISION= 6
+PORTVERSION= 1.5.0.20130315
CATEGORIES= games
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-all-versions/${PORTVERSION}
+MASTER_SITES= http://www.math.leidenuniv.nl/~wpalenst/cvs/
+DISTNAME= exult-20130315-0400
MAINTAINER= ports@FreeBSD.org
COMMENT= Ultima VII engine
+LICENSE= GPLv2
+
BUILD_DEPENDS= timidity:${PORTSDIR}/audio/timidity
RUN_DEPENDS= timidity:${PORTSDIR}/audio/timidity
USE_SDL= sdl mixer
USE_XORG= x11
USES= gmake pkgconfig
-USE_AUTOTOOLS= libtool
+USE_AUTOTOOLS= libtool autoconf automake aclocal autoheader libtoolize
+AUTOMAKE_ARGS= --add-missing
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-MAKE_JOBS_UNSAFE= yes
-MAN1= expack.1 ipack.1 shp2pcx.1 splitshp.1 textpack.1
-MAN6= exult.6
+WRKSRC= ${WRKDIR}/exult
SUB_FILES= pkg-message
-NO_STAGE= yes
+OPTIONS_DEFINE= STUDIO
+OPTIONS_DEFAULT=STUDIO
+OPTIONS_SUB= yes
+STUDIO_DESC= Install Exult Studio
+
.include <bsd.port.options.mk>
-post-patch:
- @${REINPLACE_CMD} -e 's|desktop||' ${WRKSRC}/Makefile.in
- @${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' ${WRKSRC}/configure
+.if ${PORT_OPTIONS:MSTUDIO}
+CONFIGURE_ARGS+=--enable-exult-studio \
+ --enable-exult-studio-support
+USE_GNOME+= libglade2
+.endif
post-install:
-.if ${PORT_OPTIONS:MDOCS}
- @${MKDIR} ${DOCSDIR}
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
.for i in FAQ NEWS README
- ${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
.endfor
-.endif
- @${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>
diff --git a/games/exult/distinfo b/games/exult/distinfo
index a74bc97cfce4..1038840f198a 100644
--- a/games/exult/distinfo
+++ b/games/exult/distinfo
@@ -1,2 +1,2 @@
-SHA256 (exult-1.2.tar.gz) = a6dd9d4e399281ed2db691ede21dbb79818ee11b08ef717e3eac255e290cf21a
-SIZE (exult-1.2.tar.gz) = 1722259
+SHA256 (exult-20130315-0400.tar.gz) = 368dc28016d56c5251531e4cff463d9ffcaa151d74bad65bdc5366c213e12fcc
+SIZE (exult-20130315-0400.tar.gz) = 4784001
diff --git a/games/exult/files/patch-audio__midi_drivers__fmopldrv.h b/games/exult/files/patch-audio__midi_drivers__fmopldrv.h
deleted file mode 100644
index 8eaa3f98e4b4..000000000000
--- a/games/exult/files/patch-audio__midi_drivers__fmopldrv.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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-files-databuf.h b/games/exult/files/patch-files-databuf.h
deleted file mode 100644
index fc5f7f6183a9..000000000000
--- a/games/exult/files/patch-files-databuf.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- files/databuf.h.orig Sun Aug 31 21:32:25 2003
-+++ files/databuf.h Wed Mar 31 13:37:08 2004
-@@ -21,7 +21,9 @@
- # include <cstdio>
- # include <cstring>
- #endif
-+#if defined(__GNUC__) && __GNUC__ >= 3
- #include <cassert>
-+#endif
- #include <fstream>
- #include <iomanip>
- #include "U7file.h"
diff --git a/games/exult/files/patch-files-rwregress.cc b/games/exult/files/patch-files-rwregress.cc
deleted file mode 100644
index 37bacb7b66c4..000000000000
--- a/games/exult/files/patch-files-rwregress.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- files/rwregress.cc.orig Tue Jun 24 21:20:55 2003
-+++ files/rwregress.cc Wed Mar 31 13:39:13 2004
-@@ -5,7 +5,9 @@
-
- #include <iostream>
- #include <strstream>
-+#if defined(__GNUC__) && __GNUC__ >= 3
- #include <cassert>
-+#endif
- #include "utils.h"
-
- using std::cout;
diff --git a/games/exult/files/patch-hash_utils.h b/games/exult/files/patch-hash_utils.h
deleted file mode 100644
index d71fc657ecad..000000000000
--- a/games/exult/files/patch-hash_utils.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- 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
deleted file mode 100644
index 5e9a0924bbd9..000000000000
--- a/games/exult/files/patch-mouse.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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-useval.cc b/games/exult/files/patch-usecode-useval.cc
deleted file mode 100644
index ed4be4a4f2da..000000000000
--- a/games/exult/files/patch-usecode-useval.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- usecode/useval.cc.old 2006-10-25 21:43:21.000000000 +0200
-+++ usecode/useval.cc 2006-10-25 21:48:49.000000000 +0200
-@@ -464,7 +464,7 @@
- if (buflen < 5)
- return -1;
- *ptr++ = type;
-- Write4(ptr, (int)value.ptr);
-+ Write4(ptr, 0);
- break;
- case string_type:
- {
-@@ -525,7 +525,7 @@
- case pointer_type:
- if (buflen < 5)
- return false;
-- value.ptr = (Game_object*)Read4(ptr); //DON'T dereference this pointer!
-+ value.ptr = 0; //DON'T dereference this pointer!
- // Maybe add a new type "serialized_pointer" to prevent "accidents"?
- return true;
- case string_type:
diff --git a/games/exult/files/patch-usecode__ucxt__include__ucfunc.h b/games/exult/files/patch-usecode__ucxt__include__ucfunc.h
deleted file mode 100644
index 60a81db4d513..000000000000
--- a/games/exult/files/patch-usecode__ucxt__include__ucfunc.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
index d5bbe7da09a2..e7f084f9746b 100644
--- a/games/exult/files/pkg-message.in
+++ b/games/exult/files/pkg-message.in
@@ -1,4 +1,4 @@
******************************************************************************
-* Run Exult from directory, containing original Ultima VII data.
+* Run Exult from directory containing original Ultima VII data.
* Please, read %%DOCSDIR%%/README for additional information.
******************************************************************************
diff --git a/games/exult/pkg-descr b/games/exult/pkg-descr
index 31685095196c..6c0248c1689e 100644
--- a/games/exult/pkg-descr
+++ b/games/exult/pkg-descr
@@ -1,6 +1,6 @@
Exult is an engine built for running Ultima VII usecode. With Exult
you can play both "The Black Gate" and "Serpent Isle" parts of the game.
-But original ORIGIN's Ultima VII data is still needed. Refer to README file
-for details.
+However, the original ORIGIN's Ultima VII data is required as Exult is
+just the engine. Refer to README file for details.
WWW: http://exult.sourceforge.net
diff --git a/games/exult/pkg-plist b/games/exult/pkg-plist
index 76faf2100329..024dbdf22770 100644
--- a/games/exult/pkg-plist
+++ b/games/exult/pkg-plist
@@ -1,24 +1,50 @@
bin/expack
bin/exult
+%%STUDIO%%bin/exult_studio
+bin/ipack
bin/shp2pcx
bin/splitshp
bin/textpack
-bin/ucc
bin/ucxt
-@exec /bin/mkdir -p %D/share/exult/estudio/new
+man/man1/expack.1.gz
+man/man1/exult_studio.1.gz
+man/man1/ipack.1.gz
+man/man1/shp2pcx.1.gz
+man/man1/splitshp.1.gz
+man/man1/textpack.1.gz
+man/man1/ucc.1.gz
+man/man6/exult.6.gz
+share/applications/exult.desktop
+%%DATADIR%%/bg_mr_faces.vga
+%%DATADIR%%/bg_paperdol.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/blends.dat
+%%STUDIO%%%%DATADIR%%/estudio/new/combos.flx
+%%STUDIO%%%%DATADIR%%/estudio/new/faces.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/fonts.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/gumps.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/palettes.flx
+%%STUDIO%%%%DATADIR%%/estudio/new/paperdol.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/pointers.shp
+%%STUDIO%%%%DATADIR%%/estudio/new/shapes.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/sprites.vga
+%%STUDIO%%%%DATADIR%%/estudio/new/text.flx
%%DATADIR%%/exult.flx
%%DATADIR%%/exult_bg.flx
+%%DATADIR%%/exult_iphone.flx
%%DATADIR%%/exult_si.flx
+%%STUDIO%%%%DATADIR%%/exult_studio.glade
%%DATADIR%%/exultmsg.txt
%%DATADIR%%/midisfx.flx
%%DATADIR%%/u7bgintrinsics.data
%%DATADIR%%/u7misc.data
%%DATADIR%%/u7opcodes.data
%%DATADIR%%/u7siintrinsics.data
-%%PORTDOCS%%%%DOCSDIR%%/FAQ
-%%PORTDOCS%%%%DOCSDIR%%/NEWS
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrm %%DATADIR%%/estudio/new
-@dirrm %%DATADIR%%/estudio
-@dirrm %%DATADIR%%
+%%DOCSDIR%%/FAQ
+%%DOCSDIR%%/NEWS
+%%DOCSDIR%%/README
+share/icons/exult.png
+@dirrmtry share/icons
+%%STUDIO%%@dirrmtry %%DATADIR%%/estudio/new
+%%STUDIO%%@dirrmtry %%DATADIR%%/estudio
+@dirrmtry %%DATADIR%%
+@dirrmtry %%DOCSDIR%%