unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: 55104@debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: [bug#55104] [PATCH 096/232] gnu: Add python-pydevd.
Date: Sun, 24 Apr 2022 23:57:02 -0400	[thread overview]
Message-ID: <20220425035918.25683-96-maxim.cournoyer@gmail.com> (raw)
In-Reply-To: <20220425035918.25683-1-maxim.cournoyer@gmail.com>

* gnu/packages/python-xyz.scm (python-pydevd): New variable.
---
 gnu/packages/python-xyz.scm | 102 ++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d987c9cbcd..83c2d472c9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -157,6 +157,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages geo)
   #:use-module (gnu packages ghostscript)
@@ -13016,6 +13017,107 @@ (define-public python-file
 (define-public python2-file
   (package-with-python2 python-file))
 
+(define-public python-pydevd
+  ;; Use the latest commit, which includes cleanups that removes Python 2
+  ;; syntax that would fail to build.
+  (let ((revision "0")
+        (commit "47e298499ef19563bb2ef5941a57046a35ae6868"))
+    (package
+      (name "python-pydevd")
+      (version (git-version "2.8.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fabioz/PyDev.Debugger")
+               (commit commit)))
+         (modules '((guix build utils)))
+         (snippet '(begin
+                     ;; Delete pre-built binaries.
+                     (for-each delete-file (find-files "." "\\.(so|dylib|dll)"))
+                     ;; This source is generated via Cython.
+                     (delete-file "_pydevd_bundle/pydevd_cython.c")))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1yd017dh6xgxrqcyf8kk8jrr0a3zw895yfjih0z5jghyf0rck38q"))))
+      (build-system python-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-tests
+              (lambda _
+                (substitute* "tests_python/test_convert_utilities.py"
+                  ;; Add missing trailing '/'.
+                  (("'\\\\\\\\usr\\\\\\\\bin\\\\\\\\') == '/usr/bin" all)
+                   (string-append all "/")))))
+            (add-after 'unpack 'patch-command-paths
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "_pydevd_bundle/pydevd_api.py"
+                  (("'kill'")
+                   (format #f "~s" (search-input-file inputs "bin/kill")))
+                  (("'pgrep'")
+                   (format #f "~s" (search-input-file inputs "bin/pgrep"))))))
+            (add-after 'unpack 'generate-sources
+              (lambda _
+                (setenv "PYTHONPATH" (getcwd))
+                (invoke "python" "build_tools/build.py")))
+            (add-after 'unpack 'adjust-attach-binary-name
+              (lambda _
+                (substitute*
+                    '("pydevd_tracing.py"
+                      "pydevd_attach_to_process/add_code_to_python_process.py")
+                  (("def get_(target|python_helper_lib)_filename.*" all)
+                   (format #f "~a    return ~s~%" all
+                           (string-append #$output "/lib/attach.so"))))))
+            (add-after 'unpack 'patch-gdb
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute*
+                    "pydevd_attach_to_process/add_code_to_python_process.py"
+                  (("'gdb',")
+                   (format #f "~s," (search-input-file inputs "bin/gdb"))))))
+            (add-after 'build 'build-attach-linux-binary
+              (lambda _
+                (invoke #+(cxx-for-target) "-shared" "-o" "attach.so"
+                        "-fPIC" "-nostartfiles"
+                        "pydevd_attach_to_process/linux_and_mac/attach.cpp")))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (setenv "PYDEVD_USE_CYTHON" "YES")
+                  (invoke "pytest" "-vv"
+                          "-n" (number->string (parallel-job-count))
+                          "-k"
+                          (string-append
+                           ;; the GUI event loop requires an X server.
+                           "not test_gui_event_loop_custom "
+                           ;; This test validates that 'pydevd' is not in the
+                           ;; exception message, but it is due to being part
+                           ;; of the build file name present in the message.
+                           "and not test_evaluate_exception_trace")))))
+            (add-after 'install 'install-attach-binary
+              (lambda _
+                (install-file "attach.so"
+                              (string-append #$output "/lib"))))
+            ;; Some modules aren't designed to be loadable by themselves, such
+            ;; as 'pydev_app_engine_debug_startup' and fail.
+            (delete 'sanity-check))))
+      (native-inputs
+       (list python-cython
+             python-numpy
+             python-psutil
+             python-pytest
+             python-pytest-xdist
+             python-trio
+             python-untangle))
+      (inputs (list coreutils gdb procps))
+      (home-page "https://github.com/fabioz/PyDev.Debugger/")
+      (synopsis "Python debugger")
+      (description "PyDev.Debugger is a capable Python debugger used in PyDev
+and other @acronym{IDEs, Integrated Development Environments}.")
+      (license license:epl1.0))))
+
 (define-public python-debian
   (package
     (name "python-debian")
-- 
2.34.0





  parent reply	other threads:[~2022-04-25  4:22 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-25  3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
2022-04-25  3:57   ` Maxim Cournoyer [this message]
2022-04-25  3:57   ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
2022-04-25  9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
2022-04-25 13:15   ` Maxim Cournoyer
2022-04-26  7:36     ` Lars-Dominik Braun
2022-04-27  3:09       ` Maxim Cournoyer
2022-04-27 11:50         ` Lars-Dominik Braun
2022-05-12  1:31           ` Maxim Cournoyer
2022-04-26 11:21     ` zimoun
2022-04-25 11:36 ` Julien Lepiller
2022-04-25 13:23   ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220425035918.25683-96-maxim.cournoyer@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=55104@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).