From patchwork Mon Mar 10 02:16:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 40031 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4E6B827BBE2; Mon, 10 Mar 2025 02:19:49 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 44EDE27BBF0 for ; Mon, 10 Mar 2025 02:19:46 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1trSjU-0002qh-E9; Sun, 09 Mar 2025 22:19:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1trSie-00029Q-UP for guix-patches@gnu.org; Sun, 09 Mar 2025 22:18:19 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1trSie-0007t3-L8 for guix-patches@gnu.org; Sun, 09 Mar 2025 22:18:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=5pouJzPKEYFvTlw7e24ZGxD5fp3SsBW4qH4Zn7otNbg=; b=j1Ww20jFUADaK3JIX3LEvwyCcPnO5kWeUjO6WVleZ2UKo0LSN4M+3SuVabCl7R4LhcOEUlcmk0JduKQlKcImkyXI+vwcEPbNjTdIe0Ug0djYx0FWlsiSJWpXoXQ28UE6yV+Qv/8fnQGtvYENVYLK7SfCZjtLcVRp68EYKFAI81l9u+AY5BfkxDHVPQL+cNtG4m5WjIOdwxPJZOpO6ULR1rp1n4ipsJ8sR5quJ4IBmdoiq32VvD5vJe41vGQ5D+U2n575lt4uHrahcJcQqxnhyJ1CZwebpH7ulB+tuwiKPKXMLIpKxl9LSb+yzJnv5ikX9vtzo0IHYeFq7J8fnHL2Ag==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1trSie-0001NV-Dz for guix-patches@gnu.org; Sun, 09 Mar 2025 22:18:16 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#76835] [PATCH v3 38/40] gnu: snakemake-7: Move to (gnu packages python-science). Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 10 Mar 2025 02:18:16 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76835 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76835@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 76835-submit@debbugs.gnu.org id=B76835.17415730915211 (code B ref 76835); Mon, 10 Mar 2025 02:18:16 +0000 Received: (at 76835) by debbugs.gnu.org; 10 Mar 2025 02:18:11 +0000 Received: from localhost ([127.0.0.1]:35503 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1trSiX-0001LX-Qb for submit@debbugs.gnu.org; Sun, 09 Mar 2025 22:18:11 -0400 Received: from 4.mo576.mail-out.ovh.net ([46.105.42.102]:43259) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1trShx-0001GP-Ac for 76835@debbugs.gnu.org; Sun, 09 Mar 2025 22:17:35 -0400 Received: from director7.ghost.mail-out.ovh.net (unknown [10.108.25.16]) by mo576.mail-out.ovh.net (Postfix) with ESMTP id 4ZB0sR4Jwsz1rVR for <76835@debbugs.gnu.org>; Mon, 10 Mar 2025 02:17:31 +0000 (UTC) Received: from ghost-submission-5b5ff79f4f-hnqq5 (unknown [10.110.168.82]) by director7.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 475321FDED; Mon, 10 Mar 2025 02:17:31 +0000 (UTC) Received: from ngraves.fr ([37.59.142.104]) by ghost-submission-5b5ff79f4f-hnqq5 with ESMTPSA id WFFCB7tLzmdLFQQAm7sZlQ (envelope-from ); Mon, 10 Mar 2025 02:17:31 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-104R005bd6f9d98-4a8c-4ae4-b476-c3c81023a5ab, 031A57722FDA369A3035EBF391DEEA525A5E801E) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Mon, 10 Mar 2025 03:16:43 +0100 Message-ID: <20250310021652.17530-38-ngraves@ngraves.fr> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310021652.17530-1-ngraves@ngraves.fr> References: <20250310021652.17530-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 5456955375240733410 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduudekuddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpedvffehgeekhfekgffgleehffetiefggeeitdduteekfffhkeehveejfeejledtieenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeduvdejrddtrddtrddupdeltddrledvrdduudejrddugeegpdefjedrheelrddugedvrddutdegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpnhgspghrtghpthhtohepuddprhgtphhtthhopeejieekfeehseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehjeeimgdpmhhouggvpehsmhhtphhouhht DKIM-Signature: a=rsa-sha256; bh=5pouJzPKEYFvTlw7e24ZGxD5fp3SsBW4qH4Zn7otNbg=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1741573051; v=1; b=hxGM/t20KvI9lQ3IpMNN2OZp17kYq+5BkqK1/x2awuo4gNH9QmTxMmQYt0e1TDdJAoPw89za VF2JlPIBpLnB3lMrLd6224xX3j1Osr0oKib/Qp1wsTMZGFDJDCwZXHtP81h7JQ6RPEvFWTtllJK fdrjwb+kpQlVW5gbsJ5y3CYvZ0+u2y4sjpPTyq55PGKCUtPneMr7tuAg86ZzZqs5ZX7MtpHrN4N F2zShgdPDAtYXbR4/r0kLYLZwL7df78OSdZZ9N+2EhwPu77E1NUrNKgzDUXpnE6UbHAeNQYQ/wb wfJdbxKD/WslMKdPfcRul1/s27GgiZBlWyPww/+G56gGw== 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: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/python-xyz.scm (snakemake-7): Move from here… * gnu/packages/python-science.scm (snakemake-7): …to here. Inherit from snakemake@8. --- gnu/packages/python-science.scm | 70 +++++++++++++++++++++ gnu/packages/python-xyz.scm | 104 -------------------------------- 2 files changed, 70 insertions(+), 104 deletions(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 7ccd991478..5acead6523 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -4532,6 +4532,76 @@ (define-public snakemake Python style, together with a fast and comfortable execution environment.") (license license:expat))) +(define-public snakemake-7 + (package + (inherit snakemake) + (name "snakemake") + (version "7.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/snakemake/snakemake") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q")))) + (build-system pyproject-build-system) + (arguments + (substitute-keyword-arguments (package-arguments snakemake) + ((#:test-flags test-flags) + #~(list + ;; We don't care about lints. + "--ignore=tests/test_linting.py" + ;; These tests attempt to change S3 buckets on AWS and fail + ;; because there are no AWS credentials. + "--ignore=tests/test_tibanna.py" + ;; It's a similar story with this test, which requires access + ;; to the Google Storage service. + "--ignore=tests/test_google_lifesciences.py")) + ((#:phases phases) + #~(modify-phases #$phases + (delete 'avoid-assets-download) + ;; No longer needed with 7.15.2+ + (add-after 'unpack 'tabulate-compatibility + (lambda _ + (substitute* "snakemake/dag.py" + (("\"job\": rule,") + "\"job\": rule.name,")))))))) + (propagated-inputs + (list python-appdirs + python-configargparse + python-connection-pool + python-datrie + python-docutils + python-filelock + python-gitpython + python-jinja2 + python-jsonschema + python-nbformat + python-networkx + python-psutil + python-pulp + python-pyyaml + python-py-tes + python-ratelimiter + python-requests + python-retry + python-smart-open + python-stopit + python-tabulate + python-toposort + python-wrapt + python-yte)) + (native-inputs + (list git-minimal + python-wrapper + python-pytest + python-pandas + python-requests-mock + python-setuptools + python-wheel)))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 81b8386049..740e6cfd33 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15082,110 +15082,6 @@ (define-public snakemake-6 python-setuptools python-wheel)))) -(define-public snakemake-7 - (package - (inherit snakemake-6) - (name "snakemake") - (version "7.7.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/snakemake/snakemake") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q")))) - (build-system pyproject-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - ;; For cluster execution Snakemake will call Python. Since there is - ;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We - ;; fix this by calling the snakemake wrapper instead. - (add-after 'unpack 'call-wrapper-not-wrapped-snakemake - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "snakemake/executors/__init__.py" - (("self\\.get_python_executable\\(\\),") - "") - (("\"-m snakemake\"") - (string-append "\"" #$output - "/bin/snakemake" "\"")) - ;; The snakemake command produced by format_job_exec contains - ;; references to /gnu/store. Prior to patching above that's - ;; just a reference to Python; after patching it's a reference - ;; to the snakemake executable. - ;; - ;; In Tibanna execution mode Snakemake arranges for a certain - ;; Docker image to be deployed to AWS. It then passes its own - ;; command line to Tibanna. This is misguided because it only - ;; ever works if the local Snakemake command was run inside - ;; the same Docker image. In the case of using Guix this is - ;; never correct, so we need to replace the store reference. - (("tibanna_args.command = command") - (string-append - "tibanna_args.command = command.replace('" - #$output "/bin/snakemake', 'python3 -m snakemake')"))))) - ;; No longer needed with 7.15.2+ - (add-after 'unpack 'tabulate-compatibility - (lambda _ - (substitute* "snakemake/dag.py" - (("\"job\": rule,") - "\"job\": rule.name,")))) - (add-after 'unpack 'patch-version - (lambda _ - (substitute* "setup.py" - (("version=versioneer.get_version\\(\\)") - (format #f "version=~s" #$version))) - (substitute* '("snakemake/_version.py" - "versioneer.py") - (("0\\+unknown") #$version)))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") - ;; This test attempts to change S3 buckets on AWS and fails - ;; because there are no AWS credentials. - (delete-file "tests/test_tibanna.py") - ;; It's a similar story with this test, which requires access - ;; to the Google Storage service. - (delete-file "tests/test_google_lifesciences.py") - (invoke "pytest"))))))) - (propagated-inputs - (list python-appdirs - python-configargparse - python-connection-pool - python-datrie - python-docutils - python-filelock - python-gitpython - python-jinja2 - python-jsonschema - python-nbformat - python-networkx - python-psutil - python-pulp - python-pyyaml - python-py-tes - python-ratelimiter - python-requests - python-retry - python-smart-open - python-stopit - python-tabulate - python-toposort - python-wrapt - python-yte)) - (native-inputs - (list git-minimal - python-wrapper - python-pytest - python-pandas - python-requests-mock - python-setuptools - python-wheel)))) - (define-public python-pyqrcode (package (name "python-pyqrcode")