# Description: A collection of tools, libraries and tests for shader compilation
# URL: https://github.com/google/shaderc
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: glslang

name=shaderc
version=2026.2
release=1
source=(https://github.com/google/$name/archive/v$version/$name-v$version.tar.gz glslc.1)

build() {
  cd $name-$version

  # de-vendor libs and disable git versioning
  sed '/examples/d;/third_party/d' -i CMakeLists.txt
  sed '/build-version/d' -i glslc/CMakeLists.txt
  cat <<- EOF > glslc/src/build-version.inc
"${version}\\n"
"$(prt-get printf '%v\n' --filter=spirv-tools)"
"$(prt-get printf '%v\n' --filter=glslang)"
EOF
  sed -e "s|\$<TARGET_FILE:spirv-dis>|spirv-dis|" \
      -i glslc/test/CMakeLists.txt

  cmake -S . -B build -G Ninja -Wno-dev \
    -D CMAKE_INSTALL_PREFIX=/usr \
    -D CMAKE_INSTALL_LIBDIR=lib \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS} -ffat-lto-objects" \
    -D SHADERC_SKIP_TESTS=ON \
    -D SHADERC_SKIP_COPYRIGHT_CHECK=ON \
    -D glslang_SOURCE_DIR:PATH='/usr/include/glslang'

  cmake --build build -j ${JOBS:-1}
  DESTDIR="$PKG" cmake --install build

  install -D -m 0644 -t "$PKG"/usr/share/man/man1 "$SRC"/glslc.1
}
