makedepends=(cmake spirv-tools gtest)

description="OpenGL and OpenGL ES shader front end and validator"
url="https://github.com/KhronosGroup/glslang"

packager="Great-OS Team"
maintainer="Great-OS Team"

name=glslang
version=16.1.0
release=1

PKGMK_KEEP_SOURCES="no"
source=(https://github.com/KhronosGroup/glslang/archive/${version}.tar.gz)

build() {

  mkdir -pv build-{shared,static}

  pushd build-shared

  cmake -GNinja \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release \
        -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \
        -DBUILD_SHARED_LIBS=ON \
        ../$name-${version}

  ninja

  popd

  pushd build-static

  cmake -GNinja \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=Release \
        -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \
        -DBUILD_SHARED_LIBS=OFF \
        ../$name-${version}

  ninja

  popd

  DESTDIR="${PKG}" ninja -C build-shared install
  DESTDIR="${PKG}" ninja -C build-static install

  install -Dm644 $name-${version}/LICENSE.txt "${PKG}"/usr/share/licenses/${name}-$version/LICENSE

  cd "${PKG}"/usr/lib

  for lib in *.so; do
      ln -sf "${lib}" "${lib}.0"
  done

  #allow an old symlink for mpv
  ln -sf libglslang.so libglslang.so.13
}
