Index: head/devel/apitrace/Makefile =================================================================== --- head/devel/apitrace/Makefile (revision 523925) +++ head/devel/apitrace/Makefile (revision 523926) @@ -1,37 +1,49 @@ # $FreeBSD$ PORTNAME= apitrace -DISTVERSION= 7.1-455 -PORTREVISION= 4 -DISTVERSIONSUFFIX= -g7c76b90 +DISTVERSION= 9.0 CATEGORIES= devel +PATCH_SITES= https://github.com/a17r/${GH_PROJECT}/commit/ +# use system brotli: https://github.com/apitrace/apitrace/pull/610 +PATCHFILES= cd3486343001d6a47.patch:-p1 \ + b0f5a220c41af013d.patch:-p1 + MAINTAINER= greg@unrelenting.technology COMMENT= Tools for tracing OpenGL and other graphics APIs LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -LIB_DEPENDS= libpng.so:graphics/png +LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ + libpng.so:graphics/png -USES= cmake compiler:c++11-lang pkgconfig python:2.7 shebangfix xorg +USES= cmake compiler:c++11-lang pkgconfig python:3.5+ shebangfix xorg USE_GITHUB= yes USE_XORG= x11 SHEBANG_FILES= scripts/*.py -OPTIONS_DEFINE= QT5 DOCS -OPTIONS_DEFAULT= QT5 -OPTIONS_SUB= yes +OPTIONS_DEFINE= DOCS QT5 WAFFLE +OPTIONS_DEFAULT= QT5 WAFFLE +OPTIONS_SUB= yes -QT5_CMAKE_BOOL= ENABLE_GUI +WAFFLE_DESC= Use Waffle library to allow retrace on Wayland, headless etc. + QT5_USES= qt:5 -QT5_USE= qt=core,gui,network,widgets,buildtools_build,qmake_build +QT5_USE= QT=core,gui,network,widgets,buildtools_build,qmake_build +QT5_CMAKE_BOOL= ENABLE_GUI + +WAFFLE_LIB_DEPENDS= libwaffle-1.so:graphics/waffle +WAFFLE_CMAKE_BOOL= ENABLE_WAFFLE + +post-patch: + ${REINPLACE_CMD} -e 's|__linux__|__unix__|' ${WRKSRC}/retrace/glstate_images.cpp post-install: ${RM} ${STAGEDIR}${DOCSDIR}/LICENSE.txt post-install-QT5-on: ${INSTALL_DATA} ${FILESDIR}/qapitrace.desktop ${STAGEDIR}${PREFIX}/share/applications .include Index: head/devel/apitrace/distinfo =================================================================== --- head/devel/apitrace/distinfo (revision 523925) +++ head/devel/apitrace/distinfo (revision 523926) @@ -1,3 +1,7 @@ -TIMESTAMP = 1507984453 -SHA256 (apitrace-apitrace-7.1-455-g7c76b90_GH0.tar.gz) = 235c5f402c1095bc7596073aa65bc4223b5fef3cc2ea54c000e92f735df5b825 -SIZE (apitrace-apitrace-7.1-455-g7c76b90_GH0.tar.gz) = 3578137 +TIMESTAMP = 1577315225 +SHA256 (apitrace-apitrace-9.0_GH0.tar.gz) = 0eec81ba7d3799622336319785465a2982a0621898842517a07894d7e2aa18eb +SIZE (apitrace-apitrace-9.0_GH0.tar.gz) = 3623693 +SHA256 (cd3486343001d6a47.patch) = 2cb56f451791f2155aa5f5f12aa19eb92cb44dd00ca51ca9a5f0d5645ca6eb77 +SIZE (cd3486343001d6a47.patch) = 1840 +SHA256 (b0f5a220c41af013d.patch) = e2f46c862d97ff45b57fed043342b8875b310c5d6bb6d7d7f7122bb2f1ac5bb0 +SIZE (b0f5a220c41af013d.patch) = 2866 Index: head/devel/apitrace/files/patch-dispatch_glproc__egl.cpp =================================================================== --- head/devel/apitrace/files/patch-dispatch_glproc__egl.cpp (revision 523925) +++ head/devel/apitrace/files/patch-dispatch_glproc__egl.cpp (revision 523926) @@ -1,29 +1,29 @@ ---- dispatch/glproc_egl.cpp.orig 2017-10-13 17:18:18 UTC +--- dispatch/glproc_egl.cpp.orig 2019-11-26 14:27:11 UTC +++ dispatch/glproc_egl.cpp -@@ -89,7 +89,7 @@ _getPublicProcAddress(const char *procNa +@@ -93,7 +93,7 @@ _getPublicProcAddress(const char *procName) if (procName[0] == 'e' && procName[1] == 'g' && procName[2] == 'l') { static void *libEGL = NULL; if (!libEGL) { - libEGL = _dlopen("libEGL.so", RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); + libEGL = _dlopen("libEGL.so", RTLD_LOCAL | RTLD_LAZY); if (!libEGL) { return NULL; } -@@ -132,7 +132,7 @@ _getPublicProcAddress(const char *procNa +@@ -136,7 +136,7 @@ _getPublicProcAddress(const char *procName) static void *libGLESv2 = NULL; if (!libGLESv2) { - libGLESv2 = _dlopen("libGLESv2.so", RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); + libGLESv2 = _dlopen("libGLESv2.so", RTLD_LOCAL | RTLD_LAZY); } if (libGLESv2) { proc = dlsym(libGLESv2, procName); -@@ -143,7 +143,7 @@ _getPublicProcAddress(const char *procNa +@@ -147,7 +147,7 @@ _getPublicProcAddress(const char *procName) static void *libGLESv1 = NULL; if (!libGLESv1) { - libGLESv1 = _dlopen("libGLESv1_CM.so", RTLD_LOCAL | RTLD_LAZY | RTLD_DEEPBIND); + libGLESv1 = _dlopen("libGLESv1_CM.so", RTLD_LOCAL | RTLD_LAZY); } if (libGLESv1) { proc = dlsym(libGLESv1, procName); Index: head/devel/apitrace/files/patch-retrace_CMakeLists.txt =================================================================== --- head/devel/apitrace/files/patch-retrace_CMakeLists.txt (revision 523925) +++ head/devel/apitrace/files/patch-retrace_CMakeLists.txt (revision 523926) @@ -1,18 +1,26 @@ ---- retrace/CMakeLists.txt.orig 2017-10-13 17:18:18 UTC +--- retrace/CMakeLists.txt.orig 2019-11-26 14:27:11 UTC +++ retrace/CMakeLists.txt @@ -123,6 +123,7 @@ if (WIN32 OR APPLE OR X11_FOUND) retrace_common glretrace_common glhelpers + glproc glproc_gl ) -@@ -169,6 +170,7 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN +@@ -169,6 +170,7 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APP retrace_common glretrace_common glhelpers + glproc glproc_egl ${X11_X11_LIB} ${CMAKE_THREAD_LIBS_INIT} +@@ -184,6 +186,7 @@ if (ENABLE_EGL AND ENABLE_WAFFLE) + + add_dependencies (eglretrace glproc) + include_directories (${Waffle_INCLUDE_DIRS}) ++ target_link_directories (eglretrace PRIVATE ${Waffle_LIBRARY_DIRS}) + + target_link_libraries (eglretrace + retrace_common Index: head/devel/apitrace/files/patch-wrappers_trace.py =================================================================== --- head/devel/apitrace/files/patch-wrappers_trace.py (revision 523925) +++ head/devel/apitrace/files/patch-wrappers_trace.py (revision 523926) @@ -1,11 +1,11 @@ ---- wrappers/trace.py.orig 2017-10-13 17:18:18 UTC +--- wrappers/trace.py.orig 2019-12-25 20:28:21 UTC +++ wrappers/trace.py -@@ -521,7 +521,7 @@ class Tracer: - print '# define alloca _alloca' - print '# endif' - print '#else' -- print '# include // alloca' -+ print '# include // alloca' - print '#endif' - print - print +@@ -524,7 +524,7 @@ class Tracer: + print('# define alloca _alloca') + print('# endif') + print('#else') +- print('# include // alloca') ++ print('# include // alloca') + print('#endif') + print() + print() Index: head/devel/apitrace/pkg-plist =================================================================== --- head/devel/apitrace/pkg-plist (revision 523925) +++ head/devel/apitrace/pkg-plist (revision 523926) @@ -1,25 +1,24 @@ bin/apitrace bin/eglretrace bin/glretrace %%QT5%%bin/qapitrace %%QT5%%share/applications/qapitrace.desktop lib/apitrace/scripts/apitrace.PIXExp lib/apitrace/scripts/convert.py lib/apitrace/scripts/highlight.py lib/apitrace/scripts/jsondiff.py lib/apitrace/scripts/jsonextractimages.py lib/apitrace/scripts/leaks.py lib/apitrace/scripts/profileshader.py lib/apitrace/scripts/retracediff.py lib/apitrace/scripts/snapdiff.py lib/apitrace/scripts/tracecheck.py lib/apitrace/scripts/tracediff.py lib/apitrace/scripts/unpickle.py lib/apitrace/wrappers/egltrace.so lib/apitrace/wrappers/glxtrace.so %%PORTDOCS%%%%DOCSDIR%%/BUGS.markdown -%%PORTDOCS%%%%DOCSDIR%%/LICENSE-brotli.txt %%PORTDOCS%%%%DOCSDIR%%/LICENSE-snappy.txt %%PORTDOCS%%%%DOCSDIR%%/NEWS.markdown %%PORTDOCS%%%%DOCSDIR%%/README.markdown %%PORTDOCS%%%%DOCSDIR%%/USAGE.markdown