# Maintainer: Alexandre Demers _setPrefix="/usr" _setLibdir="lib32" _setFullLibdir="${_setPrefix}/${_setLibdir}" _pkgbasename=shaderc pkgname=lib32-$_pkgbasename pkgver=2020.4 pkgrel=1 pkgdesc='Collection of tools, libraries and tests for shader compilation (32bit)' url='https://github.com/google/shaderc' arch=('x86_64') license=('Apache') depends=("$_pkgbasename" 'lib32-glibc' 'lib32-gcc-libs' 'lib32-glslang>=8.13.3559' 'lib32-spirv-tools>=2019.5' ) makedepends=( 'cmake' 'ninja' 'python' 'spirv-headers' ) provides=('libshaderc_shared.so') conflicts=('lib32-shaderc-git') source=( "${_pkgbasename}-${pkgver}.tar.gz::https://github.com/google/shaderc/archive/v${pkgver}.tar.gz" ) sha512sums=( '2deab4a27b9b2a6cd3688e6f3246e5ba5c09a4a799db9294a2e621f31d94a835d8d7f91dd29618ea392eb0a76d0b94263db09ed67fd880edaf179d688cd11e55' ) prepare() { cd ${_pkgbasename}-${pkgver} # 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 "${pkgver}\\n" "$(pacman -Q spirv-tools|cut -d \ -f 2|sed 's/-.*//')\\n" "$(pacman -Q glslang|cut -d \ -f 2|sed 's/-.*//')\\n" EOF } build() { export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" # export CFLAGS+=" ${CPPFLAGS}" # export CXXFLAGS+=" ${CPPFLAGS} -I/usr/include/glslang" cd ${_pkgbasename}-${pkgver} cmake \ -B build \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_INSTALL_LIBDIR="lib32" \ -DSHADERC_SKIP_TESTS=ON \ -Dglslang_SOURCE_DIR=/usr/include/glslang \ -G Ninja ninja -C build # cd glslc # asciidoctor -b manpage README.asciidoc -o glslc.1 } package() { cd ${_pkgbasename}-${pkgver} DESTDIR="${pkgdir}" ninja -C build install # Use the same naming scheme as the one in the lib32-shaderc-git package for coherence for i in "${pkgdir}/usr/bin/"*; do mv "$i" "$i"-32 done rm -r "${pkgdir}"/usr/include # install -Dm 644 glslc/glslc.1 -t "${pkgdir}/usr/share/man/man1" }