svn commit: r559314 - in head/graphics/shaderc: . files
Jan Beich
jbeich at FreeBSD.org
Sat Dec 26 22:30:39 UTC 2020
Author: jbeich
Date: Sat Dec 26 22:30:38 2020
New Revision: 559314
URL: https://svnweb.freebsd.org/changeset/ports/559314
Log:
graphics/shaderc: clean up
- Optionally build tests
- Connect to "make test"
- Enable examples (not installed)
- Define complete version
- Document patches
- Improve style
Added:
head/graphics/shaderc/files/patch-system-gmock (contents, props changed)
Modified:
head/graphics/shaderc/Makefile (contents, props changed)
head/graphics/shaderc/files/patch-system-glslang (contents, props changed)
Modified: head/graphics/shaderc/Makefile
==============================================================================
--- head/graphics/shaderc/Makefile Sat Dec 26 21:53:52 2020 (r559313)
+++ head/graphics/shaderc/Makefile Sat Dec 26 22:30:38 2020 (r559314)
@@ -1,9 +1,9 @@
# $FreeBSD$
PORTNAME= shaderc
-DISTVERSIONPREFIX=v
+DISTVERSIONPREFIX= v
DISTVERSION= 2020.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= graphics devel
MAINTAINER= jbeich at FreeBSD.org
@@ -11,26 +11,38 @@ COMMENT= GLSL/HLSL to SPIR-V shader compiler
LICENSE= APACHE20
-BUILD_DEPENDS= ${LOCALBASE}/lib/libHLSL.a:graphics/glslang \
- ${LOCALBASE}/lib/libSPIRV-Tools-opt.a:graphics/spirv-tools
+BUILD_DEPENDS= glslang>0:graphics/glslang \
+ spirv-tools>0:graphics/spirv-tools
-USES= cmake compiler:c++11-lib pkgconfig localbase:ldflags python:build
-USE_LDCONFIG= yes
-
+USES= cmake compiler:c++11-lib localbase:ldflags python:3.4+,build
USE_GITHUB= yes
+USE_LDCONFIG= yes
GH_ACCOUNT= google
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.3:headers/third_party/spirv-headers
-
+CMAKE_ARGS= -Dglslang_SOURCE_DIR:PATH="${LOCALBASE}/include/glslang" \
+ -DSPIRV-Headers_SOURCE_DIR:PATH="${WRKSRC}/third_party/spirv-headers"
LDFLAGS+= -Wl,-z,defs # glslang
-CMAKE_ON+= SHADERC_SKIP_TESTS
-CMAKE_ARGS+= -DSPIRV-Headers_SOURCE_DIR=${WRKSRC}/third_party/spirv-headers
-CMAKE_ARGS+= -Dglslang_SOURCE_DIR=${LOCALBASE}/include/glslang
-# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/shaderc
+OPTIONS_DEFINE= TEST
+TEST_BUILD_DEPENDS= googletest>0:devel/googletest
+TEST_TEST_TARGET= test
+TEST_CMAKE_BOOL_OFF= SHADERC_SKIP_TESTS
+
post-patch:
- ${REINPLACE_CMD} '/examples/d;/third_party/d' ${WRKSRC}/CMakeLists.txt
+# Disable bundled dependencies
+ ${REINPLACE_CMD} '/third_party/d' ${WRKSRC}/CMakeLists.txt
+# Unbreak tests with system spirv-tools
+ ${REINPLACE_CMD} 's,\$$<TARGET_FILE:\(spirv-dis\)>,\1,' \
+ ${WRKSRC}/glslc/test/CMakeLists.txt
+
+pre-configure:
+# Extract (snapshot) version from the port instead of CHANGES + .git/
${REINPLACE_CMD} '/build-version/d' ${WRKSRC}/glslc/CMakeLists.txt
- ${ECHO} "\"${DISTVERSIONFULL}\"" > ${WRKSRC}/glslc/src/build-version.inc
+ ${ECHO_CMD} "\"${PORTNAME} ${DISTVERSIONFULL}\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
+ ${ECHO_CMD} "\"`${PKG_BIN} query '%n v%v' spirv-tools`\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
+ ${ECHO_CMD} "\"`${PKG_BIN} query '%n 10-%v' glslang`\n\"" >> ${WRKSRC}/glslc/src/build-version.inc
+
+pre-install-TEST-on: do-test
.include <bsd.port.mk>
Modified: head/graphics/shaderc/files/patch-system-glslang
==============================================================================
--- head/graphics/shaderc/files/patch-system-glslang Sat Dec 26 21:53:52 2020 (r559313)
+++ head/graphics/shaderc/files/patch-system-glslang Sat Dec 26 22:30:38 2020 (r559314)
@@ -1,3 +1,8 @@
+ld: error: undefined symbol: spvBinaryDestroy
+>>> referenced by shaderc.cc
+>>> shaderc.cc.o:(shaderc_compilation_result_spv_binary::~shaderc_compilation_result_spv_binary()) in archive libshaderc/./libshaderc_combined.a
+>>> referenced by shaderc.cc
+>>> shaderc.cc.o:(shaderc_compilation_result_spv_binary::~shaderc_compilation_result_spv_binary()) in archive libshaderc/./libshaderc_combined.a
ld: error: undefined symbol: glslang::InitializeProcess()
>>> referenced by compiler.cc
>>> compiler.cc.o:(shaderc_util::GlslangInitializer::GlslangInitializer()) in archive libshaderc_util/libshaderc_util.a
@@ -5,6 +10,17 @@ ld: error: undefined symbol: ConstructCompiler(EShLang
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShConstructCompiler) in archive /usr/local/lib/libMachineIndependent.a
+--- libshaderc/CMakeLists.txt.orig 2020-12-09 21:30:21 UTC
++++ libshaderc/CMakeLists.txt
+@@ -114,7 +114,7 @@ endif(SHADERC_ENABLE_INSTALL)
+
+ shaderc_add_tests(
+ TEST_PREFIX shaderc_combined
+- LINK_LIBS shaderc_combined ${CMAKE_THREAD_LIBS_INIT}
++ LINK_LIBS shaderc_combined ${SHADERC_LIBS}
+ INCLUDE_DIRS include ${shaderc_SOURCE_DIR}/libshaderc_util/include ${glslang_SOURCE_DIR}
+ ${spirv-tools_SOURCE_DIR}/include
+ ${SPIRV-Headers_SOURCE_DIR}/include
--- libshaderc_util/CMakeLists.txt.orig 2020-12-09 21:30:21 UTC
+++ libshaderc_util/CMakeLists.txt
@@ -46,8 +46,8 @@ add_definitions(-DENABLE_HLSL)
Added: head/graphics/shaderc/files/patch-system-gmock
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/shaderc/files/patch-system-gmock Sat Dec 26 22:30:38 2020 (r559314)
@@ -0,0 +1,18 @@
+ld: error: undefined symbol: testing::internal::IsTrue(bool)
+>>> referenced by compiler_test.cc
+>>> libshaderc_util/CMakeFiles/shaderc_util_compiler_test.dir/src/compiler_test.cc.o:(testing::internal::SuiteApiResolver<(anonymous namespace)::CompilerTest>::GetSetUpCaseOrSuite(char const*, int))
+ld: error: undefined symbol: pthread_create
+>>> referenced by shaderc_test.cc
+>>> libshaderc/CMakeFiles/shaderc_shared_shaderc_test.dir/src/shaderc_test.cc.o:((anonymous namespace)::Init_MultipleThreadsCalling_Test::TestBody())
+
+--- cmake/utils.cmake.orig 2020-12-09 21:30:21 UTC
++++ cmake/utils.cmake
+@@ -18,7 +18,7 @@ function (shaderc_use_gmock TARGET)
+ target_include_directories(${TARGET} PRIVATE
+ ${gmock_SOURCE_DIR}/include
+ ${gtest_SOURCE_DIR}/include)
+- target_link_libraries(${TARGET} PRIVATE gmock gtest_main)
++ target_link_libraries(${TARGET} PRIVATE gmock gtest gtest_main ${CMAKE_THREAD_LIBS_INIT})
+ endfunction(shaderc_use_gmock)
+
+ function(shaderc_default_c_compile_options TARGET)
More information about the svn-ports-all
mailing list