Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package partio for openSUSE:Factory checked in at 2026-04-20 16:13:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/partio (Old) and /work/SRC/openSUSE:Factory/.partio.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "partio" Mon Apr 20 16:13:34 2026 rev:3 rq:1348178 version:1.20.0 Changes: -------- --- /work/SRC/openSUSE:Factory/partio/partio.changes 2025-07-21 20:02:08.055664916 +0200 +++ /work/SRC/openSUSE:Factory/.partio.new.11940/partio.changes 2026-04-20 16:13:43.003167931 +0200 @@ -1,0 +2,11 @@ +Sun Apr 19 10:14:26 UTC 2026 - Dirk Müller <[email protected]> + +- update to 1.20.0: + * python: add compatibility with newer versions of swig + * partedit: reorder imports + * partedit: avoid importing PyQt5 directly + * enable C++17 + * python: improve swig bindings + * tests: avoid deprecated assertEquals() + +------------------------------------------------------------------- Old: ---- partio-1.19.0.tar.gz New: ---- partio-1.20.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ partio.spec ++++++ --- /var/tmp/diff_new_pack.Cf9xyb/_old 2026-04-20 16:13:43.719197831 +0200 +++ /var/tmp/diff_new_pack.Cf9xyb/_new 2026-04-20 16:13:43.723197998 +0200 @@ -1,7 +1,7 @@ # # spec file for package partio # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,18 +21,18 @@ %define pyver python3 Name: partio -Version: 1.19.0 -Release: 1 +Version: 1.20.0 +Release: 0 Summary: Library for reading/writing/manipulating common animation particle License: BSD-3-Clause URL: https://github.com/wdas/%{name} Source: https://github.com/wdas/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +BuildRequires: %{pyver}-devel BuildRequires: cmake >= 3.15 BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkgconfig -BuildRequires: %{pyver}-devel BuildRequires: swig BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glut) ++++++ partio-1.19.0.tar.gz -> partio-1.20.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/.github/workflows/build.yml new/partio-1.20.0/.github/workflows/build.yml --- old/partio-1.19.0/.github/workflows/build.yml 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/.github/workflows/build.yml 2025-11-19 01:27:49.000000000 +0100 @@ -11,7 +11,7 @@ matrix: os: [ubuntu] config: [Debug, Release] - standard: [c++11, c++14, c++17, c++20] + standard: [c++17, c++20] name: ${{matrix.os}}-${{matrix.config}}-${{matrix.standard}} runs-on: ${{matrix.os}}-latest @@ -20,7 +20,7 @@ - name: Install dependencies run: sudo apt update && sudo apt install -y zlib1g-dev freeglut3-dev libgtest-dev - name: CMake configure - run: cmake -G "Unix Makefiles" -DPARTIO_GTEST_ENABLED=ON -DCMAKE_BUILD_TYPE=${{matrix.config}} . + run: cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${{matrix.config}} . env: CXXFLAGS_STD: ${{matrix.standard}} - name: Build @@ -32,7 +32,7 @@ matrix: architecture: [x64] config: [Release] - standard: [c++11, c++14, c++17, c++20] + standard: [c++17, c++20] name: windows-${{matrix.architecture}}-${{matrix.config}}-${{matrix.standard}} steps: @@ -46,7 +46,7 @@ - name: Get gtest run: vcpkg install gtest:${{matrix.architecture}}-windows - name: CMake configure - run: cmake "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -DPARTIO_GTEST_ENABLED=ON -A ${{matrix.architecture}} . + run: cmake "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -A ${{matrix.architecture}} . env: CXXFLAGS_STD: ${{matrix.standard}} - name: Build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/CMakeLists.txt new/partio-1.20.0/CMakeLists.txt --- old/partio-1.19.0/CMakeLists.txt 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/CMakeLists.txt 2025-11-19 01:27:49.000000000 +0100 @@ -35,22 +35,25 @@ project(partio LANGUAGES CXX) set(PARTIO_VERSION_MAJOR "1") -option(PARTIO_GTEST_ENABLED "Enable GTest for tests" OFF) +option(PARTIO_ENABLE_TESTING "Enable testing" ON) option(PARTIO_ORIGIN_RPATH "Enable ORIGIN rpath in the installed libraries" OFF) if(WIN32 OR APPLE) option(PARTIO_USE_GLVND "Use GLVND for OpenGL" OFF) - option(PARTIO_BUILD_SHARED_LIBS "Enabled shared libraries" OFF) + option(PARTIO_BUILD_SHARED_LIBS "Enable shared libraries" OFF) else() option(PARTIO_USE_GLVND "Use GLVND for OpenGL" ON) - option(PARTIO_BUILD_SHARED_LIBS "Enabled shared libraries" ON) + option(PARTIO_BUILD_SHARED_LIBS "Enable shared libraries" ON) endif() +option(PARTIO_BUILD_TOOLS "Enable partio's CLI tools" ON) +option(PARTIO_BUILD_PYTHON "Enable partio's Python bindings" ON) +option(PARTIO_BUILD_DOCS "Enable partio's documentation" ON) # Enable C++11 if (DEFINED ENV{CXXFLAGS_STD}) set(CXXFLAGS_STD $ENV{CXXFLAGS_STD}) else() - set(CXXFLAGS_STD "c++14") + set(CXXFLAGS_STD "c++17") endif() # Transform "c++17" into "17". "-1" means "rest of the string". if (NOT DEFINED WDAS_CXX_STANDARD) @@ -76,16 +79,16 @@ ## Setup platform specific helper defines build variants if (WIN32) if (MSVC) - add_definitions(-DPARTIO_WIN32) + add_compile_definitions(PARTIO_WIN32) endif() - add_definitions(-D_USE_MATH_DEFINES) + add_compile_definitions(_USE_MATH_DEFINES) else() add_compile_options(-Wextra -Wno-unused-parameter) endif() if (APPLE) set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup") - add_definitions(-DGL_SILENCE_DEPRECATION) + add_compile_definitions(GL_SILENCE_DEPRECATION) endif() if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) @@ -119,30 +122,33 @@ ## Search for useful libraries find_package(Threads REQUIRED) -find_package(GLUT REQUIRED) -find_package(OpenGL REQUIRED) -find_package(Python REQUIRED COMPONENTS Interpreter Development) + +set(PARTIO_LIBRARIES partio) find_package(ZLIB) if (ZLIB_FOUND) - add_definitions(-DPARTIO_USE_ZLIB) -else() - set(ZLIB_LIBRARY "") + add_compile_definitions(PARTIO_USE_ZLIB) + list(APPEND PARTIO_LIBRARIES ZLIB::ZLIB) endif() -# Make modules able to see partio library -set(PARTIO_LIBRARIES partio ${ZLIB_LIBRARY}) +if (PARTIO_BUILD_PYTHON) + find_package(Python REQUIRED COMPONENTS Interpreter Development) +endif() ## Traverse subdirectories add_subdirectory(src/lib) -add_subdirectory(src/tools) -add_subdirectory(src/py) -add_subdirectory(src/doc) - -if (${PARTIO_GTEST_ENABLED}) - set(GTEST_LOCATION "/usr" CACHE STRING "gtest installation prefix") - set(GTEST_INCLUDE_PATH ${GTEST_LOCATION}/include) - set(GTEST_LIBDIR ${CMAKE_INSTALL_LIBDIR}) - set(GTEST_LINK_PATH ${GTEST_LOCATION}/${GTEST_LIBDIR} CACHE STRING "gtest library directory") +if (PARTIO_BUILD_TOOLS) + find_package(GLUT REQUIRED) + find_package(OpenGL REQUIRED) + add_subdirectory(src/tools) +endif() +if (PARTIO_BUILD_PYTHON) + add_subdirectory(src/py) +endif() +if (PARTIO_BUILD_DOCS) + add_subdirectory(src/doc) +endif() +find_package(GTest) +if (GTest_FOUND AND PARTIO_ENABLE_TESTING) add_subdirectory(src/tests) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/Makefile new/partio-1.20.0/Makefile --- old/partio-1.19.0/Makefile 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/Makefile 2025-11-19 01:27:49.000000000 +0100 @@ -12,6 +12,11 @@ #DESTDIR = CMAKE_FLAGS = + +NINJA_OK := $(shell type ninja >/dev/null 2>&1 && echo 1) +ifeq ($(NINJA_OK),1) + CMAKE_FLAGS += -G Ninja +endif # Allow out-of-band customization -include Makefile.config @@ -23,41 +28,31 @@ # Installation location: prefix=<path> CMAKE_FLAGS += -DCMAKE_INSTALL_PREFIX=$(prefix) -# gtest location: RP_gtest=<path> -ifdef RP_gtest - CMAKE_FLAGS += -DGTEST_LOCATION=$(RP_gtest) - CMAKE_FLAGS += -DPARTIO_GTEST_ENABLED=1 -endif - # Extra cmake flags: CMAKE_EXTRA_FLAGS=<flags> ifdef CMAKE_EXTRA_FLAGS CMAKE_FLAGS += $(CMAKE_EXTRA_FLAGS) endif -ifdef RP_zlib - CMAKE_FLAGS += -DZLIB_INCLUDE_DIR=$(RP_zlib)/include - CMAKE_FLAGS += -DZLIB_LIBRARY_RELEASE=$(RP_zlib)/$(lib)/libz.so -endif +cmake_ready = $(builddir)/cmake.ready # The default target in this Makefile is... all:: install: all - $(MAKE) -C $(builddir) DESTDIR=$(DESTDIR) install + cmake --build $(builddir) --target install test: all - $(MAKE) -C $(builddir) DESTDIR=$(DESTDIR) test + cmake --build $(builddir) --target test -doc: $(builddir)/stamp - $(MAKE) -C $(builddir) DESTDIR=$(DESTDIR) doc +doc: $(cmake_ready) + cmake --build $(builddir) --target doc -$(builddir)/stamp: - mkdir -p $(builddir) - cd $(builddir) && cmake $(CMAKE_FLAGS) ../.. - touch $@ +all:: $(cmake_ready) + cmake --build $(builddir) --target all -all:: $(builddir)/stamp - $(MAKE) -C $(builddir) $(MAKEARGS) all +clean: $(cmake_ready) + cmake --build $(builddir) --target clean -clean: $(builddir)/stamp - $(MAKE) -C $(builddir) $(MAKEARGS) clean +$(cmake_ready): + cmake -S . -B $(builddir) $(CMAKE_FLAGS) + touch $@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/Makefile new/partio-1.20.0/src/Makefile --- old/partio-1.19.0/src/Makefile 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,28 +0,0 @@ -CXX=g++ -CXXFLAGS=-g -I/opt/local/include -fPIC -LINKFLAGS= -OBJS=ParticleSimple.o Particle.o DEBUG_PRINT.o \ - reader/PDB.o reader/GEO.o reader/BGEO.o - - - -all: lib partinfo test -lib: ${OBJS} - ${CXX} ${LINKFLAGS} -shared -o libpapi.so ${OBJS} -partinfo: lib partinfo.cpp - ${CXX} ${LINKFLAGS} -o partinfo libpapi.so partinfo.cpp -test: lib test.cpp - ${CXX} ${LINKFLAGS} -o test libpapi.so test.cpp - -ParticleSimple.o: ParticleSimple.cpp ParticleSimple.h Particle.h -Particle.o: Particle.cpp Particle.h -test.o: test.cpp ParticleSimple.h Particle.h -DEBUG_PRINT.o: DEBUG_PRINT.h DEBUG_PRINT.cpp -reader/GEO.o: reader/GEO.cpp Particle.h ParticleSimple.h \ - reader/../Particle.h -reader/BGEO.o: reader/BGEO.cpp Particle.h ParticleSimple.h \ - reader/../Particle.h reader/endian.h -reader/PDB.o: reader/PDB.cpp Particle.h ParticleSimple.h \ - reader/../Particle.h reader/pdb.h -partinfo.o: partinfo.cpp Particle.h -partconvert.o: partconf.cpp Particle.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/lib/Partio.h new/partio-1.20.0/src/lib/Partio.h --- old/partio-1.19.0/src/lib/Partio.h 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/lib/Partio.h 2025-11-19 01:27:49.000000000 +0100 @@ -290,6 +290,7 @@ //! To copy only the detail attributes, pass particles=false. //! If attrNameMap is provided, it is used to rename attributes during cloning. ParticlesDataMutable* clone(const ParticlesData&, bool particles=true, const std::map<std::string, std::string>* attrNameMap = nullptr); +ParticlesDataMutable* clone(const ParticlesData&, bool particles, const std::map<std::string, std::string>& attrNameMap); //! Provides read/write access to a particle set stored in a file //! freed with p->release() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/lib/core/Particle.cpp new/partio-1.20.0/src/lib/core/Particle.cpp --- old/partio-1.19.0/src/lib/core/Particle.cpp 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/lib/core/Particle.cpp 2025-11-19 01:27:49.000000000 +0100 @@ -164,6 +164,11 @@ return p; } +ParticlesDataMutable* +clone(const ParticlesData& other, bool particles, const std::map<std::string, std::string>& attrNameMap) +{ + return clone(other, particles, &attrNameMap); +} template<ParticleAttributeType ETYPE> void printAttr(const ParticlesData* p,const ParticleAttribute& attr,const int particleIndex) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/lib/io/PDC.cpp new/partio-1.20.0/src/lib/io/PDC.cpp --- old/partio-1.19.0/src/lib/io/PDC.cpp 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/lib/io/PDC.cpp 2025-11-19 01:27:49.000000000 +0100 @@ -42,6 +42,18 @@ #include "PartioEndian.h" #include "io.h" +namespace { +std::string readName(std::istream& input){ + int nameLen = 0; + Partio::read<Partio::BIGEND>(input, nameLen); + char* name = new char[nameLen]; + input.read(name, nameLen); + std::string result(name, name+nameLen); + delete [] name; + return result; +} +} + namespace Partio{ using namespace std; @@ -58,16 +70,6 @@ int numAttrs; } PDC_HEADER; -string readName(istream& input){ - int nameLen = 0; - read<BIGEND>(input, nameLen); - char* name = new char[nameLen]; - input.read(name, nameLen); - string result(name, name+nameLen); - delete [] name; - return result; -} - ParticlesDataMutable* readPDC(const char* filename, const bool headersOnly,std::ostream* errorStream){ unique_ptr<istream> input(io::unzip(filename)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/lib/io/PRT.cpp new/partio-1.20.0/src/lib/io/PRT.cpp --- old/partio-1.19.0/src/lib/io/PRT.cpp 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/lib/io/PRT.cpp 2025-11-19 01:27:49.000000000 +0100 @@ -38,6 +38,7 @@ */ +#include <iostream> #ifndef PARTIO_WIN32 #ifdef PARTIO_USE_ZLIB #include "../Partio.h" @@ -427,7 +428,6 @@ } #else #include "../Partio.h" -#include <iostream> #include <fstream> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/lib/io/ZIP.cpp new/partio-1.20.0/src/lib/io/ZIP.cpp --- old/partio-1.19.0/src/lib/io/ZIP.cpp 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/lib/io/ZIP.cpp 2025-11-19 01:27:49.000000000 +0100 @@ -163,7 +163,6 @@ bool Read(std::istream& istream,const bool global) {unsigned int sig; - unsigned short version,flags; // read and check for local/global magic if(global){ Read_Primitive(istream,sig); @@ -399,7 +398,10 @@ {if(pptr() && pptr()>pbase()) return process(false);return 0;} virtual int underflow() - {std::runtime_error("Attempt to read write only ostream");return 0;} + { + std::cerr << "error: Partio::ZipStreambufCompress attempted to read a write-only ostream" << std::endl; + return 0; + } virtual int overflow(int c=EOF) {if(c!=EOF){*pptr()=static_cast<char>(c);pbump(1);} @@ -517,9 +519,9 @@ unsigned int read_size_before_comment=22; std::streamoff read_start=max_comment_size+read_size_before_comment; if(read_start>end_position) read_start=end_position; + if(read_start<=0){std::cerr<<"ZIP: Invalid read buffer size"<<std::endl;return false;} istream.seekg(end_position-read_start); char *buf=new char[static_cast<unsigned int>(read_start)]; - if(read_start<=0){std::cerr<<"ZIP: Invalid read buffer size"<<std::endl;return false;} istream.read(buf,read_start); int found=-1; for(unsigned int i=0;i<read_start-3;i++){ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/py/partio.i new/partio-1.20.0/src/py/partio.i --- old/partio-1.19.0/src/py/partio.i 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/py/partio.i 2025-11-19 01:27:49.000000000 +0100 @@ -638,7 +638,13 @@ %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, const std::map<std::string, std::string>& attrNameMap); + +%pythoncode %{ +def clone(self, particles=True, attrNameMap=None): + """Clone a particle set""" + return _partio.clone(self, particles, attrNameMap or {}) +%} %feature("autodoc"); %feature("docstring","Return string name of given attribute type"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/tests/CMakeLists.txt new/partio-1.20.0/src/tests/CMakeLists.txt --- old/partio-1.19.0/src/tests/CMakeLists.txt 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/tests/CMakeLists.txt 2025-11-19 01:27:49.000000000 +0100 @@ -32,25 +32,16 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. set(CMAKE_INSTALL_PARTIO_TESTDIR ${CMAKE_INSTALL_DATAROOTDIR}/partio/test) -find_library(GTEST_LIB gtest HINTS ${GTEST_LINK_PATH}) -if ("${GTEST_LIB}" STREQUAL "GTEST_LIB-NOTFOUND") - message(STATUS "${GTEST_LIB} not found in ${GTEST_LINK_PATH}, tests disabled") -else() - - foreach(item testiterator testio testcache testclonecopy testcluster teststr makecircle makeline testkdtree testmerge) - add_executable(${item} "${item}.cpp") - target_include_directories(${item} PRIVATE ${GTEST_INCLUDE_PATH}) - target_link_libraries( - ${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}) - endforeach(item) +foreach(item testiterator testio testcache testclonecopy testcluster teststr makecircle makeline testkdtree testmerge) + add_executable(${item} "${item}.cpp") + target_link_libraries(${item} ${PARTIO_LIBRARIES} GTest::gtest Threads::Threads) + target_compile_definitions(${item} PRIVATE -DPARTIO_DATA_DIR="${PROJECT_SOURCE_DIR}/src/data") + install(TARGETS ${item} DESTINATION ${CMAKE_INSTALL_PARTIO_TESTDIR}) + add_test(NAME ${item} COMMAND ${item}) +endforeach(item) - foreach(item testpartjson testpartio) - 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}) - endforeach(item) -endif() +foreach(item testpartjson testpartio) + 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}) +endforeach(item) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/tests/testpartjson.py new/partio-1.20.0/src/tests/testpartjson.py --- old/partio-1.19.0/src/tests/testpartjson.py 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/tests/testpartjson.py 2025-11-19 01:27:49.000000000 +0100 @@ -18,7 +18,7 @@ json1 = partjson.toJson(particleSet) particleSet2 = partjson.fromJson(json1) json2 = partjson.toJson(particleSet2) - self.assertEquals(json1, json2) + self.assertEqual(json1, json2) if __name__ == '__main__': unittest.main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/tools/CMakeLists.txt new/partio-1.20.0/src/tools/CMakeLists.txt --- old/partio-1.19.0/src/tools/CMakeLists.txt 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/tools/CMakeLists.txt 2025-11-19 01:27:49.000000000 +0100 @@ -67,5 +67,7 @@ install(PROGRAMS partjson.py DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME partjson) install(PROGRAMS partinspect.py DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME partinspect) -set(PYTHON_DEST "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages" ) -install(FILES partedit.py partjson.py partinspect.py DESTINATION ${PYTHON_DEST}) +if (PARTIO_BUILD_PYTHON) + set(PYTHON_DEST "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages" ) + install(FILES partedit.py partjson.py partinspect.py DESTINATION ${PYTHON_DEST}) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/tools/partedit.py new/partio-1.20.0/src/tools/partedit.py --- old/partio-1.19.0/src/tools/partedit.py 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/tools/partedit.py 2025-11-19 01:27:49.000000000 +0100 @@ -23,8 +23,9 @@ # - delete fixed attribute # - rename fixed attribute -import os, sys, math -import partio +import math +import os +import sys # pylint:disable=E0611,E0401 from Qt.QtGui import QKeySequence, QIcon, QIntValidator, QDoubleValidator, QFontMetrics @@ -32,8 +33,10 @@ QPushButton, QTableWidget, QLabel, QWidget, QVBoxLayout, QHeaderView,\ QHBoxLayout, QLineEdit, QFileDialog, QFrame, QDialog, QFormLayout, \ QComboBox, QCheckBox, QTableWidgetItem, QSplitter, QSizePolicy -from Qt.QtCore import Qt, QSize, QObject#, pyqtSignal -from PyQt5.QtCore import pyqtSignal +from Qt.QtCore import Qt, QSize, QObject, Signal + +import partio + #------------------------------------------------------------------------------_ _attrTypes = [partio.NONE, partio.VECTOR, partio.FLOAT, partio.INT, partio.INDEXEDSTR] @@ -107,11 +110,11 @@ class ParticleData(QObject): """ UI Controller class for partio data """ - particleAdded = pyqtSignal(int) - attributeAdded = pyqtSignal(str) - fixedAttributeAdded = pyqtSignal(str) - dataReset = pyqtSignal() - dirtied = pyqtSignal(bool) + particleAdded = Signal(int) + attributeAdded = Signal(str) + fixedAttributeAdded = Signal(str) + dataReset = Signal() + dirtied = Signal(bool) def __init__(self): QObject.__init__(self) @@ -1066,6 +1069,7 @@ value = values[i] else: value = values[-1] + values.append(value) if attrType == partio.INT or attrType == partio.INDEXEDSTR: values[i] = int(value) elif attrType == partio.FLOAT or attrType == partio.VECTOR: @@ -1079,8 +1083,7 @@ #-------------------------------------------------------------------------- def dataDirtiedSlot(self, dirty): """ Sets the window title with or without "*" for dirty state """ - - title = self.data.filename + title = self.data.filename or '' if dirty: title += '*' self.setWindowTitle(title) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partio-1.19.0/src/tools/partinfo.cpp new/partio-1.20.0/src/tools/partinfo.cpp --- old/partio-1.19.0/src/tools/partinfo.cpp 2025-01-28 23:44:08.000000000 +0100 +++ new/partio-1.20.0/src/tools/partinfo.cpp 2025-11-19 01:27:49.000000000 +0100 @@ -64,7 +64,7 @@ if (ii) std::cout << ", "; if (attr.type == Partio::INDEXEDSTR) { - int val = p->data<int>(attr, particleIndex)[ii]; + size_t val = p->data<int>(attr, particleIndex)[ii]; std::cout << val << "="; if (val < p->indexedStrs(attr).size()) { std::cout << "'" << p->indexedStrs(attr)[val] << "'";
