* [bug#68682] [PATCH v2 2/2] gnu: arpack-ng: Update to 3.9.1.
2024-01-24 16:28 ` [bug#68682] [PATCH v2 1/2] gnu: arpack-ng: Add preprocessor flag Andreas Enge
@ 2024-01-24 16:28 ` Andreas Enge
2024-02-10 21:58 ` [bug#68682] [PATCH v2 1/2] gnu: arpack-ng: Add preprocessor flag Ludovic Courtès
1 sibling, 0 replies; 11+ messages in thread
From: Andreas Enge @ 2024-01-24 16:28 UTC (permalink / raw)
To: 68682; +Cc: Andreas Enge, Andreas Enge, Eric Bavier, Sharlatan Hellseher
* gnu/packages/maths.scm (arpack-ng): Update to 3.9.1. Drop patch.
* gnu/packages/patches/arpack-ng-propagate-rng-state.patch: Remove file.
* gnu/packages/maths.scm (dist_patch_DATA): Unregister patch.
Change-Id: I33a666c3a88fb2f6791c8d698eeb054a831103fc
---
gnu/local.mk | 3 +-
gnu/packages/maths.scm | 5 +-
.../arpack-ng-propagate-rng-state.patch | 523 ------------------
3 files changed, 3 insertions(+), 528 deletions(-)
delete mode 100644 gnu/packages/patches/arpack-ng-propagate-rng-state.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index c20e93390d..38a2d8d2e3 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
-# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023 Andreas Enge <andreas@enge.fr>
+# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@@ -927,7 +927,6 @@ dist_patch_DATA = \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aria2-unbundle-wslay.patch \
%D%/packages/patches/ark-skip-xar-test.patch \
- %D%/packages/patches/arpack-ng-propagate-rng-state.patch \
%D%/packages/patches/asli-use-system-libs.patch \
%D%/packages/patches/aspell-CVE-2019-25051.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 16cd3454ae..a6a2f4aecb 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1053,7 +1053,7 @@ (define-public vinci
(define-public arpack-ng
(package
(name "arpack-ng")
- (version "3.9.0")
+ (version "3.9.1")
(home-page "https://github.com/opencollab/arpack-ng")
(source (origin
(method git-fetch)
@@ -1061,8 +1061,7 @@ (define-public arpack-ng
(file-name (git-file-name name version))
(sha256
(base32
- "09smxilyn8v9xs3kpx3nlj2s7ql3v8z40mpc09kccbb6smyd35iv"))
- (patches (search-patches "arpack-ng-propagate-rng-state.patch"))))
+ "0bbw6a48py9fjlif2n4x75skyjskq2hghffjqzm85wnsnsjdlaqw"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DICB=ON")))
diff --git a/gnu/packages/patches/arpack-ng-propagate-rng-state.patch b/gnu/packages/patches/arpack-ng-propagate-rng-state.patch
deleted file mode 100644
index 4466bb8e50..0000000000
--- a/gnu/packages/patches/arpack-ng-propagate-rng-state.patch
+++ /dev/null
@@ -1,523 +0,0 @@
-Fix a bug that manifests while running the test suite of 'python-igraph':
-
- https://github.com/opencollab/arpack-ng/issues/401
- https://github.com/opencollab/arpack-ng/pull/414
-
-From d885b7be4ecdc9c1496f2d6f256f6c0d34962459 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Szabolcs=20Horva=CC=81t?= <szhorvat@gmail.com>
-Date: Sun, 9 Apr 2023 16:36:35 +0200
-Subject: [PATCH] fix: ensure that LAPACK RNG state is propagated
-
- - fixes #401, #410, #411
- - restores 'inits' variable removed in ce2e69a849da1d10dad5d6d3ec4db6120b3ecf50, ensuring that the RNG state is propagated
- - reverts e0d67054f573da351f12a226f7c7cc65a690ef3d to ensure that seed is different on each parallel thread
- - updates seed initialization of parallel pdgetv0/psgetv0 so that they match that of pzgetv0/pcgetv0
----
- PARPACK/SRC/MPI/pcgetv0.f | 48 +++++++++++++++++++++++----------------
- PARPACK/SRC/MPI/pdgetv0.f | 40 ++++++++++++++++++++++++++------
- PARPACK/SRC/MPI/psgetv0.f | 43 ++++++++++++++++++++++++++---------
- PARPACK/SRC/MPI/pzgetv0.f | 48 +++++++++++++++++++++++----------------
- SRC/cgetv0.f | 21 ++++++++++++-----
- SRC/dgetv0.f | 21 ++++++++++++-----
- SRC/sgetv0.f | 21 ++++++++++++-----
- SRC/zgetv0.f | 21 ++++++++++++-----
- 8 files changed, 183 insertions(+), 80 deletions(-)
-
-diff --git a/PARPACK/SRC/MPI/pcgetv0.f b/PARPACK/SRC/MPI/pcgetv0.f
-index 59e3d1658..24fe8a0f1 100644
---- a/PARPACK/SRC/MPI/pcgetv0.f
-+++ b/PARPACK/SRC/MPI/pcgetv0.f
-@@ -176,13 +176,13 @@ subroutine pcgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-+ logical first, inits, orth
- integer idist, iseed(4), iter, msglvl, jj, myid, igen
- Real
- & rnorm0
- Complex
- & cnorm, cnorm2
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- Complex
- & cnorm_buf, buf2(1)
-@@ -203,6 +203,12 @@ subroutine pcgetv0
- & ccdotc
- external ccdotc, pscnorm2, slapy2
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -213,26 +219,30 @@ subroutine pcgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-+ if (inits) then
- c
--c %-----------------------------------%
--c | Generate a seed on each processor |
--c | using process id (myid). |
--c | Note: the seed must be between 1 |
--c | and 4095. iseed(4) must be odd. |
--c %-----------------------------------%
-+c %-----------------------------------%
-+c | Generate a seed on each processor |
-+c | using process id (myid). |
-+c | Note: the seed must be between 1 |
-+c | and 4095. iseed(4) must be odd. |
-+c %-----------------------------------%
- c
-- call MPI_COMM_RANK(comm, myid, ierr)
-- igen = 1000 + 2*myid + 1
-- if (igen .gt. 4095) then
-- write(0,*) 'Error in p_getv0: seed exceeds 4095!'
-- end if
-+ call MPI_COMM_RANK(comm, myid, ierr)
-+ igen = 1000 + 2*myid + 1
-+ if (igen .gt. 4095) then
-+ write(0,*) 'Error in p_getv0: seed exceeds 4095!'
-+ end if
-+c
-+ iseed(1) = igen/1000
-+ igen = mod(igen,1000)
-+ iseed(2) = igen/100
-+ igen = mod(igen,100)
-+ iseed(3) = igen/10
-+ iseed(4) = mod(igen,10)
- c
-- iseed(1) = igen/1000
-- igen = mod(igen,1000)
-- iseed(2) = igen/100
-- igen = mod(igen,100)
-- iseed(3) = igen/10
-- iseed(4) = 7
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/PARPACK/SRC/MPI/pdgetv0.f b/PARPACK/SRC/MPI/pdgetv0.f
-index 0f348b820..5a1956997 100644
---- a/PARPACK/SRC/MPI/pdgetv0.f
-+++ b/PARPACK/SRC/MPI/pdgetv0.f
-@@ -177,11 +177,11 @@ subroutine pdgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-- integer idist, iseed(4), iter, msglvl, jj
-+ logical first, inits, orth
-+ integer idist, iseed(4), iter, msglvl, jj, myid, igen
- Double precision
- & rnorm0, buf2(1)
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- Double precision
- & rnorm_buf
-@@ -206,6 +206,12 @@ subroutine pdgetv0
- c
- intrinsic abs, sqrt
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -216,10 +222,30 @@ subroutine pdgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-- iseed(1) = 1
-- iseed(2) = 3
-- iseed(3) = 5
-- iseed(4) = 7
-+ if (inits) then
-+c
-+c %-----------------------------------%
-+c | Generate a seed on each processor |
-+c | using process id (myid). |
-+c | Note: the seed must be between 1 |
-+c | and 4095. iseed(4) must be odd. |
-+c %-----------------------------------%
-+c
-+ call MPI_COMM_RANK(comm, myid, ierr)
-+ igen = 1000 + 2*myid + 1
-+ if (igen .gt. 4095) then
-+ write(0,*) 'Error in p_getv0: seed exceeds 4095!'
-+ end if
-+c
-+ iseed(1) = igen/1000
-+ igen = mod(igen,1000)
-+ iseed(2) = igen/100
-+ igen = mod(igen,100)
-+ iseed(3) = igen/10
-+ iseed(4) = mod(igen,10)
-+c
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/PARPACK/SRC/MPI/psgetv0.f b/PARPACK/SRC/MPI/psgetv0.f
-index d79a513b2..078e4fa8c 100644
---- a/PARPACK/SRC/MPI/psgetv0.f
-+++ b/PARPACK/SRC/MPI/psgetv0.f
-@@ -177,11 +177,11 @@ subroutine psgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-- integer idist, iseed(4), iter, msglvl, jj
-+ logical first, inits, orth
-+ integer idist, iseed(4), iter, msglvl, jj, myid, igen
- Real
- & rnorm0
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- Real
- & rnorm_buf
-@@ -206,20 +206,41 @@ subroutine psgetv0
- c
- intrinsic abs, sqrt
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
- c
- c
--c %-----------------------------------%
--c | Initialize the seed of the LAPACK |
--c | random number generator |
--c %-----------------------------------%
-+ if (inits) then
- c
-- iseed(1) = 1
-- iseed(2) = 3
-- iseed(3) = 5
-- iseed(4) = 7
-+c %-----------------------------------%
-+c | Generate a seed on each processor |
-+c | using process id (myid). |
-+c | Note: the seed must be between 1 |
-+c | and 4095. iseed(4) must be odd. |
-+c %-----------------------------------%
-+c
-+ call MPI_COMM_RANK(comm, myid, ierr)
-+ igen = 1000 + 2*myid + 1
-+ if (igen .gt. 4095) then
-+ write(0,*) 'Error in p_getv0: seed exceeds 4095!'
-+ end if
-+c
-+ iseed(1) = igen/1000
-+ igen = mod(igen,1000)
-+ iseed(2) = igen/100
-+ igen = mod(igen,100)
-+ iseed(3) = igen/10
-+ iseed(4) = mod(igen,10)
-+c
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/PARPACK/SRC/MPI/pzgetv0.f b/PARPACK/SRC/MPI/pzgetv0.f
-index 731fb319f..94fb705f3 100644
---- a/PARPACK/SRC/MPI/pzgetv0.f
-+++ b/PARPACK/SRC/MPI/pzgetv0.f
-@@ -176,13 +176,13 @@ subroutine pzgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-+ logical first, inits, orth
- integer idist, iseed(4), iter, msglvl, jj, myid, igen
- Double precision
- & rnorm0
- Complex*16
- & cnorm, cnorm2
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- Complex*16
- & cnorm_buf, buf2(1)
-@@ -203,6 +203,12 @@ subroutine pzgetv0
- & zzdotc
- external zzdotc , pdznorm2 , dlapy2
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -213,26 +219,30 @@ subroutine pzgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-+ if (inits) then
- c
--c %-----------------------------------%
--c | Generate a seed on each processor |
--c | using process id (myid). |
--c | Note: the seed must be between 1 |
--c | and 4095. iseed(4) must be odd. |
--c %-----------------------------------%
-+c %-----------------------------------%
-+c | Generate a seed on each processor |
-+c | using process id (myid). |
-+c | Note: the seed must be between 1 |
-+c | and 4095. iseed(4) must be odd. |
-+c %-----------------------------------%
- c
-- call MPI_COMM_RANK(comm, myid, ierr)
-- igen = 1000 + 2*myid + 1
-- if (igen .gt. 4095) then
-- write(0,*) 'Error in p_getv0: seed exceeds 4095!'
-- end if
-+ call MPI_COMM_RANK(comm, myid, ierr)
-+ igen = 1000 + 2*myid + 1
-+ if (igen .gt. 4095) then
-+ write(0,*) 'Error in p_getv0: seed exceeds 4095!'
-+ end if
-+c
-+ iseed(1) = igen/1000
-+ igen = mod(igen,1000)
-+ iseed(2) = igen/100
-+ igen = mod(igen,100)
-+ iseed(3) = igen/10
-+ iseed(4) = mod(igen,10)
- c
-- iseed(1) = igen/1000
-- igen = mod(igen,1000)
-- iseed(2) = igen/100
-- igen = mod(igen,100)
-- iseed(3) = igen/10
-- iseed(4) = 7
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/SRC/cgetv0.f b/SRC/cgetv0.f
-index b49e66708..c231eadcb 100644
---- a/SRC/cgetv0.f
-+++ b/SRC/cgetv0.f
-@@ -156,13 +156,13 @@ subroutine cgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-+ logical first, inits, orth
- integer idist, iseed(4), iter, msglvl, jj
- Real
- & rnorm0
- Complex
- & cnorm
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- c %----------------------%
- c | External Subroutines |
-@@ -180,6 +180,12 @@ subroutine cgetv0
- & ccdotc
- external ccdotc, scnrm2, slapy2
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -190,10 +196,13 @@ subroutine cgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-- iseed(1) = 1
-- iseed(2) = 3
-- iseed(3) = 5
-- iseed(4) = 7
-+ if (inits) then
-+ iseed(1) = 1
-+ iseed(2) = 3
-+ iseed(3) = 5
-+ iseed(4) = 7
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/SRC/dgetv0.f b/SRC/dgetv0.f
-index 8be4fa26d..1d6dc01bd 100644
---- a/SRC/dgetv0.f
-+++ b/SRC/dgetv0.f
-@@ -157,11 +157,11 @@ subroutine dgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-+ logical first, inits, orth
- integer idist, iseed(4), iter, msglvl, jj
- Double precision
- & rnorm0
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- c %----------------------%
- c | External Subroutines |
-@@ -183,6 +183,12 @@ subroutine dgetv0
- c
- intrinsic abs, sqrt
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -193,10 +199,13 @@ subroutine dgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-- iseed(1) = 1
-- iseed(2) = 3
-- iseed(3) = 5
-- iseed(4) = 7
-+ if (inits) then
-+ iseed(1) = 1
-+ iseed(2) = 3
-+ iseed(3) = 5
-+ iseed(4) = 7
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/SRC/sgetv0.f b/SRC/sgetv0.f
-index 26130a014..d861b2d6d 100644
---- a/SRC/sgetv0.f
-+++ b/SRC/sgetv0.f
-@@ -157,11 +157,11 @@ subroutine sgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-+ logical first, inits, orth
- integer idist, iseed(4), iter, msglvl, jj
- Real
- & rnorm0
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- c %----------------------%
- c | External Subroutines |
-@@ -183,6 +183,12 @@ subroutine sgetv0
- c
- intrinsic abs, sqrt
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -193,10 +199,13 @@ subroutine sgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-- iseed(1) = 1
-- iseed(2) = 3
-- iseed(3) = 5
-- iseed(4) = 7
-+ if (inits) then
-+ iseed(1) = 1
-+ iseed(2) = 3
-+ iseed(3) = 5
-+ iseed(4) = 7
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
-diff --git a/SRC/zgetv0.f b/SRC/zgetv0.f
-index cc13c3cfb..1fbd50851 100644
---- a/SRC/zgetv0.f
-+++ b/SRC/zgetv0.f
-@@ -156,13 +156,13 @@ subroutine zgetv0
- c | Local Scalars & Arrays |
- c %------------------------%
- c
-- logical first, orth
-+ logical first, inits, orth
- integer idist, iseed(4), iter, msglvl, jj
- Double precision
- & rnorm0
- Complex*16
- & cnorm
-- save first, iseed, iter, msglvl, orth, rnorm0
-+ save first, iseed, inits, iter, msglvl, orth, rnorm0
- c
- c %----------------------%
- c | External Subroutines |
-@@ -180,6 +180,12 @@ subroutine zgetv0
- & zzdotc
- external zzdotc, dznrm2, dlapy2
- c
-+c %-----------------%
-+c | Data Statements |
-+c %-----------------%
-+c
-+ data inits /.true./
-+c
- c %-----------------------%
- c | Executable Statements |
- c %-----------------------%
-@@ -190,10 +196,13 @@ subroutine zgetv0
- c | random number generator |
- c %-----------------------------------%
- c
-- iseed(1) = 1
-- iseed(2) = 3
-- iseed(3) = 5
-- iseed(4) = 7
-+ if (inits) then
-+ iseed(1) = 1
-+ iseed(2) = 3
-+ iseed(3) = 5
-+ iseed(4) = 7
-+ inits = .false.
-+ end if
- c
- if (ido .eq. 0) then
- c
--
2.41.0
^ permalink raw reply related [flat|nested] 11+ messages in thread