summaryrefslogtreecommitdiffstats
path: root/abs/extra/sdlmame/PKGBUILD
blob: daf290a48d06801398f456b0e191646ea160f42d (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
88
89
90
91
92
93
94
95
# $Id: PKGBUILD 80432 2012-11-21 14:28:56Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: robb_force <robb_force@holybuffalo.net>
# Maintainer: JJDaNiMoTh <jjdanimoth@gmail.com>

_patchlevel=3
_basever=0.147

pkgname=sdlmame
if [ ${_patchlevel} -ne 0 ]; then
  pkgver=${_basever}.u${_patchlevel}
else
  pkgver=${_basever}
fi
pkgrel=1
pkgdesc="A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support."
url="http://mamedev.org/"
license=('custom:MAME License')
arch=('i686' 'x86_64')
depends=('sdl>=1.2.11' 'libxinerama' 'gconf' 'sdl_ttf' 'gtk2')
makedepends=('unzip' 'nasm' 'mesa' 'glu' 'wget')
DLAGENTS=('http::/usr/bin/wget -U "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.2) Gecko/20090804 Shiretoko/3.5.2" -c -t 3 --waitretry=3 -O %o %u')
install=sdlmame.install

for i in `seq 1 ${_patchlevel}`; do
	_patches="${_patches} sdlmame-${_basever/./}u${i}_diff.zip::http://mamedev.org/updates/${_basever/./}u${i}_diff.zip"
done

source=("mame${_basever/./}s.zip::http://mamedev.org/downloader.php?file=releases/mame${_basever/./}s.zip"
	"sdlmame.sh"
	"extras.tar.gz"
	${_patches})
md5sums=('b5fc953ee0351f5145b9d704603f2ee3'
         'e11a7d26704a9e2cff223b9b867d6a05'
         '420b61240bf5ae11615ba7c6100ee00d'
         '7f2dbea383138a6ae2bbaac3b32376d6'
         'c0306cbf583309d23549529f441e97f2'
         '8851533ae3f692e436bc399b773c4fcb')

build() {
  cd $srcdir/
  if [ $NOEXTRACT -eq 0 ]; then
    unzip mame.zip
    find . -type f -not -name \*.png | xargs perl -pi -e 's/\r\n?/\n/g'
    for i in `seq 1 ${_patchlevel}`; do
      msg "Patch#$i"
      patch -p0 -E <${_basever/./}u$i.diff || true # FIXME:
    done
  fi
  make NOWERROR=1 OPTIMIZE=2
  make tools NOWERROR=1 OPTIMIZE=2
}

package() {
  cd $srcdir/
  # Install the sdlmame script
  install -Dm755 $srcdir/${pkgname}.sh $pkgdir/usr/bin/${pkgname}

  # Install the applications and the UI font in /usr/share
  install -Dm755 mame $pkgdir/usr/share/${pkgname}/${pkgname} || \
  install -Dm755 mame64 $pkgdir/usr/share/${pkgname}/${pkgname}

  install -m755 chdman $pkgdir/usr/share/${pkgname}/chdman
  install -m755 jedutil $pkgdir/usr/share/${pkgname}/jedutil
  install -m755 regrep $pkgdir/usr/share/${pkgname}/regrep
  install -m755 romcmp $pkgdir/usr/share/${pkgname}/romcmp
  install -m755 testkeys $pkgdir/usr/share/${pkgname}/testkeys
  install -m755 src2html $pkgdir/usr/share/${pkgname}/src2html
  install -m755 srcclean $pkgdir/usr/share/${pkgname}/srcclean
  install -m755 ldverify $pkgdir/usr/share/${pkgname}/ldverify
  install -m755 ldresample $pkgdir/usr/share/${pkgname}/ldresample

  # Install the extra bits
  install -d $pkgdir/usr/share/${pkgname}/{artwork,ctrlr,keymaps,shader}
  install -d $pkgdir/usr/share/man/man1
  install -d $pkgdir/usr/share/man/man6
  install -m644 src/osd/sdl/shader/glsl*.*h $pkgdir/usr/share/${pkgname}/shader/
  install -m644 src/osd/sdl/man/*.1* $pkgdir/usr/share/man/man1/
  install -m644 src/osd/sdl/man/*.6* $pkgdir/usr/share/man/man6/

  install -m644 $srcdir/artwork/* $pkgdir/usr/share/${pkgname}/artwork/
  install -m644 $srcdir/ctrlr/* $pkgdir/usr/share/${pkgname}/ctrlr/
  install -m644 src/osd/sdl/keymaps/* $pkgdir/usr/share/${pkgname}/keymaps/

  # Include the license
  install -Dm644 docs/license.txt $pkgdir/usr/share/licenses/${pkgname}/license.txt

  # FS#28203
  sed -i 's|KEYCODE_2_PAD|KEYCODE_2PAD|' $pkgdir/usr/share/sdlmame/ctrlr/*.cfg
  sed -i 's|KEYCODE_4_PAD|KEYCODE_4PAD|' $pkgdir/usr/share/sdlmame/ctrlr/*.cfg
  sed -i 's|KEYCODE_6_PAD|KEYCODE_6PAD|' $pkgdir/usr/share/sdlmame/ctrlr/*.cfg
  sed -i 's|KEYCODE_8_PAD|KEYCODE_8PAD|' $pkgdir/usr/share/sdlmame/ctrlr/*.cfg

  find $pkgdir -type f -exec strip {} \;
}