Subject: bug#52906: python-biopython conflicts with python-numpy

From: zimoun <[email-masked]>
Date: Thu, 30 Dec 2021 22:13:48 +0100

Hi,

Using 7022eb6, the package ’python-biopython’ propagates
’python-numpy’, i.e., [email-masked].

However, because Guix installs by default the last version and:

--8<---------------cut here---------------start------------->8---
$ guix package -A | grep 'python-numpy ' | cut -f1,2
python-numpy        	1.21.3              
python-numpy        	1.20.3              
--8<---------------cut here---------------end--------------->8---

then this manifests.scm leads to an error,

--8<---------------cut here---------------start------------->8---
$ cat /tmp/manifest.scm
(specifications->manifest
 (list "python-numpy"
       "python-biopython"))

$ guix package -m /tmp/manifest.scm -p /tmp/fail
The following packages will be installed:
   python-biopython 1.76
   python-numpy     1.21.3

guix package: error: profile contains conflicting entries for python-numpy
guix package: error:   first entry: [email-masked] /gnu/store/ggrkk9l67fjn1cj7alr8vx40xv08a6h0-python-numpy-1.21.3
guix package: error:   second entry: [email-masked] /gnu/store/wgsmkn68q8h178sqc7ywjcdr330z9rb6-python-numpy-1.20.3
guix package: error:    ... propagated from [email-masked]
hint: Try upgrading both `python-numpy' and `python-biopython', or remove one of
them from the profile.
--8<---------------cut here---------------end--------------->8---

which is annoying.

I propose to refer as name “python-numpy” the symbol python-numpy which
leads to a consistent scientific Python stack.  And to refer as name
“python-numpy-next” the symbol python-numpy-next.

For instance, it is already the case for emacs-next or for the
Bioconductor package r-cistopic.

Doing so, adventurous people can use python-numpy-next (or recompile all
the scientific Python stack using it), or update it directly on master
(for testing say) without going to a core-update cycle.

WDYT?

Attached a proposed patch.

Cheers,
simon

>From 962d942ffcba7893ab15c30dc602e51462d9b09a Mon Sep 17 00:00:00 2001
From: zimoun <[email-masked]>
Date: Thu, 30 Dec 2021 22:04:49 +0100
Subject: [PATCH] gnu: Rename last 'python-numpy' as 'python-numpy-next'.

* gnu/packages/python-xyz.scm (python-numpy-next): Rename.
---
 gnu/packages/python-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7ca0b1668d..047bb4cbb8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5366,11 +5366,9 @@ (define-public python2-cython
                     ""))
                  #t)))))))))
 
-;; NOTE: when upgrading numpy please make sure that python-pandas and
-;; python-scipy still build, as these three packages are often used together.
 (define-public python-numpy-next
   (package
-    (name "python-numpy")
+    (name "python-numpy-next")
     (version "1.21.3")
     (source
      (origin
@@ -5481,6 +5479,8 @@ (define-public python-numpy-1.20
      (substitute-keyword-arguments (package-arguments python-numpy-next)
        ((#:tests? _ #t) #f)))))
 
+;; NOTE: when upgrading numpy please make sure that python-pandas and
+;; python-scipy still build, as these three packages are often used together.
 (define-public python-numpy python-numpy-1.20)
 
 ;; NOTE: NumPy 1.8 is packaged only for Python 2 because it is of

base-commit: 002442b2209b0953dd209e6219696a8758ceceb2
-- 
2.34.0