makedepends=(cmake glslang spirv-tools spirv-headers)

description="Collection of tools, libraries and tests for shader compilation"
url="https://github.com/google/shaderc"

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

name=shaderc
version=2026.1
release=2

PKGMK_KEEP_SOURCES="no"

source=(https://github.com/google/shaderc/archive/v${version}.tar.gz)

build() {

  cd $name-$version

  sed '/build-version/d'   -i glslc/CMakeLists.txt
  sed '/third_party/d'     -i CMakeLists.txt
  sed 's|SPIRV|glslang/&|' -i libshaderc_util/src/compiler.cc

  echo "\"$version\"" > glslc/src/build-version.inc

  cd ..

  export CXXFLAGS+=" -ffat-lto-objects"

  cmake -S $name-$version \
        -B build \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DSHADERC_SKIP_TESTS=ON \
        -Dglslang_SOURCE_DIR=/usr/include/glslang \
        -GNinja

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

  # Remove unused shaderc_static.pc
  rm "${PKG}/usr/lib/pkgconfig/shaderc_static.pc"
}
