git: 11bebdd13579 - main - devel/apitrace: update to 12.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 16 Mar 2025 10:20:40 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=11bebdd1357942d79dfb6fa14bf1cafa2fc2e55f
commit 11bebdd1357942d79dfb6fa14bf1cafa2fc2e55f
Author: Martin Filla <freebsd@sysctl.cz>
AuthorDate: 2025-03-15 17:49:42 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-03-16 10:19:30 +0000
devel/apitrace: update to 12.0
- submitter becomes maintainer
- update and unbundle dependencies
Changelog: https://github.com/apitrace/apitrace/releases/tag/12.0
PR: 283619
---
devel/apitrace/Makefile | 41 +++---
devel/apitrace/distinfo | 14 +-
devel/apitrace/files/patch-CMakeLists.txt | 12 +-
.../apitrace/files/patch-lib_trace_CMakeLists.txt | 11 ++
devel/apitrace/files/patch-retrace_CMakeLists.txt | 26 ----
.../apitrace/files/patch-thirdparty_CMakeLists.txt | 113 +++++++++++++++
.../files/patch-thirdparty_libbacktrace_dwarf.c | 156 ---------------------
devel/apitrace/pkg-plist | 7 +-
8 files changed, 162 insertions(+), 218 deletions(-)
diff --git a/devel/apitrace/Makefile b/devel/apitrace/Makefile
index 3f1f560c0e9a..60f04c7eacd0 100644
--- a/devel/apitrace/Makefile
+++ b/devel/apitrace/Makefile
@@ -1,44 +1,49 @@
PORTNAME= apitrace
-DISTVERSION= 9.0
-PORTREVISION= 2
+DISTVERSION= 12.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
-# detect RTLD_DEEPBIND: https://github.com/apitrace/apitrace/pull/571
-PATCHFILES+= 2d31d49eac9bcc010.patch:-p1
-
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= freebsd@sysctl.cz
COMMENT= Tools for tracing OpenGL and other graphics APIs
WWW= https://apitrace.github.io
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= brotli>0:archivers/brotli \
+ googletest>0:devel/googletest \
+ libbacktrace>0:devel/libbacktrace \
+ png>0:graphics/png \
+ snappy>0:archivers/snappy
+
LIB_DEPENDS= libbrotlidec.so:archivers/brotli \
- libpng.so:graphics/png
+ libbacktrace.so:devel/libbacktrace \
+ libpng.so:graphics/png \
+ libsnappy.so:archivers/snappy
-USES= cmake compiler:c++11-lang pkgconfig python shebangfix xorg
-USE_GITHUB= yes
+USES= cmake compiler:c++11-lang desktop-file-utils pkgconfig python shebangfix xorg
USE_XORG= x11
+USE_GITHUB= yes
+GH_ACCOUNT= apitrace
+GH_PROJECT= apitrace
+GH_TUPLE= microsoft:DirectXMath:e95d848:DirectXMath/thirdparty/directxmath
+
SHEBANG_FILES= scripts/*.py
OPTIONS_DEFINE= DOCS QT5 WAFFLE
OPTIONS_DEFAULT= QT5 WAFFLE
OPTIONS_SUB= yes
-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_CMAKE_BOOL= ENABLE_GUI
+QT5_USES= qt:5
+QT5_USE= QT=core,gui,network,widgets,buildtools:build,qmake:build
+QT5_CMAKE_BOOL= ENABLE_GUI
+WAFFLE_DESC= Use Waffle library to allow retrace on Wayland, headless etc.
WAFFLE_LIB_DEPENDS= libwaffle-1.so:graphics/waffle
WAFFLE_CMAKE_BOOL= ENABLE_WAFFLE
+LDFLAGS+= -L${LOCALBASE}/lib
+
post-patch:
${REINPLACE_CMD} -e 's|__linux__|__unix__|' ${WRKSRC}/retrace/glstate_images.cpp
diff --git a/devel/apitrace/distinfo b/devel/apitrace/distinfo
index 7047417ff067..2feb17a37a07 100644
--- a/devel/apitrace/distinfo
+++ b/devel/apitrace/distinfo
@@ -1,9 +1,5 @@
-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
-SHA256 (2d31d49eac9bcc010.patch) = 315733330ab80a19b5565a439bdac8c62a80605302db03721e05c93e6ce9db52
-SIZE (2d31d49eac9bcc010.patch) = 633
+TIMESTAMP = 1741604876
+SHA256 (apitrace-apitrace-12.0_GH0.tar.gz) = d6d3c8eb582f2953dd2ca780ce2750e44208d1b4e73d973e3f72c5326307faf3
+SIZE (apitrace-apitrace-12.0_GH0.tar.gz) = 2273615
+SHA256 (microsoft-DirectXMath-e95d848_GH0.tar.gz) = efc8fe6c7cebe8e90d5d29020e2f09e7af41570959ec7ab501b55a7d36aad318
+SIZE (microsoft-DirectXMath-e95d848_GH0.tar.gz) = 219785
diff --git a/devel/apitrace/files/patch-CMakeLists.txt b/devel/apitrace/files/patch-CMakeLists.txt
index ed25e71f8bf1..f4ecc1842560 100644
--- a/devel/apitrace/files/patch-CMakeLists.txt
+++ b/devel/apitrace/files/patch-CMakeLists.txt
@@ -1,13 +1,13 @@
---- CMakeLists.txt.orig 2021-04-07 12:23:46 UTC
+--- CMakeLists.txt.orig 2024-05-30 18:10:10 UTC
+++ CMakeLists.txt
-@@ -408,6 +408,10 @@ test_big_endian (HAVE_BIGENDIAN)
- if (HAVE_BIGENDIAN)
- add_definitions (-DHAVE_BIGENDIAN)
+@@ -411,6 +411,10 @@ endif ()
+ elseif (ENABLE_STATIC_EXE)
+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
endif ()
+# CMake 3.20 doesn't do the tests internally in TestBigEndian
+# that end up setting HAVE_STDINT_H and similar.
+include(CheckTypeSize)
+CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT LANGUAGE C)
- # Force certain components to always be built as release
- macro (force_release_build)
+ if (ENABLE_FRAME_POINTER)
+ # disable frame pointer omission
diff --git a/devel/apitrace/files/patch-lib_trace_CMakeLists.txt b/devel/apitrace/files/patch-lib_trace_CMakeLists.txt
new file mode 100644
index 000000000000..9e61019d6f69
--- /dev/null
+++ b/devel/apitrace/files/patch-lib_trace_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- lib/trace/CMakeLists.txt.orig 2024-05-30 18:10:10 UTC
++++ lib/trace/CMakeLists.txt
+@@ -27,6 +27,8 @@ add_convenience_library (common
+ trace_ostream_zlib.cpp
+ )
+
++find_package(Snappy REQUIRED)
++
+ target_link_libraries (common
+ guids
+ highlight
diff --git a/devel/apitrace/files/patch-retrace_CMakeLists.txt b/devel/apitrace/files/patch-retrace_CMakeLists.txt
deleted file mode 100644
index ff0869b1a724..000000000000
--- a/devel/apitrace/files/patch-retrace_CMakeLists.txt
+++ /dev/null
@@ -1,26 +0,0 @@
---- 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 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
diff --git a/devel/apitrace/files/patch-thirdparty_CMakeLists.txt b/devel/apitrace/files/patch-thirdparty_CMakeLists.txt
new file mode 100644
index 000000000000..982275526b6c
--- /dev/null
+++ b/devel/apitrace/files/patch-thirdparty_CMakeLists.txt
@@ -0,0 +1,113 @@
+--- thirdparty/CMakeLists.txt.orig 2024-05-30 18:10:10 UTC
++++ thirdparty/CMakeLists.txt
+@@ -16,54 +16,69 @@ endfunction ()
+ include (${ARGV})
+ endfunction ()
+
+-set (SUBMODULES_MISSING FALSE)
+-foreach (path IN ITEMS
+- brotli/LICENSE
+- gtest/LICENSE
+- libbacktrace/LICENSE
+- libpng/LICENSE
+- snappy/COPYING
+- zlib/README
+- directxmath/LICENSE
+-)
+- if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${path}")
+- message (SEND_ERROR "error: ${CMAKE_CURRENT_SOURCE_DIR}/${path} does not exist")
+- set (SUBMODULES_MISSING TRUE)
+- endif ()
+-endforeach ()
+-if (SUBMODULES_MISSING)
+- message (FATAL_ERROR "Update Git submodules by running\ngit submodule update --init --depth 1 --recursive")
+-endif ()
++#set (SUBMODULES_MISSING FALSE)
++#foreach (path IN ITEMS
++# brotli/LICENSE
++# gtest/LICENSE
++# libbacktrace/LICENSE
++# libpng/LICENSE
++# snappy/COPYING
++# zlib/README
++# directxmath/LICENSE
++#)
++# if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${path}")
++# message (SEND_ERROR "error: ${CMAKE_CURRENT_SOURCE_DIR}/${path} does not exist")
++# set (SUBMODULES_MISSING TRUE)
++# endif ()
++#endforeach ()
++#if (SUBMODULES_MISSING)
++# message (FATAL_ERROR "Update Git submodules by running\ngit submodule update --init --depth 1 --recursive")
++#endif ()
+
+-if (ENABLE_STATIC_SNAPPY OR NOT Snappy_FOUND)
+- message (STATUS "Using bundled Snappy")
+- include_with_scope (snappy.cmake)
+-endif ()
++#if (ENABLE_STATIC_SNAPPY OR NOT Snappy_FOUND)
++# message (STATUS "Using bundled Snappy")
++# include_with_scope (snappy.cmake)
++#endif ()
+
+-if (NOT ZLIB_FOUND)
+- message (STATUS "Using bundled ZLIB")
+- include_with_scope (zlib.cmake)
+-endif ()
++#if (NOT ZLIB_FOUND)
++# message (STATUS "Using bundled ZLIB")
++# include_with_scope (zlib.cmake)
++#endif ()
+
+-if (NOT PNG_FOUND)
+- message (STATUS "Using bundled PNG")
+- include_with_scope (libpng.cmake)
+-endif ()
++#if (NOT PNG_FOUND)
++# message (STATUS "Using bundled PNG")
++# include_with_scope (libpng.cmake)
++#endif ()
+
+-if (NOT BROTLIDEC_FOUND OR NOT BROTLIENC_FOUND)
+- message (STATUS "Using bundled Brotli")
+- include_with_scope (brotli.cmake)
+-endif ()
++#if (NOT BROTLIDEC_FOUND OR NOT BROTLIENC_FOUND)
++# message (STATUS "Using bundled Brotli")
++# include_with_scope (brotli.cmake)
++#endif ()
+
+-if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
+- include_with_scope (libbacktrace.cmake)
+-endif ()
++#if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
++# include_with_scope (libbacktrace.cmake)
++#endif ()
+
+ # We use non-standard C++ flags, so we can't just use GTest's CMakeLists.txt
+-if (NOT GTEST_FOUND)
+- message (STATUS "Using bundled GTest")
+- include_with_scope (gtest.cmake)
+-endif ()
++#if (NOT GTEST_FOUND)
++# message (STATUS "Using bundled GTest")
++# include_with_scope (gtest.cmake)
++#endif ()
++find_path(Snappy_INCLUDE_DIR NAMES snappy.h
++ PATHS ${Snappy_ROOT_DIR} ${Snappy_ROOT_DIR}/include /usr/local/include)
++
++find_library(Snappy_LIBRARIES NAMES snappy
++ PATHS ${Snappy_ROOT_DIR} ${Snappy_ROOT_DIR}/lib /usr/local/lib)
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(Snappy DEFAULT_MSG Snappy_INCLUDE_DIR Snappy_LIBRARIES)
++
++if(SNAPPY_FOUND)
++ message(STATUS "Found Snappy (include: ${Snappy_INCLUDE_DIR}, library: ${Snappy_LIBRARIES})")
++ mark_as_advanced(Snappy_INCLUDE_DIR Snappy_LIBRARIES)
++ find_package(Snappy REQUIRED)
++ target_link_libraries(Snappy::snappy)
++endif()
+
+ if (MSVC)
+ add_subdirectory (getopt)
diff --git a/devel/apitrace/files/patch-thirdparty_libbacktrace_dwarf.c b/devel/apitrace/files/patch-thirdparty_libbacktrace_dwarf.c
deleted file mode 100644
index 6f58dcfe953a..000000000000
--- a/devel/apitrace/files/patch-thirdparty_libbacktrace_dwarf.c
+++ /dev/null
@@ -1,156 +0,0 @@
---- thirdparty/libbacktrace/dwarf.c.orig 2017-10-13 17:18:18 UTC
-+++ thirdparty/libbacktrace/dwarf.c
-@@ -768,21 +768,27 @@ read_attribute (enum dwarf_form form, st
- version, addrsize, dwarf_str, dwarf_str_size,
- val);
- }
-+#if defined(DW_FORM_sec_offset) // not defined on 10
- case DW_FORM_sec_offset:
- val->encoding = ATTR_VAL_REF_SECTION;
- val->u.uint = read_offset (buf, is_dwarf64);
- return 1;
-+#endif
-+#if defined(DW_FORM_exprloc) // not defined on 10
- case DW_FORM_exprloc:
- val->encoding = ATTR_VAL_EXPR;
- return advance (buf, read_uleb128 (buf));
-+#endif
- case DW_FORM_flag_present:
- val->encoding = ATTR_VAL_UINT;
- val->u.uint = 1;
- return 1;
-+#if defined(DW_FORM_ref_sig8) // not defined on 10
- case DW_FORM_ref_sig8:
- val->encoding = ATTR_VAL_REF_TYPE;
- val->u.uint = read_uint64 (buf);
- return 1;
-+#endif
- case DW_FORM_GNU_addr_index:
- val->encoding = ATTR_VAL_REF_SECTION;
- val->u.uint = read_uleb128 (buf);
-@@ -1314,7 +1320,7 @@ find_address_ranges (struct backtrace_st
- highpc_is_relative = 1;
- }
- break;
--
-+#if defined(DW_AT_ranges) // not defined on 10
- case DW_AT_ranges:
- if (val.encoding == ATTR_VAL_UINT
- || val.encoding == ATTR_VAL_REF_SECTION)
-@@ -1323,7 +1329,7 @@ find_address_ranges (struct backtrace_st
- have_ranges = 1;
- }
- break;
--
-+#endif
- case DW_AT_stmt_list:
- if (abbrev->tag == DW_TAG_compile_unit
- && (val.encoding == ATTR_VAL_UINT
-@@ -1851,10 +1857,6 @@ read_line_program (struct backtrace_stat
- }
- }
- break;
-- case DW_LNE_set_discriminator:
-- /* We don't care about discriminators. */
-- read_uleb128 (line_buf);
-- break;
- default:
- if (!advance (line_buf, len - 1))
- return 0;
-@@ -2108,16 +2110,24 @@ read_referenced_name (struct dwarf_data
- if (val.encoding == ATTR_VAL_STRING)
- ret = val.u.string;
- break;
--
-+#if defined(DW_AT_linkage_name)
- case DW_AT_linkage_name:
-+#endif
-+#if defined(DW_AT_MIPS_linkage_name)
- case DW_AT_MIPS_linkage_name:
-+#endif
-+#if defined(DW_AT_linkage_name) || defined(DW_AT_MIPS_linkage_name)
- if (val.encoding == ATTR_VAL_STRING)
- return val.u.string;
- break;
--
-+#endif
- case DW_AT_specification:
- if (abbrev->attrs[i].form == DW_FORM_ref_addr
-+#if defined(DW_FORM_ref_sig8) // not defined on 10
- || abbrev->attrs[i].form == DW_FORM_ref_sig8)
-+#else
-+ || 0) // not defined
-+#endif
- {
- /* This refers to a specification defined in some other
- compilation unit. We can handle this case if we
-@@ -2325,6 +2335,7 @@ read_function_entry (struct backtrace_st
- {
- switch (abbrev->attrs[i].name)
- {
-+#if defined(DW_AT_call_file)
- case DW_AT_call_file:
- if (val.encoding == ATTR_VAL_UINT)
- {
-@@ -2344,16 +2355,21 @@ read_function_entry (struct backtrace_st
- }
- }
- break;
--
-+#endif
-+#if defined(DW_AT_call_line)
- case DW_AT_call_line:
- if (val.encoding == ATTR_VAL_UINT)
- function->caller_lineno = val.u.uint;
- break;
--
-+#endif
- case DW_AT_abstract_origin:
- case DW_AT_specification:
- if (abbrev->attrs[i].form == DW_FORM_ref_addr
-+#if defined(DW_FORM_ref_sig8) // not defined on 10
- || abbrev->attrs[i].form == DW_FORM_ref_sig8)
-+#else
-+ || 0) // not defined
-+#endif
- {
- /* This refers to an abstract origin defined in
- some other compilation unit. We can handle
-@@ -2383,13 +2399,17 @@ read_function_entry (struct backtrace_st
- function->name = val.u.string;
- }
- break;
--
-+#if defined(DW_AT_linkage_name)
- case DW_AT_linkage_name:
-+#endif
-+#if defined(DW_AT_MIPS_linkage_name)
- case DW_AT_MIPS_linkage_name:
-+#endif
-+#if defined(DW_AT_linkage_name) || defined(DW_AT_MIPS_linkage_name)
- if (val.encoding == ATTR_VAL_STRING)
- function->name = val.u.string;
- break;
--
-+#endif
- case DW_AT_low_pc:
- if (val.encoding == ATTR_VAL_ADDRESS)
- {
-@@ -2411,7 +2431,7 @@ read_function_entry (struct backtrace_st
- highpc_is_relative = 1;
- }
- break;
--
-+#if defined(DW_AT_ranges) // not defined on 10
- case DW_AT_ranges:
- if (val.encoding == ATTR_VAL_UINT
- || val.encoding == ATTR_VAL_REF_SECTION)
-@@ -2420,7 +2440,7 @@ read_function_entry (struct backtrace_st
- have_ranges = 1;
- }
- break;
--
-+#endif
- default:
- break;
- }
diff --git a/devel/apitrace/pkg-plist b/devel/apitrace/pkg-plist
index 76d3a004c279..8f5b878be5a1 100644
--- a/devel/apitrace/pkg-plist
+++ b/devel/apitrace/pkg-plist
@@ -1,9 +1,9 @@
bin/apitrace
bin/eglretrace
bin/glretrace
+bin/gltrim
%%QT5%%bin/qapitrace
-%%QT5%%share/applications/qapitrace.desktop
-lib/apitrace/scripts/apitrace.PIXExp
+%%QT5%%lib/apitrace/scripts/apitrace.PIXExp
lib/apitrace/scripts/convert.py
lib/apitrace/scripts/highlight.py
lib/apitrace/scripts/jsondiff.py
@@ -17,8 +17,9 @@ lib/apitrace/scripts/tracediff.py
lib/apitrace/scripts/unpickle.py
lib/apitrace/wrappers/egltrace.so
lib/apitrace/wrappers/glxtrace.so
+share/applications/qapitrace.desktop
%%PORTDOCS%%%%DOCSDIR%%/BUGS.markdown
-%%PORTDOCS%%%%DOCSDIR%%/LICENSE-snappy.txt
%%PORTDOCS%%%%DOCSDIR%%/NEWS.markdown
%%PORTDOCS%%%%DOCSDIR%%/README.markdown
%%PORTDOCS%%%%DOCSDIR%%/USAGE.markdown
+