summaryrefslogtreecommitdiff
path: root/pcr/bsnes/PKGBUILD
blob: 34a8031e9fee0a079d73903bf8cd4a7d96e30d03 (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
# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
pkgname='bsnes'
pkgver=088
pkgrel=1
pkgdesc="Super Nintendo Entertainment System (SNES) emulator focused on accuracy."
arch=('i686' 'x86_64')
url="http://byuu.org/bsnes/"
license=('GPL3')
depends=('libao' 'libgl' 'libxv' 'openal' 'sdl' 'qt>=4.7.0')
makedepends=('pkgconfig' 'mesa')
install='bsnes.install'
changelog='bsnes.changelog'
source=('http://bsnes.googlecode.com/files/bsnes_v088-source.tar.xz' 'add-usr-share-fallback.patch')
md5sums=('a3b2e9ba28b752768bb9f777049b1239' '8fde2bb14f8dafbd5276f9a6092b7ffb')


# Build the accuracy profile (you can also choose 'performance' or 'compatibility')
__profile='accuracy'

build() {
  cd "${srcdir}/${pkgname}_v${pkgver}-source/${pkgname}"

  # Makefile hacks:
  # Disable pulseaudio.
  sed -e 's|audio.pulseaudio ||' \
      -e 's|audio.pulseaudiosimple ||' \
      -i 'target-ui/Makefile'
  # Don't copy the cheat file.
  sed -e '/mkdir -p ~\/.config\/$(name)/{N;d}' \
      -e '/cp data\/cheats.xml/{N;d}' \
      -i 'target-ui/Makefile'
  # Don't use sudo
  sed -e 's/sudo install/install/' \
      -i 'target-ui/Makefile'

  # Apply patch to make bsnes look in /usr/share/bsnes for filters/shaders.
  patch -p0 < "${srcdir}/add-usr-share-fallback.patch"

  # Fix building with QT >= 4.8.0.
  moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp

  # Compile bsnes.
  make flags="$CXXFLAGS -I. -DPROFILE_${__profile^^}" compiler=gcc platform=x profile=${__profile} phoenix=qt

  # Compile the filters.
  cd "${srcdir}/${pkgname}_v${pkgver}-source/snesfilter"
  make compiler=gcc platform=x
}

package() {
  cd "${srcdir}/${pkgname}_v${pkgver}-source/${pkgname}"
  make install profile=${__profile} DESTDIR="${pkgdir}" prefix=/usr

  # Install the filters/shaders
  install --directory "${pkgdir}/usr/share/${pkgname}/filters"
  install -D --mode=644 "${srcdir}/${pkgname}_v${pkgver}-source"/snesfilter/out/*.filter "${pkgdir}/usr/share/${pkgname}/filters"
  install --directory "${pkgdir}/usr/share/${pkgname}/shaders"
  install -D --mode=644 "${srcdir}/${pkgname}_v${pkgver}-source"/snesshader/*.shader "${pkgdir}/usr/share/${pkgname}/shaders"

  # Install the user-profile into /usr/share/bsnes/profile.
  install --directory "${pkgdir}/usr/share/${pkgname}/profile"
  cp -R "${srcdir}/${pkgname}_v${pkgver}-source/${pkgname}"/profile/* "${pkgdir}/usr/share/${pkgname}/profile"
}