# Description: SDL version 3, Simple DirectMedia Layer
# URL: https://www.libsdl.org
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on: mesa xorg-xinput
# Optional: alsa-lib ibus jack pipewire pulseaudio wayland-protocols xorg-libxcursor xorg-libxfixes xorg-libxi xorg-libxscrnsaver xorg-xinput

name=libsdl3
version=3.4.10
release=1
source=(https://github.com/libsdl-org/SDL/releases/download/release-$version/SDL3-$version.tar.gz)

build() {
  prt-get isinst alsa-lib && PKGMK_SDL3+=' -D SDL_ALSA_SHARED=ON'
  prt-get isinst ibus && PKGMK_SDL3+=' -D SDL_USE_IME=ON'
  prt-get isinst jack && PKGMK_SDL3+=' -D SDL_JACK_SHARED=ON'
  prt-get isinst pipewire && PKGMK_SDL3+=' -D SDL_PIPEWIRE_SHARED=ON'
  prt-get isinst pulseaudio && PKGMK_SDL3+=' -D SDL_PULSEAUDIO_SHARED=ON'
  prt-get isinst wayland-protocols && PKGMK_SDL3+=' -D SDL_WAYLAND_SHARED=ON'
  prt-get isinst xorg-libxcursor || PKGMK_SDL3+=' -D SDL_X11_XCURSOR=OFF'
  prt-get isinst xorg-libxfixes xorg-libxi || PKGMK_SDL3+=' -D SDL_X11_XFIXES=OFF'
  prt-get isinst xorg-libxscrnsaver || PKGMK_SDL3+=' -D SDL_X11_XSCRNSAVER=OFF'
  prt-get isinst xorg-xinput xorg-libxi || PKGMK_SDL3+=' -D SDL_X11_XINPUT=OFF'

  if command -v ccache >/dev/null 2>&1; then
    PKGMK_SDL3+=' -D SDL_CCACHE=ON'
    export PATH=$(echo $PATH | tr ':' '\n' | grep -E '/(s?bin)$' | tr '\n' ':')
  fi

  cmake -S SDL3-$version -B build -G Ninja $PKGMK_SDL3 \
    -D CMAKE_INSTALL_PREFIX=/usr \
    -D CMAKE_INSTALL_LIBDIR=lib \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \
    -D SDL_CLOCK_GETTIME=ON \
    -D SDL_RPATH=OFF \
    -D SDL_X11_XTEST=OFF \
    -D SDL_X11=ON \
    -Wno-dev
  cmake --build build -j ${JOBS:-1}
  DESTDIR=$PKG cmake --install build

  rm -r $PKG/usr/share/licenses
}
