### Arch Linux PKGBUILD Maintainers:
# Maintainer: Christian Hesse <mail@eworm.de>
# Maintainer: Robin Candau <antiz@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Eivind Uggedal <eivind@uggedal.com>

pkgname=mpv-git
gitname=mpv
pkgver=0.38.0_757_gf6d931301b
pkgrel=1
pkgdesc='a free, open source, and cross-platform media player - Git Version'
arch=('x86_64')
license=('GPL-2.0-or-later AND LGPL-2.1-or-later')
url='https://mpv.io/'
depends=('alsa-lib' 'desktop-file-utils' 'ffmpeg' 'glibc' 'hicolor-icon-theme'
         'jack' 'lcms2' 'libarchive' 'libass' 'libbluray' 'libcdio'
         'libcdio-paranoia' 'libdisplay-info' 'libdrm' 'libdvdnav' 'libdvdread' 'libegl' 'libgl'
         'libglvnd' 'libjpeg-turbo' 'libplacebo' 'libpulse' 'libsixel' 'libva'
         'libvdpau' 'libx11' 'libxext' 'libxkbcommon' 'libxpresent' 'libxrandr'
         'libxss' 'libxv' 'luajit' 'mesa' 'mujs' 'libpipewire' 'rubberband' 'sdl2'
         'openal' 'uchardet' 'vapoursynth' 'vulkan-icd-loader' 'wayland' 'zlib')
makedepends=('git' 'meson' 'python-docutils' 'ladspa' 'wayland-protocols'
             'ffnvcodec-headers' 'vulkan-headers')
optdepends=('yt-dlp: for video-sharing websites playback')
provides=('libmpv.so' 'mpv')
conflicts=('mpv')
options=('!emptydirs')
source=("git+https://github.com/mpv-player/mpv.git")
sha256sums=('SKIP')

pkgver() {
  cd ${gitname}
  git describe --always --tags --dirty | sed -e 's/^v//' -e 's/-/_/g'
}

build() {
  local _meson_options=(
    --auto-features auto

    -Dlibmpv=true
    -Dgl-x11=enabled
    -Dcaca=disabled
    -Dcdda=enabled
    -Ddrm=enabled
    -Ddvbin=enabled
    -Ddvdnav=enabled
    -Dlibarchive=enabled
    -Dopenal=enabled
    -Dsdl2-audio=enabled
    -Dsdl2-video=enabled
    -Dsdl2-gamepad=enabled
  )

  arch-meson "${gitname}" build "${_meson_options[@]}"

  meson compile -C build
}

check() {
  meson test -C build
}

package() {
  depends+=('libasound.so' 'libavcodec.so' 'libavdevice.so' 'libavfilter.so'
            'libavformat.so' 'libavutil.so' 'libdisplay-info.so' 'libswresample.so' 'libswscale.so'
            'libjack.so' 'liblcms2.so' 'libarchive.so' 'libass.so' 'libbluray.so'
            'libjpeg.so' 'libplacebo.so' 'libpulse.so' 'libva.so' 'libva-drm.so'
            'libva-wayland.so' 'libva-x11.so' 'libxkbcommon.so' 'librubberband.so')

  meson install -C build --destdir "${pkgdir}"

  # delete private entries only required for static linking
  sed -i -e '/Requires.private/d' -e '/Libs.private/d' "${pkgdir}"/usr/lib/pkgconfig/mpv.pc

  install -m0644 "${gitname}"/DOCS/{encoding.rst,tech-overview.txt} \
    "${pkgdir}"/usr/share/doc/mpv

  install -m0644 "${gitname}"/TOOLS/{umpv,mpv_identify.sh,stats-conv.py,idet.sh,lua/*} \
    -D -t "${pkgdir}"/usr/share/mpv/scripts
}
