mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-11 21:24:37 +08:00
60 lines
2.4 KiB
Bash
60 lines
2.4 KiB
Bash
# Contributions from Arch:
|
|
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
|
|
# Contributor: Daniel M. Capella <polycitizen@gmail.com>
|
|
# Contributor: Bin Jin <bjin@ctrl-d.org>
|
|
|
|
pkgname=shaderc
|
|
pkgver=2018.0
|
|
pkgrel=1
|
|
pkgdesc='Collection of tools, libraries and tests for shader compilation'
|
|
url='https://github.com/google/shaderc'
|
|
arch=('x86_64')
|
|
license=('Apache')
|
|
depends=('glibc' 'gcc-libs' 'glslang' 'spirv-tools')
|
|
makedepends=('asciidoctor' 'cmake' 'ninja' 'python2')
|
|
provides=('libshaderc_shared.so')
|
|
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/google/shaderc/archive/v${pkgver}.tar.gz
|
|
'fix-glslang-link-order.patch::https://github.com/google/shaderc/pull/463/commits/21c8be385b3fab5edcb934a6d99f69fd389c4e67.patch'
|
|
'https://raw.githubusercontent.com/gentoo/gentoo/0b2433a05d9de287c93b7eab508643ffad676671/media-libs/shaderc/files/shaderc-2018.0-restore-NV_EXTENSIONS-guard.patch')
|
|
sha512sums=('7a420fde73c9f2aae3f13558d538a1f4ae43bba19e2b4d2da8fbbd017e9e4f328ece5f330f1bbcb9fe84c91b7eb84b9158dc2e3d144c82939090a0fa6f5b4ef0'
|
|
'94e1fa8d8b5a886efb90b4956a266799af78c6d54ab8cc8f8a89533885e8148ea415dda7faff732fc5ce01015bfa0de9e5ebd35bc503c677769b423a2491f101'
|
|
'08c31a071d5ba385f3d612ff12950512917ce704fa0266820633906f2620c0ecb3d0e8f1d423117386745d155a065e42398bda8f02bec8035df5a222f305a94e')
|
|
|
|
# https://github.com/gentoo/gentoo/blob/c31d001aeedaf97917fa29fa859e16090cc50282/media-libs/shaderc/shaderc-2017.2.ebuild#L35-L65
|
|
prepare() {
|
|
cd ${pkgname}-${pkgver}
|
|
patch -Np1 < ../fix-glslang-link-order.patch
|
|
patch -Np1 < ../shaderc-2018.0-restore-NV_EXTENSIONS-guard.patch
|
|
|
|
# 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() {
|
|
mkdir -p ${pkgname}-${pkgver}/build
|
|
cd ${pkgname}-${pkgver}/build
|
|
cmake .. \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
-DSHADERC_SKIP_TESTS=ON \
|
|
-GNinja \
|
|
-DSHADERC_ENABLE_NV_EXTENSIONS=OFF # Currently requires glslang-git
|
|
ninja
|
|
|
|
cd ../glslc
|
|
asciidoctor -b manpage README.asciidoc -o glslc.1
|
|
}
|
|
|
|
package() {
|
|
cd ${pkgname}-${pkgver}
|
|
DESTDIR="${pkgdir}" ninja -C build install
|
|
install -Dm 644 glslc/glslc.1 -t "${pkgdir}/usr/share/man/man1"
|
|
}
|