From: tornaria <tornaria@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] SuiteSparse: update to 6.0.1.
Date: Thu, 24 Nov 2022 12:22:05 +0100 [thread overview]
Message-ID: <20221124112205.gDHS_TTQzrP0ACkTEVyP4GrqNNQX_gcU6BWVmSxq0kk@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39846@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 1368 bytes --]
There is an updated pull request by tornaria against master on the void-packages repository
https://github.com/tornaria/void-packages SuiteSparse
https://github.com/void-linux/void-packages/pull/39846
SuiteSparse: update to 6.0.1.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
`SuiteSparse` is used in sagemath through `python3-cvxopt` -- I ran the sagemath testsuite with this update.
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39846.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-SuiteSparse-39846.patch --]
[-- Type: text/x-diff, Size: 10697 bytes --]
From 90bf14f32c03f0d37474f4307f1f0d51e8e69618 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 17:46:15 -0300
Subject: [PATCH 1/2] SuiteSparse: update to 6.0.1.
- use openblas instead of lapack when available.
- add shlibs that will be used by octave.
- SuiteSparse-devel and mongoose-devel conflict for libmongoose.{so,a}.
---
common/shlibs | 13 ++++--
.../patches/skip-demo-on-build.patch | 22 ----------
srcpkgs/SuiteSparse/template | 42 ++++++++++++-------
3 files changed, 35 insertions(+), 42 deletions(-)
delete mode 100644 srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
diff --git a/common/shlibs b/common/shlibs
index 61f21bc3b94e..2e6db58a102b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -71,7 +71,6 @@ libppl.so.14 ppl-1.2_1
libppl_c.so.4 ppl-0.11_1
libstdc++.so.6 libstdc++-4.4.0_1
libssp.so.0 libssp-4.4.0_1
-libcxsparse.so.3 SuiteSparse-5.10.1_1
libncurses.so.6 ncurses-libs-6.0_1 ignore
libncursesw.so.6 ncurses-libs-5.8_1 ignore
libtinfo.so.6 ncurses-libtinfo-libs-6.2_2
@@ -4064,9 +4063,15 @@ libprimecount.so.7 primecount-7.2_1
libprimesieve.so.10 primesieve-8.0_1
libavif.so.15 libavif-0.11.0_1
libkdumpfile.so.10 libkdumpfile-0.4.1_1
-libamd.so.2 SuiteSparse-5.10.1_1
-libcholmod.so.3 SuiteSparse-5.10.1_1
-libumfpack.so.5 SuiteSparse-5.10.1_1
+libamd.so.3 SuiteSparse-6.0.1_1
+libcamd.so.3 SuiteSparse-6.0.1_1
+libccolamd.so.3 SuiteSparse-6.0.1_1
+libcholmod.so.4 SuiteSparse-6.0.1_1
+libcolamd.so.3 SuiteSparse-6.0.1_1
+libcxsparse.so.4 SuiteSparse-6.0.1_1
+libspqr.so.3 SuiteSparse-6.0.1_1
+libsuitesparseconfig.so.6 SuiteSparse-6.0.1_1
+libumfpack.so.6 SuiteSparse-6.0.1_1
libecl.so.21.2 ecl-21.2.1_1
libecm.so.1 ecm-7.0.4_3
libcliquer.so.1 cliquer-1.22_1
diff --git a/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch b/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
deleted file mode 100644
index 9ec775229ed6..000000000000
--- a/srcpkgs/SuiteSparse/patches/skip-demo-on-build.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This is to avoid running demos on `make install`, which break cross compile
-
---- a/Makefile
-+++ b/Makefile
-@@ -294,7 +294,7 @@ endif
- # just compile GraphBLAS
- gb:
- echo $(CMAKE_OPTIONS)
-- ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
-+ ( cd GraphBLAS && $(MAKE) JOBS=$(JOBS) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
-
- # compile and install GraphBLAS libgraphblas_renamed, for MATLAB
- gbrenamed:
-@@ -309,7 +309,7 @@ gbrenamed:
-
- # just compile Mongoose
- mon:
-- ( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' )
-+ ( cd Mongoose && $(MAKE) CMAKE_OPTIONS='$(CMAKE_OPTIONS)' library )
-
- # compile and install Mongoose
- moninstall: mon
diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index b304dfc8f786..869237dc9f85 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -1,44 +1,54 @@
# Template file for 'SuiteSparse'
pkgname=SuiteSparse
-version=5.12.0
+version=6.0.1
revision=1
-# XXX: re-enable TBB=-ltbb -DSPQR_CONFIG=-DHAVE_TBB when updating, if possible
-make_build_args="BLAS=-lblas LAPACK=-llapack"
-hostmakedepends="cmake chrpath"
-makedepends="libgomp-devel lapack-devel mpfr-devel"
+hostmakedepends="cmake gcc-fortran"
+makedepends="libgomp-devel mpfr-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
short_desc="Suite of sparse matrix software"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="custom:multiple"
homepage="https://people.engr.tamu.edu/davis/suitesparse.html"
changelog="https://raw.githubusercontent.com/DrTimothyAldenDavis/SuiteSparse/master/ChangeLog"
distfiles="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${version}.tar.gz"
-checksum=5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de
+checksum=06f55a0449775d1f43d8a33ba8c8417ea8cf76c27833b465c49825baa8741d0c
+
+build_options="openblas"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
do_build() {
- make config library $make_build_args JOBS=$XBPS_MAKEJOBS
+ make library \
+ JOBS=$XBPS_MAKEJOBS \
+ CMAKE_OPTIONS="-DBLA_VENDOR=$(vopt_if openblas 'OpenBLAS' 'Generic') \
+ -DCMAKE_INSTALL_PREFIX=$DESTDIR/usr"
}
do_check() {
- make go $make_build_args LD_LIBRARY_PATH=$wrksrc/lib JOBS=$XBPS_MAKEJOBS
+ make demos \
+ JOBS=$XBPS_MAKEJOBS
}
do_install() {
- make install $make_build_args INSTALL=$DESTDIR/usr
+ make install
vlicense LICENSE.txt
-
- # remove invalid rpath
- chrpath -d $DESTDIR/usr/lib/lib*.so
}
SuiteSparse-devel_package() {
depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
+ # conflict for /usr/lib/libmongoose.{a,so}
+ conflicts="mongoose-devel"
pkg_install() {
vmove usr/include
+ vmove usr/lib/cmake
vmove "usr/lib/*.a"
- # do not vmove libmetis.so
- vmove "usr/lib/lib[a-ln-z]*.so"
- vmove "usr/lib/libmo*.so"
- vmove usr/share/doc
+ vmove "usr/lib/*.so"
}
}
From f221245feecbec93f863b5a101b2b7e864d744b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 13 Nov 2022 00:33:48 -0300
Subject: [PATCH 2/2] python3-cvxopt: revbump for SuiteSparse 6.0.1.
- use openblas instead of lapack when available.
---
srcpkgs/python3-cvxopt/patches/fix-gsl.patch | 11 ---
.../python3-cvxopt/patches/test-modules.patch | 76 +++++++++++++++++++
srcpkgs/python3-cvxopt/template | 18 ++++-
3 files changed, 91 insertions(+), 14 deletions(-)
delete mode 100644 srcpkgs/python3-cvxopt/patches/fix-gsl.patch
create mode 100644 srcpkgs/python3-cvxopt/patches/test-modules.patch
diff --git a/srcpkgs/python3-cvxopt/patches/fix-gsl.patch b/srcpkgs/python3-cvxopt/patches/fix-gsl.patch
deleted file mode 100644
index e32dc2fbf1e1..000000000000
--- a/srcpkgs/python3-cvxopt/patches/fix-gsl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py 2022-03-07 18:58:58.000000000 -0300
-+++ b/setup.py 2022-04-14 22:25:18.860887901 -0300
-@@ -129,7 +129,7 @@
- # optional modules
-
- if BUILD_GSL:
-- gsl = Extension('gsl', libraries = M_LIB + ['gsl'] + BLAS_LIB,
-+ gsl = Extension('gsl', libraries = M_LIB + ['gsl', 'gslcblas'],
- include_dirs = [ GSL_INC_DIR ],
- library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ],
- define_macros = GSL_MACROS,
diff --git a/srcpkgs/python3-cvxopt/patches/test-modules.patch b/srcpkgs/python3-cvxopt/patches/test-modules.patch
new file mode 100644
index 000000000000..6562b7e002e1
--- /dev/null
+++ b/srcpkgs/python3-cvxopt/patches/test-modules.patch
@@ -0,0 +1,76 @@
+diff --git a/tests/test_dsdp.py b/tests/test_dsdp.py
+index d514dc8..2a5e5bf 100644
+--- a/tests/test_dsdp.py
++++ b/tests/test_dsdp.py
+@@ -4,9 +4,10 @@ class TestDSDP(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import dsdp, matrix
+- except:
++ import cvxopt.dsdp
++ except ModuleNotFoundError:
+ self.skipTest("DSDP not available")
++ from cvxopt import matrix
+ c = matrix([1.,-1.,1.])
+ G = [ matrix([[-7., -11., -11., 3.],
+ [ 7., -18., -18., 8.],
+diff --git a/tests/test_glpk.py b/tests/test_glpk.py
+index 89f876d..dad5801 100644
+--- a/tests/test_glpk.py
++++ b/tests/test_glpk.py
+@@ -4,15 +4,16 @@ class TestGLPK(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import glpk, matrix
+- c = matrix([-4., -5.])
+- G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
+- h = matrix([3., 3., 0., 0.])
+- A = matrix([1.0,1.0],(1,2))
+- b = matrix(1.0)
+- self._prob_data = (c,G,h,A,b)
+- except:
++ import cvxopt.glpk
++ except ModuleNotFoundError:
+ self.skipTest("GLPK not available")
++ from cvxopt import matrix
++ c = matrix([-4., -5.])
++ G = matrix([[2., 1., -1., 0.], [1., 2., 0., -1.]])
++ h = matrix([3., 3., 0., 0.])
++ A = matrix([1.0,1.0],(1,2))
++ b = matrix(1.0)
++ self._prob_data = (c,G,h,A,b)
+
+ def test_lp(self):
+ from cvxopt import solvers, glpk
+diff --git a/tests/test_gsl.py b/tests/test_gsl.py
+index d24f058..3ee9a37 100644
+--- a/tests/test_gsl.py
++++ b/tests/test_gsl.py
+@@ -4,8 +4,8 @@ class TestGSL(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import gsl
+- except:
++ import cvxopt.gsl
++ except ModuleNotFoundError:
+ self.skipTest("GSL not available")
+
+ def test1(self):
+diff --git a/tests/test_mosek.py b/tests/test_mosek.py
+index e3d0f4e..6cd1fbf 100644
+--- a/tests/test_mosek.py
++++ b/tests/test_mosek.py
+@@ -4,8 +4,8 @@ class TestMOSEK(unittest.TestCase):
+
+ def setUp(self):
+ try:
+- from cvxopt import msk
+- except:
++ import cvxopt.msk
++ except ModuleNotFoundError:
+ self.skipTest("MOSEK not available")
+
+ def assertAlmostEqualLists(self,L1,L2,places=3):
diff --git a/srcpkgs/python3-cvxopt/template b/srcpkgs/python3-cvxopt/template
index 4044fbfea2a7..944086e37837 100644
--- a/srcpkgs/python3-cvxopt/template
+++ b/srcpkgs/python3-cvxopt/template
@@ -1,11 +1,11 @@
# Template file for 'python3-cvxopt'
pkgname=python3-cvxopt
version=1.3.0
-revision=2
+revision=3
build_style=python3-module
hostmakedepends="python3-setuptools"
-makedepends="python3-devel blas-devel lapack-devel SuiteSparse-devel gsl-devel
- glpk-devel fftw-devel"
+makedepends="python3-devel SuiteSparse-devel gsl-devel glpk-devel fftw-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel')"
checkdepends="python3-pytest"
short_desc="Python software for convex optimization"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
@@ -14,8 +14,20 @@ homepage="http://cvxopt.org/"
distfiles="${PYPI_SITE}/c/cvxopt/cvxopt-${version}.tar.gz"
checksum=00b1b232f9d1f902d578a9d75814b67fa020758d5ae422e28ca8cef6269fa5c6
+build_options="openblas"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
pre_build() {
export CVXOPT_BUILD_GSL=1
export CVXOPT_BUILD_GLPK=1
export CVXOPT_BUILD_FFTW=1
+ export CVXOPT_BLAS_LIB=$(vopt_if openblas 'openblas' 'blas;gslcblas')
+ export CVXOPT_LAPACK_LIB=$(vopt_if openblas 'openblas' 'lapack')
}
next prev parent reply other threads:[~2022-11-24 11:22 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-09 20:48 [PR PATCH] SuiteSparse: update to 5.13.0 tornaria
2022-10-15 13:24 ` tornaria
2022-11-13 3:41 ` [PR PATCH] [Updated] " tornaria
2022-11-15 20:50 ` [PR PATCH] [Updated] SuiteSparse: update to 6.0.0 tornaria
2022-11-16 1:54 ` SuiteSparse: update to 6.0.1 tornaria
2022-11-24 10:55 ` [PR PATCH] [Updated] " tornaria
2022-11-24 11:19 ` tornaria
2022-11-24 11:22 ` tornaria [this message]
2022-11-24 11:27 ` tornaria
2022-11-24 12:45 ` tornaria
2022-12-03 22:37 ` Piraty
2022-12-03 22:46 ` Piraty
2022-12-03 22:48 ` Piraty
2022-12-04 0:16 ` Piraty
2022-12-04 0:23 ` [PR PATCH] [Updated] " tornaria
2022-12-04 1:44 ` tornaria
2022-12-04 21:11 ` [PR PATCH] [Merged]: " Piraty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221124112205.gDHS_TTQzrP0ACkTEVyP4GrqNNQX_gcU6BWVmSxq0kk@z \
--to=tornaria@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).