summaryrefslogtreecommitdiff
path: root/glslang/Pkgfile
blob: ba4dd84696d3b2db32ba833c1f4874b86bbb4514 (plain)
    1 # Description: OpenGL and OpenGL ES shader front end and validator
    2 # URL: https://www.khronos.org/opengles/sdk/tools/Reference-Compiler
    3 # Maintainer: Danny Rawlins, crux at romster dot me
    4 # Depends on: cmake
    5 # Optional: ninja
    6 
    7 name=glslang
    8 version=11.8.0
    9 release=1
   10 _spirv_headers=b42ba6d92faf6b4938e6f22ddd186dbdacc98d78
   11 _spirv_tools=73735db943d7165d725883a1da0ad9eac79c1e34
   12 source=(https://github.com/KhronosGroup/glslang/archive/$version/$name-$version.tar.gz
   13 	https://github.com/KhronosGroup/SPIRV-Headers/archive/$_spirv_headers/SPIRV-Headers-$_spirv_headers.tar.gz
   14 	https://github.com/KhronosGroup/SPIRV-Tools/archive/$_spirv_tools/SPIRV-Tools-$_spirv_tools.tar.gz
   15 	known_good.py.in)
   16 
   17 build() {
   18 	cp -r SPIRV-Tools-$_spirv_tools $name-$version/External/spirv-tools
   19 	cp -r SPIRV-Headers-$_spirv_headers $name-$version/External/spirv-tools/external/spirv-headers
   20 
   21 	sed -e "s|@SRC@|$SRC/$name-$version|" $SRC/known_good.py.in > $SRC/known_good.py
   22 	chmod u+x $SRC/known_good.py
   23 	$SRC/known_good.py
   24 
   25 	prt-get isinst ninja && PKGMK_GLSLANG+=' -G Ninja'
   26 	prt-get isinst ccache && \
   27 		PKGMK_GLSLANG+=' -D USE_CCACHE=ON' && \
   28 		PATH="$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')"
   29 
   30 	local config="
   31 		-S $name-$version
   32 		-D CMAKE_INSTALL_PREFIX=/usr
   33 		-D CMAKE_INSTALL_LIBDIR=lib
   34 		-D CMAKE_BUILD_TYPE=Release
   35 		-D CMAKE_SKIP_RPATH:BOOL=yes
   36 		-Wno-dev"
   37 
   38 	cmake -B build-static $config $PKGMK_GLSLANG \
   39 		-D BUILD_SHARED_LIBS=OFF \
   40 		-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS}"
   41 	cmake --build build-static
   42 
   43 	# https://github.com/KhronosGroup/glslang/issues/1484 -Wl,--no-undefined
   44 	cmake -B build-shared $config $PKGMK_GLSLANG \
   45 		-D BUILD_SHARED_LIBS=ON \
   46 		-D CMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS}" \
   47 		-D CMAKE_SHARED_LINKER_FLAGS='-Wl,--no-undefined'
   48 	cmake --build build-shared
   49 
   50 	DESTDIR=$PKG cmake --build build-static --target install
   51 	DESTDIR=$PKG cmake --build build-shared --target install
   52 
   53 	mv $PKG/usr/bin/spirv-remap $SRC/
   54 	rm -r $PKG/usr/{bin/spirv*,include/spirv-tools,lib/cmake/SPIRV-Tools*,lib/libSPIRV-*,lib/pkgconfig}
   55 	mv $SRC/spirv-remap $PKG/usr/bin/spirv-remap
   56 }

Generated by cgit