git: d38df72241cf - main - graphics/partio: update the port to version 1.19.0

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Thu, 06 Nov 2025 13:36:19 UTC
The branch main has been updated by danfe:

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

commit d38df72241cfe8604c5c2912268afc4fadb57472
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2025-11-06 13:35:12 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2025-11-06 13:35:12 +0000

    graphics/partio: update the port to version 1.19.0
    
    PR:             279455
    Reported by:    portscout
---
 graphics/partio/Makefile                             |  6 +++---
 graphics/partio/distinfo                             |  6 +++---
 graphics/partio/files/patch-src_py_partio.i          | 13 +++++++++++++
 graphics/partio/files/patch-src_tests_CMakeLists.txt | 10 ++++++----
 graphics/partio/files/patch-src_tools_partedit.py    | 20 +++++++++-----------
 graphics/partio/pkg-plist                            |  2 +-
 6 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/graphics/partio/Makefile b/graphics/partio/Makefile
index 01cecefb7912..ed1f0548b1e4 100644
--- a/graphics/partio/Makefile
+++ b/graphics/partio/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	partio
-PORTVERSION=	1.14.6
-PORTREVISION=	3
+PORTVERSION=	1.19.0
 DISTVERSIONPREFIX=	v
 CATEGORIES=	graphics math
 
@@ -13,7 +12,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	swig:devel/swig
 
-USES=		cmake compiler:c++11-lang gl python:run shebangfix xorg
+USES=		cmake compiler:c++14-lang gl python:run,test shebangfix xorg
 SHEBANG_FILES=	src/tools/partedit.py src/tools/partinspect.py \
 		src/tools/partjson.py
 USE_GL=		gl glu glut
@@ -41,6 +40,7 @@ PYQT_USE=		PYQT=pyqt5
 PYQT_PLIST_FILES=	bin/partedit bin/partinspect
 
 TEST_LIB_DEPENDS=	libgtest.so:devel/googletest
+TEST_TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR}
 TEST_CMAKE_ON=		-DPARTIO_GTEST_ENABLED:BOOL=ON
 TEST_VARS=		SHEBANG_FILES+="src/tests/testpartio.py \
 			src/tests/testpartjson.py"
diff --git a/graphics/partio/distinfo b/graphics/partio/distinfo
index 697b7c5bbb0f..643b18537308 100644
--- a/graphics/partio/distinfo
+++ b/graphics/partio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1623084225
-SHA256 (wdas-partio-v1.14.6_GH0.tar.gz) = 53a5754d6b2fc3e184953d985c233118ef0ab87169f34e3aec4a7e6d20cd9bd4
-SIZE (wdas-partio-v1.14.6_GH0.tar.gz) = 336527
+TIMESTAMP = 1738104248
+SHA256 (wdas-partio-v1.19.0_GH0.tar.gz) = 128913266a88a0939aaa4bc951ae4d4da1c380408bcc0ea9e7f526556afeaad0
+SIZE (wdas-partio-v1.19.0_GH0.tar.gz) = 338754
diff --git a/graphics/partio/files/patch-src_py_partio.i b/graphics/partio/files/patch-src_py_partio.i
new file mode 100644
index 000000000000..d26257b1b007
--- /dev/null
+++ b/graphics/partio/files/patch-src_py_partio.i
@@ -0,0 +1,13 @@
+--- src/py/partio.i.orig	2025-01-28 22:44:08 UTC
++++ src/py/partio.i
+@@ -638,7 +638,9 @@ ParticlesDataMutable* cloneSchema(const ParticlesData&
+ 
+ %feature("autodoc");
+ %feature("docstring","Clone a particle set");
+-ParticlesDataMutable* clone(const ParticlesData& other, bool particles, const std::map<std::string, std::string>* attrNameMap=nullptr);
++ParticlesDataMutable* clone(const ParticlesData& other, bool particles=true, const std::map<std::string, std::string>* attrNameMap=nullptr);
++
++%typedef std::map<std::string, std::string> _dummy; /* https://github.com/wdas/partio/issues/114 */
+ 
+ %feature("autodoc");
+ %feature("docstring","Return string name of given attribute type");
diff --git a/graphics/partio/files/patch-src_tests_CMakeLists.txt b/graphics/partio/files/patch-src_tests_CMakeLists.txt
index 8d2bba3f4399..034508c85761 100644
--- a/graphics/partio/files/patch-src_tests_CMakeLists.txt
+++ b/graphics/partio/files/patch-src_tests_CMakeLists.txt
@@ -1,17 +1,19 @@
---- src/tests/CMakeLists.txt.orig	2021-06-07 16:43:45 UTC
+--- src/tests/CMakeLists.txt.orig	2025-01-28 22:44:08 UTC
 +++ src/tests/CMakeLists.txt
-@@ -45,12 +45,12 @@ else()
+@@ -45,12 +45,14 @@ else()
              ${item} ${PARTIO_LIBRARIES} ${GTEST_LIB} Threads::Threads)
          target_compile_definitions(${item} PRIVATE -DPARTIO_DATA_DIR="${PROJECT_SOURCE_DIR}/src/data")
          target_link_directories(${item} PRIVATE ${GTEST_LINK_PATH})
 -        install(TARGETS ${item} DESTINATION ${CMAKE_INSTALL_PARTIO_TESTDIR})
          add_test(NAME ${item} COMMAND ${item})
 +        set_tests_properties(${item} PROPERTIES ENVIRONMENT
-+            "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/src/lib")
++            "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/lib")
      endforeach(item)
  
      foreach(item testpartjson testpartio)
-         add_test(NAME ${item} COMMAND ${PYTHON_EXECUTABLE} -B ${CMAKE_CURRENT_SOURCE_DIR}/${item}.py)
+         add_test(NAME ${item} COMMAND ${Python_EXECUTABLE} -B ${CMAKE_CURRENT_SOURCE_DIR}/${item}.py)
 -        install(PROGRAMS ${item}.py DESTINATION ${CMAKE_INSTALL_PARTIO_TESTDIR} RENAME ${item})
++        set_tests_properties(${item} PROPERTIES ENVIRONMENT
++            "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/src/lib;PYTHONPATH=${PROJECT_BINARY_DIR}/src/py:${PROJECT_SOURCE_DIR}/src/tools")
      endforeach(item)
  endif()
diff --git a/graphics/partio/files/patch-src_tools_partedit.py b/graphics/partio/files/patch-src_tools_partedit.py
index 2e94e5fe088f..b4839ac8f8e8 100644
--- a/graphics/partio/files/patch-src_tools_partedit.py
+++ b/graphics/partio/files/patch-src_tools_partedit.py
@@ -1,13 +1,11 @@
---- src/tools/partedit.py.orig	2021-10-18 09:08:43 UTC
+--- src/tools/partedit.py.orig	2025-01-28 22:44:08 UTC
 +++ src/tools/partedit.py
-@@ -72,9 +72,7 @@ def getAttrs(numAttributesFunc, attributeInfoFunc, sor
-     numAttr = numAttributesFunc()
+@@ -1080,7 +1080,7 @@ class PartEdit(QMainWindow):
+     def dataDirtiedSlot(self, dirty):
+         """ Sets the window title with or without "*" for dirty state """
  
-     nameToIndex = {attributeInfoFunc(anum).name:anum for anum in range(numAttr)}
--    names = nameToIndex.keys()
--    if sort:
--        names.sort()
-+    names = sorted(nameToIndex) if sort else nameToIndex.keys()
- 
-     id_offset = 0
-     for name in names:
+-        title = self.data.filename
++        title = self.data.filename or ''
+         if dirty:
+             title += '*'
+         self.setWindowTitle(title)
diff --git a/graphics/partio/pkg-plist b/graphics/partio/pkg-plist
index 093600bc8d05..426cd163c345 100644
--- a/graphics/partio/pkg-plist
+++ b/graphics/partio/pkg-plist
@@ -9,7 +9,7 @@ include/PartioIterator.h
 include/PartioVec3.h
 lib/libpartio.so
 lib/libpartio.so.1
-lib/libpartio.so.1.14.6
+lib/libpartio.so.1.19.0
 %%PYTHON_SITELIBDIR%%/_partio.so
 %%PYTHON_SITELIBDIR%%/partedit.py
 %%PYTHON_SITELIBDIR%%/partinspect.py