Package: guix-patches;
Reported by: Nicolas Graves <ngraves <at> ngraves.fr>
Date: Wed, 13 Dec 2023 14:41:01 UTC
Severity: normal
Tags: patch
Done: Nicolas Graves <ngraves <at> ngraves.fr>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Nicolas Graves <ngraves <at> ngraves.fr> To: 67813 <at> debbugs.gnu.org Cc: ngraves <at> ngraves.fr Subject: [bug#67813] [PATCH 12/12] gnu: python-pandas: Update to 2.1.1. Date: Wed, 13 Dec 2023 22:56:32 +0100
* gnu/packages/python-science.scm (python-pandas): Update to 2.1.1. [source]: Use git origin. [build-system]: Use pyproject-build-system. [arguments]: (modules): Remove argument. (test-flags): Add required test flags. (phases): Add phase version-set-by-guix and pre-check. Remove phase enable-parallel-build. Remove check phase replacement. [propagated-inputs]: Add package python-tzdata. [native-inputs]: Add meson-python, python-versioneer python-matplotlib, python-openpyxl, python-asyncio, python-pytest-localserver. Replace python-pytest by python-pytest-next. --- gnu/packages/python-science.scm | 132 +++++++++++++++++--------------- 1 file changed, 72 insertions(+), 60 deletions(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 2e238dc198..09d130537f 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -468,75 +468,81 @@ (define-public python-tspex (define-public python-pandas (package (name "python-pandas") - (version "1.4.4") + (version "2.1.1") (source (origin - (method url-fetch) - (uri (pypi-uri "pandas" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pandas-dev/pandas") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0ryv66s9cvd27q6a985vv556k2qlnlrdna2z7qc7bdhphrrhsv5b")))) - (build-system python-build-system) + (base32 "1v9j38bvw739csdfl98ga6fqjdm61q3p5a2l7h364kg925nbc9r1")))) + (build-system pyproject-build-system) (arguments - `(#:modules ((guix build utils) - (guix build python-build-system) - (ice-9 ftw) - (srfi srfi-1) - (srfi srfi-26)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'enable-parallel-build - (lambda _ - (substitute* "setup.py" - (("\"-j\", type=int, default=1") - (format #f "\"-j\", type=int, default=~a" - (parallel-job-count)))))) - (add-after 'unpack 'patch-which - (lambda* (#:key inputs #:allow-other-keys) - (let ((which (assoc-ref inputs "which"))) - (substitute* "pandas/io/clipboard/__init__.py" - (("^WHICH_CMD = .*") - (string-append "WHICH_CMD = \"" which "\"\n")))))) - (add-before 'check 'prepare-x - (lambda _ - (system "Xvfb &") - (setenv "DISPLAY" ":0") - ;; xsel needs to write a log file. - (setenv "HOME" "/tmp"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (let ((build-directory - (string-append - (getcwd) "/build/" - (first (scandir "build" - (cut string-prefix? "lib." <>)))))) - (substitute* "pyproject.toml" - ;; Not all data files are distributed with the tarball. - (("--strict-data-files ") "")) - (with-directory-excursion build-directory - (when tests? - (invoke "pytest" "-vv" "pandas" "--skip-slow" - "--skip-network" - "-n" (number->string (parallel-job-count)) - "-k" - (string-append - ;; These test access the internet (see: - ;; https://github.com/pandas-dev/pandas/issues/45085).: - ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml] - ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree] - "not test_wrong_url" - ;; TODO: Missing input - " and not TestS3" - " and not s3" - ;; This test fails when run with pytest-xdist - ;; (see: - ;; https://github.com/pandas-dev/pandas/issues/39096). - " and not test_memory_usage")))))))))) + (list + #:test-flags + #~(list "--pyargs" "pandas" + ;; "--exitfirst" + ;; FIXME "-n" (number->string (parallel-job-count)) + "-m" "not slow and not network and not db" + "-k" (string-append + "not test_git_version" + " and not test_show_versions_console" + ;; Not testing ~ expansion. + " and not test_expand_user" + " and not test_get_handle_with_path" + ;; These test access the internet (see: + ;; https://github.com/pandas-dev/pandas/issues/45085).: + ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml] + ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree] + " and not test_wrong_url" + ;; TODO: Missing input + " and not TestS3" + " and not s3" + ;; This test fails when run with pytest-xdist + ;; (see: https://github.com/pandas-dev/pandas/issues/39096). + " and not test_memory_usage" + " and not test_parsing_tzlocal_deprecated")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'version-set-by-guix + (lambda _ + (with-output-to-file "_version_meson.py" + (lambda _ + (display + (string-append "__version__ = \"" + #$(package-version this-package) + "\"")))))) + (add-before 'check 'prepare-x + (lambda _ + (system "Xvfb &") + (setenv "DISPLAY" ":0") + (setenv "HOME" "."))) + (add-after 'unpack 'patch-which + (lambda _ + (substitute* "pandas/io/clipboard/__init__.py" + (("^WHICH_CMD = .*") + (string-append "WHICH_CMD = \"" + #$(this-package-input "which") + "/bin/which\"\n"))))) + ;; The compiled libraries are only in the output at this point, + ;; but they are needed to run tests. + ;; FIXME: This should be handled by the pyargs pytest argument, + ;; but is not for some reason. + (add-before 'check 'pre-check + (lambda _ + (copy-recursively + (string-append #$output + "/lib/python3.10/site-packages/pandas/_libs") + "pandas/_libs")))))) (propagated-inputs (list python-jinja2 python-numpy python-openpyxl python-pytz python-dateutil + python-tzdata python-xlrd python-xlsxwriter)) (inputs @@ -546,9 +552,15 @@ (define-public python-pandas python-beautifulsoup4 python-lxml python-html5lib - python-pytest + meson-python + python-matplotlib + python-openpyxl + python-pytest-next + python-pytest-asyncio + python-pytest-localserver python-pytest-mock python-pytest-xdist + python-versioneer ;; Needed to test clipboard support. xorg-server-for-tests)) (home-page "https://pandas.pydata.org") -- 2.41.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.