## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Some tests (and some VTK integration features) require python-pyvista, but we # do not find it worthwhile to package it for that purpose alone. %bcond pyvista 0 %bcond tests 1 Name: python-fast-simplification Version: 0.2.0 Release: %autorelease Summary: Wrapper around the Fast-Quadric-Mesh-Simplification library License: MIT URL: https://github.com/pyvista/fast-simplification # The GitHub archive contains many ancillary files, like the README, the # examples, and the list of test requirements, that the PyPI sdist lacks. Source: %{url}/archive/v%{version}/fast-simplification-%{version}.tar.gz # Downstream-only: do not override system compiler flags # # Don’t compile with -O3 unless we can point to benchmarks that justify it. # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags Patch: 0001-Downstream-only-do-not-override-system-compiler-flag.patch # Exclude C++ sources and headers from built wheels # https://github.com/pyvista/fast-simplification/pull/99 Patch: %{url}/pull/99.patch BuildSystem: pyproject %if %{with tests} BuildOption(generate_buildrequires): requirements_test.txt %endif # https://scikit-build-core.readthedocs.io/en/latest/configuration/index.html BuildOption(build): %{shrink: --config-settings logging.level=INFO --config-settings build.verbose=true --config-settings cmake.build-type="RelWithDebInfo" } BuildOption(install): --no-assert-license fast_simplification # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: gcc-c++ %global common_description %{expand: This is a python wrapping of the Fast-Quadric-Mesh-Simplification Library (https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification/). Having arrived at the same problem as the original author, but needing a Python library, this project seeks to extend the work of the original library while adding integration to Python and the PyVista (https://github.com/pyvista/pyvista) project. For the full documentation visit: https://pyvista.github.io/fast-simplification/} %description %{common_description} %package -n python3-fast-simplification Summary: %{summary} # The entire source is (SPDX) MIT. However, while the python3-nanobind package # is not a header-only library, it functions rather like one, in that it ships # C++ sources that are compiled into extensions that use it. Furthermore, it # brings in an indirect dependency on the header-only robin-map library. - # python3-nanobind is BSD-3-Clause # - robin-map-static is MIT License: MIT AND BSD-3-Clause # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries # Required indirectly, via python3-nanobind: BuildRequires: robin-map-static # The source file fast_simplification/Simplify.h is based on src.cmd/Simplify.h # from https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification, which is # not currently packaged. It does not make sense to attempt to unbundle this, # because: # # - The Simplify.h header is part of the implementation of a command-line # tool, and is not designed to be used as a library # - Changes have been made for this project, e.g. # https://github.com/pyvista/fast-simplification/commit/d55a7dcf2066099e3efe341d201b9c5ab22b100a. # Normally we would ask our upstream to offer these to the original project # so that they could eventually return to using it unmodified, but since # the copied and forked header is not really a library, and the changes # aren’t relevant to the command-line tool it supports, this doesn’t make # sense. # # The version was determined by careful inspection of sources and commit # history; the changes from 4aeffce360279bd070492487426f3e6715c22562 are # present, but those from the following commit # f958f696c05b4b7a18ca85bc5c89d4f8e60288ad are not. Provides: bundled(Fast-Quadric-Mesh-Simplification) = 0^20201008git4aeffce %description -n python3-fast-simplification %{common_description} %prep -a %if %{without pyvista} %pyproject_patch_dependency pyvista:ignore %endif %generate_buildrequires -p export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' %build -p export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' %check -a %if %{with tests} %pytest --verbose -rs %endif %files -n python3-fast-simplification -f %{pyproject_files} %license LICENSE %doc README.rst %changelog ## START: Generated by rpmautospec * Sun Aug 23 2026 Benjamin A. Beasley - 0.2.0-2 - Improve handling of nanobind/robin-map license terms * Sun Aug 16 2026 Benjamin A. Beasley - 0.2.0-1 - Update to 0.2.0 upstream release - Resolves: rhbz#2514974 * Wed Jul 22 2026 Python Maint - 0.1.13-9 - Rebuilt for Python 3.15.0b4 ABI change * Thu Jul 16 2026 Fedora Release Engineering - 0.1.13-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild * Wed Jun 03 2026 Python Maint - 0.1.13-7 - Rebuilt for Python 3.15 * Sat May 23 2026 Benjamin A. Beasley - 0.1.13-6 - Use long pytest options * Mon May 11 2026 Benjamin A. Beasley - 0.1.13-5 - Use pyproject long options * Wed Apr 29 2026 Benjamin A. Beasley - 0.1.13-4 - Use %%pyproject_patch_dependency in lieu of sed * Sat Jan 17 2026 Fedora Release Engineering - 0.1.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Fri Dec 19 2025 Packit - 0.1.13-1 - Update to 0.1.13 upstream release - Resolves: rhbz#2423937 * Fri Sep 19 2025 Python Maint - 0.1.12-3 - Rebuilt for Python 3.14.0rc3 bytecode * Fri Aug 15 2025 Python Maint - 0.1.12-2 - Rebuilt for Python 3.14.0rc2 bytecode * Tue Aug 05 2025 Packit - 0.1.12-1 - Update to 0.1.12 upstream release - Resolves: rhbz#2386557 * Fri Jul 25 2025 Fedora Release Engineering - 0.1.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Tue Jun 03 2025 Python Maint - 0.1.11-3 - Rebuilt for Python 3.14 * Fri May 09 2025 Benjamin A. Beasley - 0.1.11-2 - Fix tests build conditional (empty BuildOption fields are not permitted) * Wed May 07 2025 Packit - 0.1.11-1 - Update to 0.1.11 upstream release - Resolves: rhbz#2364864 * Sat Apr 26 2025 Benjamin A. Beasley - 0.1.10-3 - Bump release to avoid downgrading Fedora 41 * Sat Apr 26 2025 Benjamin A. Beasley - 0.1.10-2 - F41+: Use the provisional pyproject declarative buildsystem * Sat Apr 26 2025 Benjamin A. Beasley - 0.1.10-1 - Update to 0.1.10 (close RHBZ#2362424) * Sat Jan 18 2025 Fedora Release Engineering - 0.1.9-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Mon Dec 23 2024 Benjamin A. Beasley - 0.1.9-3 - Rebuild with numpy 2 (fix RHBZ#2333893) - Drop the patch that building with numpy 1 * Mon Sep 23 2024 Benjamin A. Beasley - 0.1.9-1 - Initial package (close RHBZ#2310827) ## END: Generated by rpmautospec