Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Dec 2020 22:30:38 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r559314 - in head/graphics/shaderc: . files
Message-ID:  <202012262230.0BQMUd8S094188@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012262230.0BQMUd8S094188>