# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: robb_force <robb_force@holybuffalo.net>
# Contributor: JJDaNiMoTh <jjdanimoth@gmail.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - install 'mame' instead of 'mame64'

highmem=1

pkgname=mame
pkgver=0.222
pkgrel=1
pkgdesc="A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support."
url="https://mamedev.org/"
license=(GPL2)
arch=(x86_64)
depends=(sdl2_ttf qt5-base lua libutf8proc pugixml portmidi portaudio flac)
makedepends=(nasm python asio rapidjson glm libxinerama)
conflicts=(sdlmame)
replaces=(sdlmame)
source=("https://github.com/mamedev/mame/archive/mame${pkgver/./}.tar.gz"
         mame.sh mame.desktop mame.svg)
sha256sums=('295cfc8edd132f7175818ed7bcbefdf292ba74ff1e3595a97c0cd49145b4b721'
            'ee1c59bafc5e5441e99fa4c58108a3e18048e60672f34de865c8a5a976094dba'
            '6beb883c8efed5b7466d43d0658b47c3e4a9928b5d0245ed56446b230e28306b'
            '17c442c933d764175e4ce1de50a80c0c2ddd5d733caf09c3cd5e6ba697ac43f4')


prepare() {
  cd mame-mame${pkgver/./}

# Use system libraries
  sed -e 's|\# USE_SYSTEM_LIB|USE_SYSTEM_LIB|g' -i makefile
# except for asio
  sed -e 's|USE_SYSTEM_LIB_ASIO|\# USE_SYSTEM_LIB_ASIO|g' -i makefile
}

build() {
  cd mame-mame${pkgver/./}
  make \
    NOWERROR=1 \
    OPTIMIZE=2 \
    TOOLS=1 \
    ARCHOPTS=-flifetime-dse=1
}

package() {
  cd mame-mame${pkgver/./}

  # Install the mame script
  install -Dm755 "$srcdir"/$pkgname.sh "$pkgdir"/usr/bin/$pkgname

  # Install the binaries
  install -Dm755 mame "$pkgdir"/usr/lib/mame/mame
  for _i in castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav pngcmp regrep romcmp \
            split srcclean testkeys unidasm; do
    install -m755 $_i -t "$pkgdir"/usr/lib/mame
    ln -s /usr/lib/mame/$_i "$pkgdir"/usr/bin/mame-$_i
  done

  # Install the extra bits
  install -Dm644 src/osd/modules/opengl/shader/glsl*.*h -t "$pkgdir"/usr/lib/$pkgname/shader/
  cp -ar {artwork,bgfx,plugins,language,ctrlr,keymaps,hash} "$pkgdir"/usr/lib/$pkgname/

  # Include the license
  install -Dm644 docs/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE

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

  # documentation
  install -dm0755 "$pkgdir"/usr/share/doc
  cp -a docs "$pkgdir"/usr/share/doc/$pkgname
  rm -r "$pkgdir"/usr/share/doc/$pkgname/man
  install -d "$pkgdir"/usr/share/man/man{1,6}
  install -m644 docs/man/*.1* "$pkgdir"/usr/share/man/man1/
  install -m644 docs/man/*.6* "$pkgdir"/usr/share/man/man6/

  # install desktop file and icon
  install -Dm644 "$srcdir"/mame.desktop -t "$pkgdir"/usr/share/applications
  install -Dm644 "$srcdir"/mame.svg -t "$pkgdir"/usr/share/icons/hicolor/scalable/apps
}