summaryrefslogtreecommitdiff
path: root/community/warsow/PKGBUILD
blob: 56f1e16221f4c354db119a7137b6f4f5138878f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# $Id: PKGBUILD 64728 2012-02-18 03:09:46Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Slash <demodevil5[at]yahoo[dot]com>
# Contributor: Babets
# Contributor: Vain

pkgname=warsow
pkgver=0.62
pkgrel=3
pkgdesc="a free online multiplayer competitive FPS based on the Qfusion engine"
url="http://www.warsow.net/"
license=('GPL')
arch=('i686' 'x86_64' 'mips64el') 
depends=('curl' 'libjpeg' 'libvorbis' 'libxinerama' 'libxxf86dga' 'libxxf86vm' 'sdl' 'warsow-data')
makedepends=('mesa' 'openal' 'unzip')
optdepends=('openal: for openal audio support')
source=('warsow.desktop' 'warsow.launcher' 'wsw-server.launcher' 'wswtv-server.launcher' \
"http://www.zcdn.org/dl/warsow_${pkgver}_sdk.zip")
noextract=("warsow_${pkgver}_sdk.zip")
md5sums=('f9bf60c80820237f7097c4e50a9582cd'
         'ec00081d81ad9802a8ca42fc2eac5498'
         'f73e10c26197178df71b941b10bf83d7'
         'd7e4a69835bbcf801e58307e9d6b951e'
         '649568447e938efded07e77cdfb3accb')

build() {
  unset CFLAGS
	unset CXXFLAGS

  # Extract Game Source Code
  unzip -o warsow_${pkgver}_sdk.zip -d $srcdir/warsow-src

  # Patch Makefile to use correct program to query for system information
  sed -i 's:openal-config:pkg-config:g' $srcdir/warsow-src/source/Makefile

  # Patch Makefile to correctly pass on ld opts
  sed -i 's:--as-needed:-Wc,--as-needed:g' $srcdir/warsow-src/source/Makefile

  # Patch Sound Code to point to base openal library
  sed -i 's:libopenal.so.0:libopenal.so:g' $srcdir/warsow-src/source/snd_openal/snd_main.c

  # Patch for libjpeg8
  sed -i 's/jpeg_mem_src/_jpeg_mem_src/g' $srcdir/warsow-src/source/ref_gl/r_image.c

  # Patch AngelScript so it compiles correctly on i686
  if [ "$CARCH" == "i686" ]; then
      sed -i 's:CXXFLAGS = \(.*\):CXXFLAGS = -march=i686 \1:' \
          $srcdir/warsow-src/libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc/makefile
  fi

  # Compile Warsow
  cd $srcdir/warsow-src/source/
  make -j1
}

package() {
  cd $srcdir/warsow-src/source/
  
  # Create Destination Directories
  install -d $pkgdir/opt/warsow/

  # Move Compiled Data to Destination Directory
  cp -r $srcdir/warsow-src/source/release/* \
      $pkgdir/opt/warsow

  # Install Client Game Launcher
  install -D -m 0755 $srcdir/warsow.launcher \
      $pkgdir/usr/bin/warsow

  # Install Server Game Launcher
  install -D -m 0755 $srcdir/wsw-server.launcher \
      $pkgdir/usr/bin/wsw-server

  # Install WSWTV Server Launcher
  install -D -m 0755 $srcdir/wswtv-server.launcher \
      $pkgdir/usr/bin/wswtv-server

  # Install Client Desktop Shortcut
  install -D -m 0644 $srcdir/warsow.desktop \
      $pkgdir/usr/share/applications/warsow.desktop

  # Install Icon
  install -D -m 0644 $srcdir/warsow-src/source/win32/warsow.ico \
      $pkgdir/usr/share/pixmaps/warsow.ico
}

# vim: ts=2:sw=2