From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 4HSlKD3xtWDuOgEAgWs5BA (envelope-from ) for ; Tue, 01 Jun 2021 10:35:09 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 2JwCJD3xtWCtCAAAbx9fmQ (envelope-from ) for ; Tue, 01 Jun 2021 08:35:09 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 26F1A14426 for ; Tue, 1 Jun 2021 10:35:09 +0200 (CEST) Received: from localhost ([::1]:41798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lnzrg-000427-1i for larch@yhetil.org; Tue, 01 Jun 2021 04:35:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37338) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lnzra-00041z-2g for guix-patches@gnu.org; Tue, 01 Jun 2021 04:35:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52406) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lnzrZ-00010D-RQ for guix-patches@gnu.org; Tue, 01 Jun 2021 04:35:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lnzrZ-0002Ph-Oq for guix-patches@gnu.org; Tue, 01 Jun 2021 04:35:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48774] [PATCH] Fix build of python-scanpy Resent-From: Roel Janssen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 01 Jun 2021 08:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 48774 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 48774@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16225364419187 (code B ref -1); Tue, 01 Jun 2021 08:35:01 +0000 Received: (at submit) by debbugs.gnu.org; 1 Jun 2021 08:34:01 +0000 Received: from localhost ([127.0.0.1]:35714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lnzqQ-0002Ng-Oj for submit@debbugs.gnu.org; Tue, 01 Jun 2021 04:34:01 -0400 Received: from lists.gnu.org ([209.51.188.17]:57512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lnzqI-0002NQ-8g for submit@debbugs.gnu.org; Tue, 01 Jun 2021 04:33:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36986) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lnzqI-0003xu-2E for guix-patches@gnu.org; Tue, 01 Jun 2021 04:33:42 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50288) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lnzqH-0008U6-RT for guix-patches@gnu.org; Tue, 01 Jun 2021 04:33:41 -0400 Received: from [143.121.198.253] (port=37750) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lnzqG-0004Gx-Fr for guix-patches@gnu.org; Tue, 01 Jun 2021 04:33:41 -0400 From: Roel Janssen Message-ID: <4ee322e7-2aaf-750a-bee7-4bbc8d7bd64b@gnu.org> Date: Tue, 1 Jun 2021 10:33:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------C74DDF4A038D59D606F47B56" Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1622536509; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:list-id:list-help:list-unsubscribe:list-subscribe: list-post; bh=aaalh7gJvFDt8M+vmOW1PRH5lFYcEDwmoFtt4CXVLf8=; b=my+jOAFO318hji/N13/B47zz9xCA+9Z+8lPKcJkk1tS9s77QPyA26u8ic7sgWwlu1GLI2a j3GKb5gbmtN84cxrNqPpFqV9SPG4SXQ8DS8Kore0o2vYxYNz8QNTcukp9HH0WNqn1jgr0M 8AiDeaBtVL9DSpLlv14wScW10ih7GCNAMXjdXBSFe2dV3UvE5kOiZYLYK7w7abGeAy6/KE 1WgyjX6by2n2GSHCXXEnJaLQnGruLBC5rAwlZEIVXn668jz8T5B2gFKKpWE9YZ1s+847xv VE3FMXu67gEZjJ3FlxFQ8ldG3Gq8DRZr+1wPITmMAV3MZvye7U0VQhCK1kfRqA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1622536509; a=rsa-sha256; cv=none; b=YOFCvPs8hMlHw7oKVc/idmuozUgo7RYw7GjDYpRoeeKuPaYASYFQJJ1qK+JjGMnB69D1WN zbQrFziKEu5/SOfnBpGFGi7xFw0LIIH34H+uWCQfTfZN2BC9XtsMYAwEWiwJNYQzDOLm9q sWFp35nQ5aa1UnpWwzLyGqaxH5trJBuUlvOusK40iRn8ziu0G6McBC/3MYZdiRnlQvz5Hm ksnQMPxi/Xu1NOkHoLXERezvTtvQvDvtAfxb62yJX1bUKRIHCy/+rQ3aoVuBQae7oD7aQZ ykVRxroJ7r9qhF2cZ/AE4I+j6vzO2DNZR99Goxn1O/MORSVAdUQYwADi7TEdkw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -2.93 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 26F1A14426 X-Spam-Score: -2.93 X-Migadu-Scanner: scn1.migadu.com X-TUID: GFGcWQ3cudYN This is a multi-part message in MIME format. --------------C74DDF4A038D59D606F47B56 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Dear Guix, The attached two patches update python-anndata and python-scanpy, which effectively fix the build for python-scanpy. python-anndata switched to a PEP518 setup instead of the regular Python "setup.py" approach.  So with some help on IRC, I added custom phases inspired by the python-tinycss2 package. Kind regards, Roel Janssen --------------C74DDF4A038D59D606F47B56 Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-python-anndata-Update-to-0.7.6.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-gnu-python-anndata-Update-to-0.7.6.patch" >From 04527e305c96addea2c231b901758339e576d146 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 1 Jun 2021 10:20:10 +0200 Subject: [PATCH 1/2] gnu: python-anndata: Update to 0.7.6. * gnu/packages/python-xyz.scm (python-anndata): Update to 0.7.6. --- gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a5cc04edaf..973123b385 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -21046,28 +21046,41 @@ N-dimensional arrays for Python.") (define-public python-anndata (package (name "python-anndata") - (version "0.7.1") + (version "0.7.6") (source (origin (method url-fetch) (uri (pypi-uri "anndata" version)) (sha256 (base32 - "0rnfbpr55j1a1bi2kd4mz444741hrn74kz90h5rnjr59jmpfnh09")))) + "1ch8yp0xmag6z0kl01pljm35lbbwax7lrimfhiclpkd4m6xngk53")))) (build-system python-build-system) (arguments - `(#:phases + `(#:tests? #f ; The tarball from PyPi doesn't include tests. + #:phases (modify-phases %standard-phases - (add-after 'unpack 'delete-inconvenient-tests - (lambda _ - ;; This test depends on python-scikit-learn. - (delete-file "anndata/tests/test_inplace_subset.py") - #t)) (delete 'check) - (add-after 'install 'check + (add-before 'build 'relax-dependency-requirements + (lambda _ + ;; We need to upgrade python-pandas to avoid + ;; https://github.com/pandas-dev/pandas/issues/35446 + (substitute* "pyproject.toml" + (("pandas>=1.1.1") "pandas>=1.0.5")))) + (replace 'build + (lambda _ + ;; ZIP does not support timestamps before 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") + (invoke "flit" "build"))) + (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-vv")))))) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (wheel) + (format #true wheel) + (invoke "python" "-m" "pip" "install" + wheel (string-append "--prefix=" out))) + (find-files "dist" "\\.whl$"))) + #t))))) (propagated-inputs `(("python-h5py" ,python-h5py) ("python-importlib-metadata" ,python-importlib-metadata) @@ -21080,6 +21093,8 @@ N-dimensional arrays for Python.") (native-inputs `(("python-joblib" ,python-joblib) ("python-pytest" ,python-pytest) + ("python-toml" ,python-toml) + ("python-flit" ,python-flit) ("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/theislab/anndata") (synopsis "Annotated data for data analysis pipelines") -- 2.31.1 --------------C74DDF4A038D59D606F47B56 Content-Type: text/x-patch; charset=UTF-8; name="0002-gnu-python-scanpy-Update-to-1.7.2.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0002-gnu-python-scanpy-Update-to-1.7.2.patch" >From 094705a4ee2c46e8ed1b98c39c03b2a21c688c5e Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 1 Jun 2021 10:25:12 +0200 Subject: [PATCH 2/2] gnu: python-scanpy: Update to 1.7.2. * gnu/packages/bioinformatics.scm (python-scanpy): Update to 1.7.2. --- gnu/packages/bioinformatics.scm | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1f018befe6..2b64a04150 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -122,6 +122,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-science) @@ -11096,14 +11097,14 @@ in RNA-seq data.") (define-public python-scanpy (package (name "python-scanpy") - (version "1.4.6") + (version "1.7.2") (source (origin (method url-fetch) (uri (pypi-uri "scanpy" version)) (sha256 (base32 - "0s2b6cvaigx4wzw3850qb93sjwwxbzh22kpbp498zklc5rjpbz4l")))) + "0c66adnfizsyk0h8bv2yhmay876z0klpxwpn4z6m71wly7yplpmd")))) (build-system python-build-system) (arguments `(#:phases @@ -11114,12 +11115,25 @@ in RNA-seq data.") (delete-file-recursively "scanpy/tests/notebooks") (delete-file "scanpy/tests/test_clustering.py") (delete-file "scanpy/tests/test_datasets.py") + (delete-file "scanpy/tests/test_highly_variable_genes.py") ;; TODO: I can't get the plotting tests to work, even with Xvfb. (delete-file "scanpy/tests/test_plotting.py") (delete-file "scanpy/tests/test_preprocessing.py") (delete-file "scanpy/tests/test_read_10x.py") + ;; The following tests need anndata.tests, which aren't included + ;; in the final python-anndata package. + (delete-file "scanpy/tests/test_combat.py") + (delete-file "scanpy/tests/test_embedding_plots.py") + (delete-file "scanpy/tests/test_normalization.py") + (delete-file "scanpy/tests/test_pca.py") + (delete-file "scanpy/tests/external/test_scrublet.py") + + ;; The following tests requires 'scanorama', which isn't + ;; packaged yet. + (delete-file "scanpy/tests/external/test_scanorama_integrate.py") + (setenv "PYTHONPATH" (string-append (getcwd) ":" (getenv "PYTHONPATH"))) @@ -11144,11 +11158,14 @@ in RNA-seq data.") ("python-seaborn" ,python-seaborn) ("python-statsmodels" ,python-statsmodels) ("python-tables" ,python-tables) + ("python-pytoml" ,python-pytoml) ("python-tqdm" ,python-tqdm) ("python-umap-learn" ,python-umap-learn))) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-setuptools-scm" ,python-setuptools-scm))) + `(("python-leidenalg" ,python-leidenalg) + ("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-sinfo" ,python-sinfo))) (home-page "https://github.com/theislab/scanpy") (synopsis "Single-Cell Analysis in Python.") (description "Scanpy is a scalable toolkit for analyzing single-cell gene -- 2.31.1 --------------C74DDF4A038D59D606F47B56--