exult: Update to 1.4.9rc1
This commit is contained in:
parent
ee39b4e82e
commit
9c53065b61
@ -1,21 +0,0 @@
|
|||||||
diff -ru exult-1.2-orig/usecode/useval.cc exult-1.2/usecode/useval.cc
|
|
||||||
--- exult-1.2-orig/usecode/useval.cc 2004-05-23 07:07:11.000000000 +0200
|
|
||||||
+++ exult-1.2/usecode/useval.cc 2008-06-25 17:27:15.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:
|
|
123
pkgs/games/exult/arch.patch
Normal file
123
pkgs/games/exult/arch.patch
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
diff -aur exult-1.4.9rc1.orig/desktop/exult.desktop exult-1.4.9rc1/desktop/exult.desktop
|
||||||
|
--- exult-1.4.9rc1.orig/desktop/exult.desktop 2008-07-11 05:41:06.000000000 +0600
|
||||||
|
+++ exult-1.4.9rc1/desktop/exult.desktop 2012-05-19 13:15:30.616084585 +0600
|
||||||
|
@@ -1,9 +1,8 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
-Encoding=UTF-8
|
||||||
|
Name=Exult
|
||||||
|
Comment=Exult Ultima 7 Engine
|
||||||
|
Exec=exult
|
||||||
|
-Icon=exult.png
|
||||||
|
+Icon=exult
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
-Categories=Application;Game;RolePlaying;
|
||||||
|
+Categories=Game;RolePlaying;
|
||||||
|
diff -aur exult-1.4.9rc1.orig/files/databuf.h exult-1.4.9rc1/files/databuf.h
|
||||||
|
--- exult-1.4.9rc1.orig/files/databuf.h 2010-03-10 09:07:05.000000000 +0500
|
||||||
|
+++ exult-1.4.9rc1/files/databuf.h 2012-05-19 12:50:16.856076030 +0600
|
||||||
|
@@ -18,6 +18,7 @@
|
||||||
|
#define DATA_H
|
||||||
|
|
||||||
|
#include <cstdio>
|
||||||
|
+#include <cstddef>
|
||||||
|
#include <cstring>
|
||||||
|
#include <cassert>
|
||||||
|
#include <fstream>
|
||||||
|
diff -aur exult-1.4.9rc1.orig/files/U7obj.h exult-1.4.9rc1/files/U7obj.h
|
||||||
|
--- exult-1.4.9rc1.orig/files/U7obj.h 2010-02-25 07:52:07.000000000 +0500
|
||||||
|
+++ exult-1.4.9rc1/files/U7obj.h 2012-05-19 12:50:35.916076137 +0600
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <cstring>
|
||||||
|
+#include <cstddef>
|
||||||
|
#include "common_types.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
|
diff -aur exult-1.4.9rc1.orig/imagewin/manip.h exult-1.4.9rc1/imagewin/manip.h
|
||||||
|
--- exult-1.4.9rc1.orig/imagewin/manip.h 2010-08-29 20:26:00.000000000 +0600
|
||||||
|
+++ exult-1.4.9rc1/imagewin/manip.h 2012-05-19 13:02:45.159413596 +0600
|
||||||
|
@@ -319,7 +319,7 @@
|
||||||
|
static uintD copy(uintS src)
|
||||||
|
{
|
||||||
|
unsigned int r, g, b;
|
||||||
|
- split_source(src,r,g,b);
|
||||||
|
+ ManipBaseSrc<color_s,color_d>::split_source(src,r,g,b);
|
||||||
|
return ManipBaseDest<color_d>::rgb(r,g,b);
|
||||||
|
}
|
||||||
|
static void copy(uintD& dest, uintS src)
|
||||||
|
diff -aur exult-1.4.9rc1.orig/istring.h exult-1.4.9rc1/istring.h
|
||||||
|
--- exult-1.4.9rc1.orig/istring.h 2005-06-07 15:55:39.000000000 +0600
|
||||||
|
+++ exult-1.4.9rc1/istring.h 2012-05-19 13:01:14.886079750 +0600
|
||||||
|
@@ -162,19 +162,19 @@
|
||||||
|
|
||||||
|
_Myt& operator+=(const _Myt& _Right)
|
||||||
|
{ // append _Right
|
||||||
|
- append(_Right);
|
||||||
|
+ this->append(_Right);
|
||||||
|
return (*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
_Myt& operator+=(const _Elem *_Ptr)
|
||||||
|
{ // append [_Ptr, <null>)
|
||||||
|
- append(_Ptr);
|
||||||
|
+ this->append(_Ptr);
|
||||||
|
return (*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
_Myt& operator+=(_Elem _Ch)
|
||||||
|
{ // append 1 * _Ch
|
||||||
|
- append(static_cast<size_type>(1), _Ch);
|
||||||
|
+ this->append(static_cast<size_type>(1), _Ch);
|
||||||
|
return (*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -aur exult-1.4.9rc1.orig/shapes/pngio.cc exult-1.4.9rc1/shapes/pngio.cc
|
||||||
|
--- exult-1.4.9rc1.orig/shapes/pngio.cc 2010-02-15 18:48:11.000000000 -0200
|
||||||
|
+++ exult-1.4.9rc1/shapes/pngio.cc 2013-09-22 20:56:37.809763588 -0300
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include <config.h>
|
||||||
|
#endif
|
||||||
|
+#include <string.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_PNG_H
|
||||||
|
|
||||||
|
@@ -79,7 +80,7 @@
|
||||||
|
}
|
||||||
|
// Allocate info. structure.
|
||||||
|
png_infop info = png_create_info_struct(png);
|
||||||
|
- if (setjmp(png->jmpbuf)) // Handle errors.
|
||||||
|
+ if (setjmp(png_jmpbuf(png))) // Handle errors.
|
||||||
|
{
|
||||||
|
png_destroy_read_struct(&png, &info, 0);
|
||||||
|
fclose(fp);
|
||||||
|
@@ -208,7 +209,7 @@
|
||||||
|
}
|
||||||
|
// Allocate info. structure.
|
||||||
|
png_infop info = png_create_info_struct(png);
|
||||||
|
- if (setjmp(png->jmpbuf)) // Handle errors.
|
||||||
|
+ if (setjmp(png_jmpbuf(png))) // Handle errors.
|
||||||
|
{
|
||||||
|
png_destroy_write_struct(&png, &info);
|
||||||
|
fclose(fp);
|
||||||
|
@@ -306,7 +307,7 @@
|
||||||
|
}
|
||||||
|
// Allocate info. structure.
|
||||||
|
png_infop info = png_create_info_struct(png);
|
||||||
|
- if (setjmp(png->jmpbuf)) // Handle errors.
|
||||||
|
+ if (setjmp(png_jmpbuf(png))) // Handle errors.
|
||||||
|
{
|
||||||
|
png_destroy_read_struct(&png, &info, 0);
|
||||||
|
fclose(fp);
|
||||||
|
@@ -395,7 +396,7 @@
|
||||||
|
}
|
||||||
|
// Allocate info. structure.
|
||||||
|
png_infop info = png_create_info_struct(png);
|
||||||
|
- if (setjmp(png->jmpbuf)) // Handle errors.
|
||||||
|
+ if (setjmp(png_jmpbuf(png))) // Handle errors.
|
||||||
|
{
|
||||||
|
png_destroy_write_struct(&png, &info);
|
||||||
|
fclose(fp);
|
||||||
|
|
@ -1,56 +1,45 @@
|
|||||||
{stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, unzip}:
|
{ stdenv, fetchurl, pkgconfig, SDL, libogg, libvorbis, zlib, unzip }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
# Digital recordings of the music on an original Roland MT-32. So
|
# Digital recordings of the music on an original Roland MT-32. So
|
||||||
# we don't need actual MIDI playback capability.
|
# we don't need actual MIDI playback capability.
|
||||||
musicFiles =
|
audio = fetchurl {
|
||||||
[ (fetchurl {
|
url = mirror://sourceforge/exult/exult_audio.zip;
|
||||||
url = mirror://sourceforge/exult/U7MusicOGG_1of2.zip;
|
sha256 = "0s5wvgy9qja06v38g0qwzpaw76ff96vzd6gb1i3lb9k4hvx0xqbj";
|
||||||
md5 = "7746d1a9164fd67509107797496553bf";
|
};
|
||||||
})
|
|
||||||
(fetchurl {
|
|
||||||
url = mirror://sourceforge/exult/U7MusicOGG_2of2.zip;
|
|
||||||
md5 = "cdae5956d7c52f35e90317913a660123";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "exult-1.2";
|
name = "exult-1.4.9rc1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/exult/exult-1.2.tar.gz;
|
url = "mirror://sourceforge/exult/${name}.tar.gz";
|
||||||
md5 = "0fc88dee74a91724d25373ba0a8670ba";
|
sha256 = "0a03a2l3ji6h48n106d4w55l8v6lni1axniafnvvv5c5n3nz5bgd";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patches for building on x86_64 and gcc 4.x.
|
configureFlags = "--disable-tools";
|
||||||
patches = [
|
|
||||||
(fetchurl {
|
|
||||||
url = "http://www.rocklinux.net/sources/package/stf/exult/exult-gcc4.patch";
|
|
||||||
sha256 = "1jlikxcpsi3yfchan3jbyi66fcyr18m7kfmsa946lwh3kzckszm7";
|
|
||||||
})
|
|
||||||
|
|
||||||
# From http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/games-engines/exult/files/exult-1.2-64bits.patch?rev=1.1
|
patches =
|
||||||
./64bits.patch
|
[ # Arch Linux patch set.
|
||||||
|
./arch.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [SDL SDL_mixer zlib libpng unzip];
|
buildInputs = [ pkgconfig SDL libogg libvorbis zlib unzip ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${SDL_mixer}/include/SDL";
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
''
|
''
|
||||||
mkdir -p $out/share/exult/music
|
mkdir -p $out/share/exult/music
|
||||||
for i in $musicFiles; do
|
unzip -o -d $out/share/exult ${audio}
|
||||||
unzip -o -d $out/share/exult/music $i
|
chmod 644 $out/share/exult/*.flx
|
||||||
done
|
''; # */
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://exult.sourceforge.net/;
|
homepage = http://exult.sourceforge.net/;
|
||||||
description = "A reimplementation of the Ultima VII game engine";
|
description = "A reimplementation of the Ultima VII game engine";
|
||||||
maintainers = [stdenv.lib.maintainers.eelco];
|
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -10184,10 +10184,7 @@ let
|
|||||||
|
|
||||||
egoboo = callPackage ../games/egoboo { };
|
egoboo = callPackage ../games/egoboo { };
|
||||||
|
|
||||||
exult = callPackage ../games/exult {
|
exult = callPackage ../games/exult { };
|
||||||
stdenv = overrideGCC stdenv gcc42;
|
|
||||||
libpng = libpng12;
|
|
||||||
};
|
|
||||||
|
|
||||||
flightgear = callPackage ../games/flightgear { };
|
flightgear = callPackage ../games/flightgear { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user