summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-09-21 17:22:08 +0000
committerCoprDistGit <infra@openeuler.org>2026-09-21 17:22:08 +0000
commitfea1b1cdcc394c0045f7979c7e9374eaf1ef2ffa (patch)
tree567b8806d84d3931fada94a69d339ae730096816
parent0b11c54a2639ecdcd3bf1310b38b7c07aca67201 (diff)
automatic import of python-proxsuite
-rw-r--r--.gitignore1
-rw-r--r--proxsuite.spec113
-rw-r--r--sources1
3 files changed, 115 insertions, 0 deletions
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 <build_type>cmake</build_type>), 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 <Python_Bot@openeuler.org> - 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