Package: guix-patches;
Reported by: Romain GARBAGE <romain.garbage <at> inria.fr>
Date: Wed, 24 Jan 2024 08:49:02 UTC
Severity: normal
Tags: patch
Done: Andreas Enge <andreas <at> enge.fr>
Bug is archived. No further changes may be made.
Message #26 received at 68682 <at> debbugs.gnu.org (full text, mbox):
From: Andreas Enge <andreas <at> enge.fr> To: 68682 <at> debbugs.gnu.org Cc: Andreas Enge <andreas <at> enge.fr> Subject: [PATCH v2 2/2] gnu: arpack-ng: Update to 3.9.1. Date: Wed, 24 Jan 2024 17:28:49 +0100
* 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 <at> gnu.org> -# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023 Andreas Enge <andreas <at> enge.fr> +# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024 Andreas Enge <andreas <at> enge.fr> # Copyright © 2016 Mathieu Lirzin <mthl <at> gnu.org> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw <at> netris.org> # Copyright © 2016 Chris Marusich <cmmarusich <at> 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 <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.