Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/extra/python-qdldl
diff options
context:
space:
mode:
Diffstat (limited to 'extra/python-qdldl')
-rw-r--r--extra/python-qdldl/0001-Fix-i686-builds.patch63
-rw-r--r--extra/python-qdldl/PKGBUILD6
2 files changed, 66 insertions, 3 deletions
diff --git a/extra/python-qdldl/0001-Fix-i686-builds.patch b/extra/python-qdldl/0001-Fix-i686-builds.patch
new file mode 100644
index 00000000..e8eb42bb
--- /dev/null
+++ b/extra/python-qdldl/0001-Fix-i686-builds.patch
@@ -0,0 +1,63 @@
+From 3516c7a43624d991b05669064ec1c00549f1d853 Mon Sep 17 00:00:00 2001
+From: Tasos Sahanidis <tasos@tasossah.com>
+Date: Sun, 8 Sep 2024 20:31:05 +0300
+Subject: [PATCH] Fix i686 builds
+
+---
+ c/amd/include/SuiteSparse_config.h | 1 -
+ c/amd/include/amd_internal.h | 3 ---
+ cpp/qdldl.cpp | 5 +++++
+ 3 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/c/amd/include/SuiteSparse_config.h b/c/amd/include/SuiteSparse_config.h
+index ea3cea4..5a15deb 100644
+--- a/c/amd/include/SuiteSparse_config.h
++++ b/c/amd/include/SuiteSparse_config.h
+@@ -43,7 +43,6 @@ extern "C" {
+ #endif
+
+ #include "qdldl_types.h"
+-#define DLONG
+ typedef QDLDL_float c_float;
+
+ #include <limits.h>
+diff --git a/c/amd/include/amd_internal.h b/c/amd/include/amd_internal.h
+index eccde9f..cd745fd 100644
+--- a/c/amd/include/amd_internal.h
++++ b/c/amd/include/amd_internal.h
+@@ -38,9 +38,6 @@
+ #endif
+
+ #include "qdldl_types.h"
+-#ifndef DLONG
+-#define DLONG
+-#endif
+
+ /*
+ To enable debugging, uncomment the following line:
+diff --git a/cpp/qdldl.cpp b/cpp/qdldl.cpp
+index e304dbe..4751926 100644
+--- a/cpp/qdldl.cpp
++++ b/cpp/qdldl.cpp
+@@ -1,5 +1,6 @@
+ #include "qdldl.hpp"
+
++#include "qdldl/include/qdldl_types.h"
+ using namespace qdldl;
+
+
+@@ -31,7 +32,11 @@ Solver::Solver(QDLDL_int n, QDLDL_int * Ap, QDLDL_int *Ai, QDLDL_float * Ax){
+ Pinv = new QDLDL_int[n];
+
+ // Permutation
++#ifdef DLONG
+ QDLDL_int amd_status = amd_l_order(nx, Ap, Ai, P, NULL, NULL);
++#else
++ QDLDL_int amd_status = amd_order(nx, Ap, Ai, P, NULL, NULL);
++#endif
+ if (amd_status < 0)
+ throw std::runtime_error(std::string("Error in AMD computation ") + std::to_string(amd_status));
+
+--
+2.34.1
+
diff --git a/extra/python-qdldl/PKGBUILD b/extra/python-qdldl/PKGBUILD
index 02bfa340..e2a25c26 100644
--- a/extra/python-qdldl/PKGBUILD
+++ b/extra/python-qdldl/PKGBUILD
@@ -1,5 +1,5 @@
# Thanks to imciner2 on GitHub
# https://github.com/osqp/qdldl-python/pull/16
-eval "$(declare -f prepare | sed '4ised -i s@amd_l_order@amd_order@ cpp/qdldl.cpp')"
-
-unset check
+source+=(0001-Fix-i686-builds.patch)
+sha256sums+=(SKIP)
+eval "$(declare -f prepare | sed '4ipatch -p1 -i ../0001-Fix-i686-builds.patch')"