git: 945c88c92083 - main - graphics/filament: update 1.59.3 → 1.62.1

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 17 Jul 2025 18:37:15 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=945c88c9208386449fd26645eb9d8d38a591a4c2

commit 945c88c9208386449fd26645eb9d8d38a591a4c2
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-07-17 14:01:59 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-07-17 18:37:13 +0000

    graphics/filament: update 1.59.3 → 1.62.1
    
    Reported by:    portscout
---
 graphics/filament/Makefile                         |  9 ++++-
 graphics/filament/distinfo                         |  6 +--
 graphics/filament/files/patch-CMakeLists.txt       |  4 +-
 .../patch-filament_backend_src_PlatformFactory.cpp |  6 +--
 .../patch-libs_bluevk_include_bluevk_BlueVK.h      |  4 +-
 .../filament/files/patch-libs_utils_CMakeLists.txt |  6 +--
 ...atch-third__party_perfetto_perfetto_perfetto.cc | 40 +++++++++++++++++++
 ...patch-third__party_perfetto_perfetto_perfetto.h | 42 ++++++++++++++++++++
 graphics/filament/pkg-plist                        | 46 +---------------------
 9 files changed, 104 insertions(+), 59 deletions(-)

diff --git a/graphics/filament/Makefile b/graphics/filament/Makefile
index 05a58e344472..c0e27a92e4d8 100644
--- a/graphics/filament/Makefile
+++ b/graphics/filament/Makefile
@@ -1,11 +1,12 @@
 PORTNAME=	filament
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.59.3
+DISTVERSION=	1.62.1
 CATEGORIES=	graphics
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Real-time physically based rendering engine
-WWW=		https://google.github.io/filament/
+WWW=		https://google.github.io/filament/ \
+		https://github.com/google/filament
 
 LICENSE=	APACHE20
 LICENSE_FILE=	${WRKSRC}/LICENSE
@@ -52,5 +53,9 @@ post-install:
 	@cd ${STAGEDIR}${PREFIX} && ${RM} -r README.md LICENSE docs
 	# remove conflicting file, see https://github.com/google/filament/issues/5957
 	@${RM} ${STAGEDIR}${PREFIX}/lib/libzstd.a
+	# remove files installed by the improperly bundled spirv-tools package, see https://github.com/google/filament/issues/8965
+	@${FIND} ${STAGEDIR}${PREFIX} -iname "*spirv*" -delete
+	@${RM} -r ${STAGEDIR}${PREFIX}/include/spirv-tools # workaround for the find(1) -delete bug, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288277
+	@${RMDIR} ${STAGEDIR}${PREFIX}/lib/cmake
 
 .include <bsd.port.mk>
diff --git a/graphics/filament/distinfo b/graphics/filament/distinfo
index 49e9483e7ac2..b63cbf81b763 100644
--- a/graphics/filament/distinfo
+++ b/graphics/filament/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745309194
-SHA256 (google-filament-v1.59.3_GH0.tar.gz) = 897d1880d1573b3a8452e7df5a82f8fb82a35f997775edfa44ee26cbcedbdafb
-SIZE (google-filament-v1.59.3_GH0.tar.gz) = 759893829
+TIMESTAMP = 1752596311
+SHA256 (google-filament-v1.62.1_GH0.tar.gz) = 7cd0e8a6e050a9346729924823c00155ac2312635c60cb65714142f17ec52231
+SIZE (google-filament-v1.62.1_GH0.tar.gz) = 764525864
diff --git a/graphics/filament/files/patch-CMakeLists.txt b/graphics/filament/files/patch-CMakeLists.txt
index 40f6db9d930b..108eeb9035b6 100644
--- a/graphics/filament/files/patch-CMakeLists.txt
+++ b/graphics/filament/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig	2024-06-03 18:10:41 UTC
+--- CMakeLists.txt.orig	2025-07-14 23:11:31 UTC
 +++ CMakeLists.txt
-@@ -87,7 +87,7 @@ find_program(CCACHE_PROGRAM ccache)
+@@ -101,7 +101,7 @@ find_program(CCACHE_PROGRAM ccache)
  # Support for ccache
  # ==================================================================================================
  find_program(CCACHE_PROGRAM ccache)
diff --git a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
index fd6961590dba..bded9df8b8d5 100644
--- a/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
+++ b/graphics/filament/files/patch-filament_backend_src_PlatformFactory.cpp
@@ -1,6 +1,6 @@
---- filament/backend/src/PlatformFactory.cpp.orig	2025-03-31 22:23:27 UTC
+--- filament/backend/src/PlatformFactory.cpp.orig	2025-07-14 23:11:31 UTC
 +++ filament/backend/src/PlatformFactory.cpp
-@@ -41,7 +41,7 @@
+@@ -42,7 +42,7 @@
              #include <backend/platforms/PlatformCocoaGL.h>
          #endif
      #endif
@@ -9,7 +9,7 @@
      #if defined(FILAMENT_SUPPORTS_X11)
          #if defined(FILAMENT_SUPPORTS_OPENGL) && !defined(FILAMENT_USE_EXTERNAL_GLES3)
              #include "backend/platforms/PlatformGLX.h"
-@@ -151,7 +151,7 @@ Platform* PlatformFactory::create(Backend* backend) no
+@@ -152,7 +152,7 @@ Platform* PlatformFactory::create(Backend* backend) no
              #else
                  return new PlatformCocoaGL();
              #endif
diff --git a/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h b/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
index 3af2733630ee..f084580c50df 100644
--- a/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
+++ b/graphics/filament/files/patch-libs_bluevk_include_bluevk_BlueVK.h
@@ -1,8 +1,8 @@
---- libs/bluevk/include/bluevk/BlueVK.h.orig	2022-11-11 07:03:46 UTC
+--- libs/bluevk/include/bluevk/BlueVK.h.orig	2025-07-14 23:11:31 UTC
 +++ libs/bluevk/include/bluevk/BlueVK.h
 @@ -42,7 +42,7 @@
      #define VK_USE_PLATFORM_ANDROID_KHR 1
-     #elif defined(IOS)
+     #elif defined(FILAMENT_IOS)
      #define VK_USE_PLATFORM_IOS_MVK 1
 -    #elif defined(__linux__)
 +    #elif defined(__linux__) || defined(__FreeBSD__)
diff --git a/graphics/filament/files/patch-libs_utils_CMakeLists.txt b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
index 4e45fbc7aa4d..8bf9c71d2a66 100644
--- a/graphics/filament/files/patch-libs_utils_CMakeLists.txt
+++ b/graphics/filament/files/patch-libs_utils_CMakeLists.txt
@@ -1,7 +1,7 @@
---- libs/utils/CMakeLists.txt.orig	2023-05-30 23:22:31 UTC
+--- libs/utils/CMakeLists.txt.orig	2025-07-14 23:11:31 UTC
 +++ libs/utils/CMakeLists.txt
-@@ -82,8 +82,10 @@ if (ANDROID)
-     list(APPEND SRCS src/android/Systrace.cpp)
+@@ -90,8 +90,10 @@ if (LINUX OR ANDROID)
+     list(APPEND SRCS src/android/Tracing.cpp)
  endif()
  if (LINUX OR ANDROID)
 -    list(APPEND SRCS src/linux/Condition.cpp)
diff --git a/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc
new file mode 100644
index 000000000000..f760a992860e
--- /dev/null
+++ b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.cc
@@ -0,0 +1,40 @@
+--- third_party/perfetto/perfetto/perfetto.cc.orig	2025-07-16 02:06:53 UTC
++++ third_party/perfetto/perfetto/perfetto.cc
+@@ -14,6 +14,8 @@
+ //
+ // This file is automatically generated by gen_amalgamated. Do not edit.
+ 
++#include <sys/ucred.h>
++
+ // gen_amalgamated: predefined macros
+ #if !defined(PERFETTO_IMPLEMENTATION)
+ #define PERFETTO_IMPLEMENTATION
+@@ -42125,7 +42127,7 @@ ClockSnapshotVector CaptureClockSnapshots() {
+        {0, 0}},
+       {CLOCK_REALTIME, protos::pbzero::BUILTIN_CLOCK_REALTIME, {0, 0}},
+       {CLOCK_MONOTONIC, protos::pbzero::BUILTIN_CLOCK_MONOTONIC, {0, 0}},
+-      {CLOCK_MONOTONIC_RAW,
++      {CLOCK_MONOTONIC,
+        protos::pbzero::BUILTIN_CLOCK_MONOTONIC_RAW,
+        {0, 0}},
+   };
+@@ -58913,8 +58915,8 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+   int res = getpeereid(fd, &peer_uid_, nullptr);
+   PERFETTO_CHECK(res == 0);
+   // There is no pid when obtaining peer credentials for QNX
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+-    PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#elif !defined(__FreeBSD__) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++    PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID))
+   struct ucred user_cred;
+   socklen_t len = sizeof(user_cred);
+   int fd = sock_raw_.fd();
+@@ -58922,7 +58924,7 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+   PERFETTO_CHECK(res == 0);
+   peer_uid_ = user_cred.uid;
+   peer_pid_ = user_cred.pid;
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#elif defined(__FreeBSD__) || PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
+   struct xucred user_cred;
+   socklen_t len = sizeof(user_cred);
+   int res = getsockopt(sock_raw_.fd(), 0, LOCAL_PEERCRED, &user_cred, &len);
diff --git a/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h
new file mode 100644
index 000000000000..a1c99bc6e26e
--- /dev/null
+++ b/graphics/filament/files/patch-third__party_perfetto_perfetto_perfetto.h
@@ -0,0 +1,42 @@
+--- third_party/perfetto/perfetto/perfetto.h.orig	2025-07-15 17:16:00 UTC
++++ third_party/perfetto/perfetto/perfetto.h
+@@ -34,6 +34,8 @@
+  * limitations under the License.
+  */
+ 
++#include <pthread_np.h>
++
+ // Generated by write_buildflag_header.py
+ 
+ // fix_include_guards: off
+@@ -129,10 +131,10 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #endif
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
+-#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX_BUT_NOT_QNX() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -1075,7 +1077,7 @@ inline TimeNanos GetWallTimeRawNs() {
+ }
+ 
+ inline TimeNanos GetWallTimeRawNs() {
+-  return GetTimeInternalNs(CLOCK_MONOTONIC_RAW);
++  return GetTimeInternalNs(CLOCK_MONOTONIC);
+ }
+ 
+ inline TimeNanos GetThreadCPUTimeNs() {
+@@ -8167,7 +8169,7 @@ inline PlatformThreadId GetThreadId() {
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
+ using PlatformThreadId = pid_t;
+ inline PlatformThreadId GetThreadId() {
+-  return static_cast<pid_t>(syscall(__NR_gettid));
++  return static_cast<pid_t>(pthread_getthreadid_np());
+ }
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)
+ using PlatformThreadId = zx_koid_t;
diff --git a/graphics/filament/pkg-plist b/graphics/filament/pkg-plist
index 25b8b2373291..3fd3b702d3d7 100644
--- a/graphics/filament/pkg-plist
+++ b/graphics/filament/pkg-plist
@@ -17,16 +17,6 @@ bin/normal-blending
 bin/resgen
 bin/roughness-prefilter
 bin/specular-color
-bin/spirv-as
-bin/spirv-cfg
-bin/spirv-dis
-bin/spirv-lesspipe.sh
-bin/spirv-link
-bin/spirv-lint
-bin/spirv-objdump
-bin/spirv-opt
-bin/spirv-reduce
-bin/spirv-val
 bin/uberz
 include/backend/AcquiredImage.h
 include/backend/BufferDescriptor.h
@@ -150,10 +140,6 @@ include/math/vec3.h
 include/math/vec4.h
 include/mathio/ostream.h
 include/mikktspace/mikktspace.h
-include/spirv-tools/libspirv.h
-include/spirv-tools/libspirv.hpp
-include/spirv-tools/linker.hpp
-include/spirv-tools/optimizer.hpp
 include/tsl/robin_growth_policy.h
 include/tsl/robin_hash.h
 include/tsl/robin_map.h
@@ -171,6 +157,7 @@ include/utils/EntityManager.h
 include/utils/FixedCapacityVector.h
 include/utils/Invocable.h
 include/utils/Log.h
+include/utils/Logger.h
 include/utils/Mutex.h
 include/utils/NameComponentManager.h
 include/utils/Panic.h
@@ -197,34 +184,6 @@ include/viewer/AutomationSpec.h
 include/viewer/RemoteServer.h
 include/viewer/Settings.h
 include/viewer/ViewerGui.h
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffConfig.cmake
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-diff/SPIRV-Tools-diffTargets.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkConfig.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-link/SPIRV-Tools-linkTargets.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintConfig.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-lint/SPIRV-Tools-lintTargets.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optConfig.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceConfig.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-reduce/SPIRV-Tools-reduceTarget.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsConfig.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools-tools/SPIRV-Tools-toolsTargets.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake
-lib/libSPIRV-Tools-diff.a
-lib/libSPIRV-Tools-link.a
-lib/libSPIRV-Tools-lint.a
-lib/libSPIRV-Tools-opt.a
-lib/libSPIRV-Tools-reduce.a
-lib/libSPIRV-Tools-shared.so
-lib/libSPIRV-Tools.a
 lib/libabseil.a
 lib/libbackend.a
 lib/libbasis_transcoder.a
@@ -249,6 +208,7 @@ lib/libktxreader.a
 lib/libmatdbg.a
 lib/libmeshoptimizer.a
 lib/libmikktspace.a
+lib/libperfetto.a
 lib/libshaders.a
 lib/libsmol-v.a
 lib/libstb.a
@@ -257,5 +217,3 @@ lib/libuberzlib.a
 lib/libutils.a
 lib/libviewer.a
 lib/libvkshaders.a
-libdata/pkgconfig/SPIRV-Tools-shared.pc
-libdata/pkgconfig/SPIRV-Tools.pc