guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit 8a4d5b498dd8a8a3e8d98a2374ca128f9b4298a6
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Fri Jan 2 11:44:58 2026 +0000

    gnu: python-osqp: Update to 1.0.5.
    
    * gnu/packages/python-science.scm (python-osqp): Update to 1.0.5.
    [arguments] <test-flags>: Rework skipped tests.
    [phases]{relax-requirements}: Remove phase.
    {fix-osqp-source-location}: New phase.
    [propagated-inputs]: Remove python-qdldl; add python-jinja2,
    python-joblib, and python-setuptools.
    [native-inputs]: Remove python-setuptools and python-wheel; add osqp,
    pybind11, python-pytorch, python-scikit-build-core, and qdldl.
    
    Change-Id: Ic6180f814a215d5bd772e4134f7ca291f1120081
---
 gnu/packages/python-science.scm | 65 ++++++++++++++++++++++++++---------------
 1 file changed, 42 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index c1512110e2..4550c3611c 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -2272,7 +2272,7 @@ web, by sharing data and other research outputs.")
 (define-public python-osqp
   (package
     (name "python-osqp")
-    (version "0.6.5")
+    (version "1.0.5")
     (source
      (origin
        (method git-fetch)
@@ -2282,44 +2282,63 @@ web, by sharing data and other research outputs.")
              (recursive? #true)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0s1nbzkfsi2h4ji3v0k14pfcrvinakrwy4xdbz320lbaq3yb0b65"))))
+        (base32 "0b5j0hv6dlbs3dm9xvs2ijnjr2r8xnchs4jyk3dx16qhcp85wklb"))))
     (build-system pyproject-build-system)
     (arguments
      (list
+      ;; tests: 47 passed, 3 skipped, 1027 warnings
       #:test-flags
-      ;; Some of these test failures are explained by
-      ;; https://github.com/osqp/osqp-python/issues/121.
       ;; These tests require the module "vec_emosqp", which we don't have.
-      '(list "--ignore=src/osqp/tests/codegen_vectors_test.py"
+      #~(list "--ignore=src/osqp/tests/codegen_vectors_test.py"
              ;; These tests need "mat_emosqp".
-             "--ignore=src/osqp/tests/codegen_matrices_test.py"
-             ;; These fail with accuracy differences
-             "--ignore=src/osqp/tests/update_matrices_test.py"
-             "--ignore=src/osqp/tests/feasibility_test.py"
-             "--ignore=src/osqp/tests/polishing_test.py"
-             ;; This requires the nonfree MKL.
-             "--ignore=src/osqp/tests/mkl_pardiso_test.py")
+             "--ignore=src/osqp/tests/codegen_matrices_test.py")
       #:phases
       #~(modify-phases %standard-phases
-          ;; It looks like the upgrade to scipy 1.12.0 only broke the test
-          ;; suite, not the features of this library.  See
-          ;; https://github.com/osqp/osqp-python/issues/121.
-          (add-after 'unpack 'relax-requirements
+          (add-after 'unpack 'fix-osqp-source-location
+            ;; XXX: Maybe implement it as CMake configure flags, otherwise
+            ;; each package depending on osqp needs to have this phase?
             (lambda _
-              (substitute* "requirements.txt"
-                (("scipy.*1.12.0") "scipy <= 1.12.0"))))
+              (copy-recursively #$(package-source
+                                   (this-package-native-input "osqp"))
+                                "osqp")
+              (substitute* "osqp/algebra/_common/lin_sys/qdldl/qdldl.cmake"
+                (("Fetching/configuring QDLDL solver")
+                 (format #f "Adding/configuring QDLDL solver from: ~a"
+                         #$(package-source
+                            (this-package-native-input "qdldl"))))
+                (("GIT_REPOSITORY https://github.com/osqp/qdldl\\.git";)
+                 (format #f "SOURCE_DIR ~a"
+                         #$(package-source
+                            (this-package-native-input "qdldl"))))
+                (("GIT_TAG v0.1.8")
+                 ""))
+              (substitute* "CMakeLists.txt"
+                (("Fetching/configuring OSQP")
+                 (format #f "Adding/configuring OSQP: ~a"
+                         (string-append (getcwd) "/osqp")))
+                (("GIT_REPOSITORY https://github.com/osqp/osqp\\.git";)
+                 (format #f "SOURCE_DIR ~a"
+                         (string-append (getcwd) "/osqp")))
+                (("GIT_TAG v1.0.0")
+                 ""))))
           (add-before 'build 'set-version
             (lambda _
               (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
-    (propagated-inputs (list python-numpy python-qdldl python-scipy))
-    ;; We need setuptools-scm only for the version number.  Without it the
-    ;; version number will be "0.0.0" and downstream packages will complain.
     (native-inputs
      (list cmake-minimal
+           osqp
+           pybind11
            python-pytest
+           python-pytorch
+           python-scikit-build-core
            python-setuptools-scm
-           python-setuptools
-           python-wheel))
+           qdldl))
+    (propagated-inputs
+     (list python-jinja2
+           python-joblib
+           python-numpy
+           python-scipy
+           python-setuptools))
     (home-page "https://osqp.org/";)
     (synopsis "OSQP: operator splitting QP solver")
     (description "The OSQP (Operator Splitting Quadratic Program) solver is a

Reply via email to