2019-02-03 18:28:37 +01:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= libplacebo
|
|
|
|
DISTVERSIONPREFIX= v
|
2020-11-10 11:14:09 +01:00
|
|
|
DISTVERSION= 2.72.2
|
2019-02-03 18:28:37 +01:00
|
|
|
CATEGORIES= graphics
|
|
|
|
|
|
|
|
MAINTAINER= jbeich@FreeBSD.org
|
|
|
|
COMMENT= Reusable library for GPU-accelerated video/image rendering
|
|
|
|
|
|
|
|
LICENSE= LGPL21+
|
|
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
|
2020-06-12 14:53:01 +02:00
|
|
|
USES= compiler:c11 localbase:ldflags meson pkgconfig python:3.6+,build
|
2019-02-03 18:28:37 +01:00
|
|
|
USE_GITHUB= yes
|
|
|
|
USE_LDCONFIG= yes
|
|
|
|
GH_ACCOUNT= haasn
|
|
|
|
|
2020-04-23 02:56:57 +02:00
|
|
|
OPTIONS_DEFINE= LCMS2 OPENGL TEST VULKAN
|
|
|
|
OPTIONS_DEFAULT=LCMS2 OPENGL SHADERC
|
2019-02-03 18:28:37 +01:00
|
|
|
OPTIONS_SINGLE= VULKAN
|
|
|
|
OPTIONS_SINGLE_VULKAN= GLSLANG SHADERC
|
2020-06-12 14:53:01 +02:00
|
|
|
OPTIONS_SUB= yes
|
2019-02-03 18:28:37 +01:00
|
|
|
|
|
|
|
GLSLANG_DESC= glslang SPIR-V compiler
|
|
|
|
GLSLANG_BUILD_DEPENDS= glslang>0:devel/glslang
|
2019-02-25 23:07:54 +01:00
|
|
|
GLSLANG_MESON_ENABLED= glslang
|
graphics/libplacebo: unbreak GLSLANG after r535260
src/meson.build:64:2: ERROR: C++ library 'glslang' not found
Running compile:
Working directory: /wrkdirs/usr/ports/graphics/libplacebo/work/libplacebo-2.72.0/_build/meson-private/tmpnxxyvdwe
Command line: c++ -L/usr/local/lib /wrkdirs/usr/ports/graphics/libplacebo/work/libplacebo-2.72.0/_build/meson-private/tmpnxxyvdwe/testfile.cpp -o /wrkdirs/usr/ports/graphics/libplacebo/work/libplacebo-2.72.0/_build/meson-private/tmpnxxyvdwe/output.exe -pipe -O2 -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -isystem /usr/local/include -D_FILE_OFFSET_BITS=64 -O0 -fpermissive -Wl,--start-group -lglslang -Wl,--end-group -Wl,--allow-shlib-undefined
Code:
int main(void) { return 0; }
Compiler stdout:
Compiler stderr:
ld: error: undefined symbol: glslang::OS_GetTLSValue(void*)
>>> referenced by PoolAlloc.cpp
>>> PoolAlloc.cpp.o:(glslang::GetThreadPoolAllocator()) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::OS_SetTLSValue(void*, void*)
>>> referenced by PoolAlloc.cpp
>>> PoolAlloc.cpp.o:(glslang::SetThreadPoolAllocator(glslang::TPoolAllocator*)) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::OS_AllocTLSIndex()
>>> referenced by PoolAlloc.cpp
>>> PoolAlloc.cpp.o:(glslang::InitializePoolIndex()) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::GlslangToSpv(glslang::TIntermediate const&, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >&, spv::SpvBuildLogger*, glslang::SpvOptions*)
>>> referenced by glslang_c_interface.cpp
>>> glslang_c_interface.cpp.o:(glslang_program_SPIRV_generate) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: spv::SpvBuildLogger::getAllMessages() const
>>> referenced by glslang_c_interface.cpp
>>> glslang_c_interface.cpp.o:(glslang_program_SPIRV_generate) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShInitialize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitProcess()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShInitialize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::GetGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShInitialize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::ReleaseGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShInitialize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::HlslScanContext::fillInKeywordMap()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShInitialize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitThread()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShConstructCompiler) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitThread()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShConstructLinker) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitThread()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShConstructUniformMap) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::GetGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShFinalize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::ReleaseGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShFinalize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::HlslScanContext::deleteKeywordMap()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(ShFinalize) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitThread()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::InitThread()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:(glslang::TShader::preprocess(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, glslang::TShader::Includer&)) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::GetGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:((anonymous namespace)::SetupBuiltinSymbolTable(int, EProfile, glslang::SpvVersion const&, glslang::EShSource)) in archive /usr/local/lib/libglslang.a
ld: error: undefined symbol: glslang::ReleaseGlobalLock()
>>> referenced by ShaderLang.cpp
>>> ShaderLang.cpp.o:((anonymous namespace)::SetupBuiltinSymbolTable(int, EProfile, glslang::SpvVersion const&, glslang::EShSource)) in archive /usr/local/lib/libglslang.a
ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
c++: error: linker command failed with exit code 1 (use -v to see invocation)
Reported by: VVD <vvd@unislabs.com>
2020-06-12 18:08:06 +02:00
|
|
|
GLSLANG_VARS= LLD_UNSAFE=yes
|
2019-02-03 18:28:37 +01:00
|
|
|
GLSLANG_IMPLIES= VULKAN
|
|
|
|
|
|
|
|
LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2
|
2019-02-25 23:07:54 +01:00
|
|
|
LCMS2_MESON_ENABLED= lcms
|
2019-02-03 18:28:37 +01:00
|
|
|
|
2020-04-23 02:56:57 +02:00
|
|
|
OPENGL_LIB_DEPENDS= libepoxy.so:graphics/libepoxy
|
|
|
|
OPENGL_MESON_ENABLED= opengl
|
|
|
|
|
2019-02-03 18:28:37 +01:00
|
|
|
SHADERC_DESC= libshaderc SPIR-V compiler
|
|
|
|
SHADERC_LIB_DEPENDS= libshaderc_shared.so:graphics/shaderc
|
2019-02-25 23:07:54 +01:00
|
|
|
SHADERC_MESON_ENABLED= shaderc
|
2019-02-03 18:28:37 +01:00
|
|
|
SHADERC_IMPLIES= VULKAN
|
|
|
|
|
|
|
|
TEST_MESON_TRUE= tests
|
|
|
|
|
|
|
|
VULKAN_DESC= Vulkan-based renderer
|
2020-06-12 14:53:01 +02:00
|
|
|
VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers \
|
|
|
|
${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR}
|
2019-02-03 18:28:37 +01:00
|
|
|
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
|
2019-02-25 23:07:54 +01:00
|
|
|
VULKAN_MESON_ENABLED= vulkan
|
2019-02-03 18:28:37 +01:00
|
|
|
|
|
|
|
post-patch:
|
2020-06-12 14:53:01 +02:00
|
|
|
@${REINPLACE_CMD} -e 's,/usr/share,${PREFIX}/share,' \
|
|
|
|
${WRKSRC}/src/vulkan/utils_gen.py
|
2019-02-03 18:28:37 +01:00
|
|
|
# Extract (snapshot) version from port version instead of meson.build
|
|
|
|
@${REINPLACE_CMD} "s/version_pretty/'${DISTVERSIONFULL}'/" \
|
|
|
|
${WRKSRC}/src/meson.build
|
|
|
|
|
|
|
|
pre-install-TEST-on: do-test
|
|
|
|
|
|
|
|
.include <bsd.port.mk>
|