From patchwork Tue Apr 20 05:22:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vinicius Monego X-Patchwork-Id: 28705 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 6355B27BC77; Tue, 20 Apr 2021 06:26:32 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D68F327BC6C for ; Tue, 20 Apr 2021 06:26:31 +0100 (BST) Received: from localhost ([::1]:41756 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lYiu7-0003ls-1D for patchwork@mira.cbaines.net; Tue, 20 Apr 2021 01:26:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYith-0003O8-5s for guix-patches@gnu.org; Tue, 20 Apr 2021 01:26:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:41169) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lYitg-0004JW-Tb for guix-patches@gnu.org; Tue, 20 Apr 2021 01:26:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lYitg-0007kQ-QZ for guix-patches@gnu.org; Tue, 20 Apr 2021 01:26:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#47906] [PATCH 22/22] gnu: Add spyder. Resent-From: Vinicius Monego Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 20 Apr 2021 05:26:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47906 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 47906@debbugs.gnu.org Cc: Vinicius Monego Received: via spool by 47906-submit@debbugs.gnu.org id=B47906.161889633229688 (code B ref 47906); Tue, 20 Apr 2021 05:26:04 +0000 Received: (at 47906) by debbugs.gnu.org; 20 Apr 2021 05:25:32 +0000 Received: from localhost ([127.0.0.1]:52707 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lYitA-0007il-7w for submit@debbugs.gnu.org; Tue, 20 Apr 2021 01:25:32 -0400 Received: from mout02.posteo.de ([185.67.36.66]:35977) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lYit8-0007iR-G8 for 47906@debbugs.gnu.org; Tue, 20 Apr 2021 01:25:31 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id D107A2400E5 for <47906@debbugs.gnu.org>; Tue, 20 Apr 2021 07:25:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1618896324; bh=7UYTPUYrT0gI3OiLgs7k+lsHLUqBqCu8sCOfr5pOGpk=; h=From:To:Cc:Subject:Date:From; b=QepQwkLHdI+S6Reo93VRTFOp4umEaY3YpKyAJxTGzWdNwTY3r/TieapTAZzbafzlM QfFCsyw3twxNAxTFW1aX73xgla6p98utRJntU90jbnrmrBkoR3axtG8CCh+mdmFRUs 2E2E6MEvJR3TCgpkK3wMjsfy910zYLabU3ob87Iru3rY8db/bQuEJFsu4+rFhoDnlq 3fJD/eOAXCHztfJ/g56QUrxiQVfkI1ZziKNwbTDd0DG4NDdQiGgUhfeD6lxW3DIb88 jNypXff0ya/STQSRTh0Pcvm592e+jvqLHe6k4qYe42DHeac9KzmzP4Hy10oFEVtBGb /fI9IZILLRx2g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4FPXFb3WKYz6tmK; Tue, 20 Apr 2021 07:25:23 +0200 (CEST) From: Vinicius Monego Date: Tue, 20 Apr 2021 05:22:46 +0000 Message-Id: <20210420052246.470690-22-monego@posteo.net> In-Reply-To: <20210420052246.470690-1-monego@posteo.net> References: <20210420052246.470690-1-monego@posteo.net> MIME-Version: 1.0 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+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/spyder.scm (spyder): New variable. --- gnu/packages/spyder.scm | 110 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 1 deletion(-) diff --git a/gnu/packages/spyder.scm b/gnu/packages/spyder.scm index b1b10f6eb8..ee0c0d34dc 100644 --- a/gnu/packages/spyder.scm +++ b/gnu/packages/spyder.scm @@ -22,10 +22,17 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (gnu packages bioinformatics) #:use-module (gnu packages check) + #:use-module (gnu packages databases) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-science) - #:use-module (gnu packages python-xyz)) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) + #:use-module (gnu packages sphinx)) (define-public python-spyder-kernels (package @@ -123,3 +130,104 @@ code inside Spyder.") Protocol (LSP) on Python, such as document symbol searching and others.") (license license:expat))) +(define-public spyder + (package + (name "spyder") + (version "5.0.1") + (source + (origin + ;; There are no tests in the PyPI tarball. + (method git-fetch) + (uri (git-reference + (url "https://github.com/spyder-ide/spyder/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pn6kl0jw9zcv8lbk1v90rlrvb3mvjvx6g0x55vv5fydn61nadc5")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;TODO: Enable tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'preparations + (lambda _ + ;; Delete bundled dependencies since we have all of them. + (delete-file-recursively "external-deps") + + ;; Relax some dependency versions. + (substitute* "setup.py" (("jedi==0.17.2") "jedi")) + (substitute* "setup.py" (("parso==0.7.0") "parso")) + (substitute* "setup.py" (("qdarkstyle==3.0.2") "qdarkstyle")) + (substitute* "setup.py" (("'pyqt5<5.13',") "")) + (substitute* "setup.py" (("'pyqtwebengine<5.13',") "")) + #t)) + ;; Ensure that QtWebEngineProcess is found by the executable. + (add-after 'wrap 'wrap-qt-process-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/spyder")) + (qt-process-path (string-append + (assoc-ref inputs "qtwebengine") + "/lib/qt5/libexec/QtWebEngineProcess"))) + (wrap-program bin + `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path))) + #t))) + ;; Ensure that icons are found at runtime. + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/spyder") + `("QT_PLUGIN_PATH" prefix + ,(list (string-append (assoc-ref inputs "qtsvg") + "/lib/qt5/plugins/"))))) + #t))))) + (inputs + `(("python-atomicwrites" ,python-atomicwrites) + ("python-chardet" ,python-chardet) + ("python-cloudpickle" ,python-cloudpickle) + ("python-cookiecutter" ,python-cookiecutter) + ("python-diff-match-patch" + ,python-diff-match-patch) + ("python-intervaltree" ,python-intervaltree) + ("python-ipython" ,python-ipython) + ("python-jedi" ,python-jedi) + ("python-jsonschema" ,python-jsonschema) + ("python-keyring" ,python-keyring) + ("python-language-server" + ,python-language-server) + ("python-nbconvert" ,python-nbconvert) + ("python-numpydoc" ,python-numpydoc) + ("python-parso" ,python-parso) + ("python-pexpect" ,python-pexpect) + ("python-pickleshare" ,python-pickleshare) + ("python-psutil" ,python-psutil) + ("python-pygments" ,python-pygments) + ("python-pylint" ,python-pylint) + ("python-pyls-black" ,python-pyls-black) + ("python-pyls-spyder" ,python-pyls-spyder) + ("python-pyqt" ,python-pyqt) + ("python-pyqtwebengine" ,python-pyqtwebengine) + ("python-pyxdg" ,python-pyxdg) + ("python-pyzmq" ,python-pyzmq) + ("python-qdarkstyle" ,python-qdarkstyle) + ("python-qstylizer" ,python-qstylizer) + ("python-qtawesome" ,python-qtawesome) + ("python-qtconsole" ,python-qtconsole) + ("python-qtpy" ,python-qtpy) + ("python-sphinx" ,python-sphinx) + ("python-spyder-kernels" ,python-spyder-kernels) + ("python-textdistance" ,python-textdistance) + ("python-three-merge" ,python-three-merge) + ("python-watchdog" ,python-watchdog) + ("qtsvg" ,qtsvg) + ("qtwebengine" ,qtwebengine))) + (home-page "https://www.spyder-ide.org/") + (synopsis "Scientific Python Development Environment") + (description + "Spyder is a scientific environment written in Python, for Python, and +designed by and for scientists, engineers and data analysts. It offers a +unique combination of the advanced editing, analysis, debugging, and profiling +functionality of a comprehensive development tool with the data exploration, +interactive execution, deep inspection, and visualization capabilities of a +scientific package.") + (license license:expat)))