From fea1b1cdcc394c0045f7979c7e9374eaf1ef2ffa Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 21 Sep 2026 17:22:08 +0000 Subject: automatic import of python-proxsuite --- .gitignore | 1 + proxsuite.spec | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 115 insertions(+) create mode 100644 proxsuite.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..d1a4961 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/proxsuite-0.7.3.tar.gz diff --git a/proxsuite.spec b/proxsuite.spec new file mode 100644 index 0000000..67c9226 --- /dev/null +++ b/proxsuite.spec @@ -0,0 +1,113 @@ +# ProxSuite is a CMake project (header-only C++ core + nanobind Python bindings). +# Upstream also ships a pyproject.toml using the cmeel build backend, which is a +# pip/conda-only packaging shim for the very same CMake build. openEuler builds +# the project with its native CMake build system (same as the ROS buildfarm, +# see package.xml cmake), so no cmeel/cmeel-eigen/ +# cmeel-simde RPMs are needed. +# +# Source layout (ground truth, verified with `tar tzf`): +# topdir: proxsuite-0.7.3 +# The tarball is generated from the upstream git checkout (tag v0.7.3) with the +# two mandatory submodules already populated: cmake-module (jrl-cmakemodules), +# bindings/python/external/nanobind and external/cereal. VCS metadata (.git) is +# not shipped, hence PROJECT_VERSION is passed explicitly to CMake below. + +%global pypi_name proxsuite + +Name: python-%{pypi_name} +Version: 0.7.3 +Release: 1%{?dist} +Summary: The Advanced Proximal Optimization Toolbox (QP/LP solvers) +License: BSD-2-Clause +URL: https://github.com/Simple-Robotics/proxsuite +Source0: https://github.com/Simple-Robotics/proxsuite/archive/refs/tags/v%{version}/%{pypi_name}-%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: make +BuildRequires: gcc-c++ +BuildRequires: git +BuildRequires: pkgconfig +BuildRequires: eigen3-devel +BuildRequires: simde-devel +BuildRequires: python3-devel + +%description +ProxSuite is a collection of open-source, numerically robust, precise and +efficient numerical solvers (LP, QP, ...) rooted in revisited primal-dual +proximal algorithms. It offers a header-only C++14/17/20 library together with +Python bindings, and supports dense, sparse and matrix-free problem structures. + +This package provides the Python bindings of ProxSuite. + +%package -n python3-%{pypi_name} +Summary: Python bindings for ProxSuite +Requires: python3-numpy +Requires: python3-scipy +Provides: python-%{pypi_name} = %{version}-%{release} +Provides: python3dist(proxsuite) = %{version} + +%description -n python3-%{pypi_name} +ProxSuite is a collection of open-source, numerically robust, precise and +efficient numerical solvers (LP, QP, ...) rooted in revisited primal-dual +proximal algorithms. + +This package provides the ProxSuite Python module (proxsuite), including the +ProxQP dense/sparse solvers and the proxsuite.torch helpers. + +%package -n %{pypi_name}-devel +Summary: C++ headers and CMake configuration for ProxSuite +Requires: eigen3-devel +Requires: simde-devel +Provides: %{pypi_name}-static = %{version}-%{release} + +%description -n %{pypi_name}-devel +ProxSuite is a collection of open-source, numerically robust, precise and +efficient numerical solvers (LP, QP, ...) rooted in revisited primal-dual +proximal algorithms. + +This package provides the header-only C++ library, the CMake package +configuration (proxsuiteConfig.cmake) and the pkg-config file. + +%prep +%autosetup -n %{pypi_name}-%{version} + +%build +export CFLAGS="%{optflags}" +export CXXFLAGS="%{optflags}" +mkdir -p %{_target_platform} +cd %{_target_platform} +cmake .. \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_lib} \ + -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ + -DCMAKE_INSTALL_BINDIR=%{_bindir} \ + -DCMAKE_BUILD_TYPE=Release \ + -DPROJECT_VERSION=%{version} \ + -DPYTHON_SITELIB=%{python3_sitearch} \ + -DBUILD_TESTING=OFF \ + -DBUILD_DOCUMENTATION=OFF \ + -DINSTALL_DOCUMENTATION=OFF \ + -DBUILD_BENCHMARK=OFF \ + -DBUILD_PYTHON_INTERFACE=ON \ + -DBUILD_WITH_OPENMP_SUPPORT=OFF \ + -DBUILD_WITH_VECTORIZATION_SUPPORT=ON +make %{?_smp_mflags} + +%install +cd %{_target_platform} +make install DESTDIR=%{buildroot} + +%files -n python3-%{pypi_name} +%license LICENSE +%doc README.md +%{python3_sitearch}/%{pypi_name}/ + +%files -n %{pypi_name}-devel +%license LICENSE +%{_includedir}/%{pypi_name}/ +%{_libdir}/cmake/%{pypi_name}/ +%{_libdir}/pkgconfig/%{pypi_name}.pc + +%changelog +* Mon Sep 21 2026 Python_Bot - 0.7.3-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..3fe2440 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +dc97f5b86e5c5e6f6ea41a5bc12a4c4b proxsuite-0.7.3.tar.gz -- cgit v1.2.3