From owner-svn-ports-head@freebsd.org Sat Dec 26 22:30:39 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A7E8B4C43BE; Sat, 26 Dec 2020 22:30:39 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4D3JRg4CpFz4mmH; Sat, 26 Dec 2020 22:30:39 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 81CDF1C2CF; Sat, 26 Dec 2020 22:30:39 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0BQMUdQs094190; Sat, 26 Dec 2020 22:30:39 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0BQMUd8S094188; Sat, 26 Dec 2020 22:30:39 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <202012262230.0BQMUd8S094188@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Sat, 26 Dec 2020 22:30:38 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r559314 - in head/graphics/shaderc: . files X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/graphics/shaderc: . files X-SVN-Commit-Revision: 559314 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Dec 2020 22:30:39 -0000 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,\$$,\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 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)