summaryrefslogtreecommitdiff
path: root/community/simutrans
diff options
context:
space:
mode:
Diffstat (limited to 'community/simutrans')
-rw-r--r--community/simutrans/PKGBUILD60
-rw-r--r--community/simutrans/config.patch52
-rw-r--r--community/simutrans/fix-build.patch11
-rw-r--r--community/simutrans/path-for-game-data.patch18
-rw-r--r--community/simutrans/settings-folder.patch12
-rw-r--r--community/simutrans/simutrans.desktop9
6 files changed, 162 insertions, 0 deletions
diff --git a/community/simutrans/PKGBUILD b/community/simutrans/PKGBUILD
new file mode 100644
index 000000000..cabad01c4
--- /dev/null
+++ b/community/simutrans/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 75106 2012-08-13 23:27:28Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Gilles Gagniard <gilles@gagniard.org>
+# Contributor: JD Steffen <jd at steffennet dot org>
+
+pkgname=simutrans
+pkgver=111.3.1
+_pkgver=111-3-1
+pkgrel=1
+pkgdesc="An open source transportation simulation game"
+arch=('i686' 'x86_64')
+url="http://simutrans.com/"
+license=('PerlArtistic')
+depends=('gcc-libs' 'zlib' 'sdl_mixer' 'bzip2' 'simutrans-pak64')
+makedepends=('imagemagick')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-src-$_pkgver.zip
+ http://downloads.sourceforge.net/$pkgname/simulinux-$_pkgver.zip
+ settings-folder.patch
+ path-for-game-data.patch
+ config.patch
+ fix-build.patch
+ simutrans.desktop)
+md5sums=('efd18a25d30009d5421001c0d9fd7803'
+ '95b96826ff07b7da2cce33f38def6f4e'
+ 'c87d9a9910bc371df5d50f7f1ec298bb'
+ '4648680290b44775b9c47d3758d3bd6c'
+ 'd11bc8ee33a34e33341f6ccd90a44dba'
+ '7d6329f7db821e3cc22fde5c5c138e2d'
+ 'f41f7a08ad517ef2b60412859eb49963')
+
+build() {
+ cd "$srcdir"
+
+ cp config.template config.default
+ patch -Np0 -i "$srcdir/settings-folder.patch"
+ patch -Np1 -i "$srcdir/path-for-game-data.patch"
+ patch -Np0 -i "$srcdir/config.patch"
+ patch -Np0 -i "$srcdir/fix-build.patch"
+ convert simutrans.ico -alpha on simutrans.png
+ chmod 644 simsys_opengl.cc
+
+ make
+}
+
+package() {
+ cd "$srcdir"
+
+ #binary
+ install -Dm755 build/default/sim "$pkgdir/usr/bin/simutrans"
+
+ #data
+ mkdir -p "$pkgdir/usr/share/games/$pkgname"
+ cp -r "$pkgname"/{config,font,music,skin,text} "$pkgdir/usr/share/games/$pkgname"
+
+ #desktop file and icon
+ install -Dm644 simutrans.png "$pkgdir/usr/share/pixmaps/simutrans.png"
+ install -Dm644 simutrans.desktop "$pkgdir/usr/share/applications/simutrans.desktop"
+}
diff --git a/community/simutrans/config.patch b/community/simutrans/config.patch
new file mode 100644
index 000000000..ea4657a7a
--- /dev/null
+++ b/community/simutrans/config.patch
@@ -0,0 +1,52 @@
+--- config.default.orig 2011-11-10 21:48:01.000000000 +0100
++++ config.default 2011-11-10 21:51:58.383221979 +0100
+@@ -6,23 +6,23 @@
+ #BACKEND = allegro
+ #BACKEND = gdi
+ #BACKEND = sdl
+-#BACKEND = mixer_sdl
++BACKEND = mixer_sdl
+ #BACKEND = posix
+
+ #COLOUR_DEPTH = 0
+-#COLOUR_DEPTH = 16
++COLOUR_DEPTH = 16
+
+ #OSTYPE = amiga
+ #OSTYPE = beos
+ #OSTYPE = cygwin
+ #OSTYPE = freebsd
+ #OSTYPE = haiku
+-#OSTYPE = linux
++OSTYPE = linux
+ #OSTYPE = mingw
+ #OSTYPE = mac
+
+ #DEBUG = 3 # Level 1-3, higher number means more debug-friendly, see Makefile
+-#OPTIMISE = 1 # Add umpteen optimisation flags
++OPTIMISE = 1 # Add umpteen optimisation flags
+ #PROFILE = 1 # Enable profiling
+ #PROFILE = 2 # Enable profiling with optimisation flags, can be used with `OPTIMISE = 1'
+
+@@ -34,9 +34,9 @@
+ # Define these as empty strings, if you don't have the respective config program
+ #ALLEGRO_CONFIG = allegro-config
+ #PNG_CONFIG = pkg-config libpng
+-#SDL_CONFIG = sdl-config
++SDL_CONFIG = sdl-config
+
+-#VERBOSE = 1
++VERBOSE = 1
+
+ # The following useful conditional compilation flags exist
+ #
+@@ -65,6 +65,9 @@
+ #
+ # In order to use the flags, add a line like this: (-Dxxx)
+ # FLAGS = -DUSE_C
++ifeq ($(shell uname -m),x86_64)
++ FLAGS += -DUSE_C
++endif
+
+ # Output directories:
+ #
diff --git a/community/simutrans/fix-build.patch b/community/simutrans/fix-build.patch
new file mode 100644
index 000000000..a575cbef6
--- /dev/null
+++ b/community/simutrans/fix-build.patch
@@ -0,0 +1,11 @@
+diff -Naur utils/csv.cc utils/csv.cc
+--- utils/csv.cc 2012-03-18 21:10:39.000000000 +0000
++++ utils/csv.cc 2012-05-04 11:06:50.228842822 +0000
+@@ -8,6 +8,7 @@
+ #include <cstring>
+ #include <stdio.h>
+ #include <assert.h>
++#include <stdlib.h>
+
+ #include "csv.h"
+ #include "simstring.h"
diff --git a/community/simutrans/path-for-game-data.patch b/community/simutrans/path-for-game-data.patch
new file mode 100644
index 000000000..ac2b41407
--- /dev/null
+++ b/community/simutrans/path-for-game-data.patch
@@ -0,0 +1,18 @@
+look in /usr/share/games/simutrans for game data
+
+@DPATCH@
+
+--- simutrans.orig/simmain.cc
++++ simutrans/simmain.cc
+@@ -437,8 +437,9 @@
+ strcat( umgebung_t::program_dir, path_sep );
+ }
+ else {
+- strcpy( umgebung_t::program_dir, argv[0] );
+- *(strrchr( umgebung_t::program_dir, path_sep[0] )+1) = 0;
++ // strcpy( umgebung_t::program_dir, argv[0] );
++ // *(strrchr( umgebung_t::program_dir, path_sep[0] )+1) = 0;
++ strcpy(umgebung_t::program_dir, "/usr/share/games/simutrans/");
+
+ chdir( umgebung_t::program_dir );
+ }
diff --git a/community/simutrans/settings-folder.patch b/community/simutrans/settings-folder.patch
new file mode 100644
index 000000000..166795803
--- /dev/null
+++ b/community/simutrans/settings-folder.patch
@@ -0,0 +1,12 @@
+--- simsys.cc.orig 2011-10-28 20:32:25.000000000 +0200
++++ simsys.cc 2011-11-10 23:09:10.380031846 +0100
+@@ -47,7 +47,7 @@
+ #elif defined __APPLE__
+ sprintf(buffer, "%s/Library/Simutrans", getenv("HOME"));
+ #else
+- sprintf(buffer, "%s/simutrans", getenv("HOME"));
++ sprintf(buffer, "%s/.simutrans", getenv("HOME"));
+ #endif
+
+ dr_mkdir(buffer);
+
diff --git a/community/simutrans/simutrans.desktop b/community/simutrans/simutrans.desktop
new file mode 100644
index 000000000..e8d8660c8
--- /dev/null
+++ b/community/simutrans/simutrans.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Simutrans
+Comment=Transportation simulator
+Exec=simutrans
+Icon=simutrans
+Terminal=false
+Type=Application
+Categories=Game;Simulation;
+