summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorSören Tempel <soeren@soeren-tempel.net>2024-07-04 22:05:10 +0200
committerjgart <jgart@dismail.de>2024-07-08 16:01:12 -0500
commit789c4037947d59a7143999269791bf75436fdccd (patch)
tree48e0f68d1331439f9596e2d8c113ed1db72f845a /gnu
parent13f0f52314244f08eb9fdd626d907c0c3976e06a (diff)
downloadguix-789c4037947d59a7143999269791bf75436fdccd.tar.gz
gnu: Add python-itanium-demangler.
* gnu/packages/python-xyz.scm (python-itanium-demangler): New variable.

Signed-off-by: jgart <jgart@dismail.de>
Change-Id: I6c198bfb174a76e7d1746d5052e1dec938a4b5b9
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1c432e9b65..1eb8cbe569 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -33800,6 +33800,38 @@ instructions up to AVX-512 and SHA (including 3dnow!+, XOP, FMA3, FMA4, TBM
 and BMI2).")
       (license license:bsd-2))))
 
+(define-public python-itanium-demangler
+  (package
+    (name "python-itanium-demangler")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             ;; PyPI only provides wheels and no source code.
+             (url "https://github.com/whitequark/python-itanium_demangler")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1q47aqm5z3db6pasdzw05d6236vnb8hnapfy88fcmn9dr5ym98r3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (with-directory-excursion "tests"
+                  (invoke "python" "-m" "unittest"))))))))
+    (home-page "https://github.com/whitequark/python-itanium_demangler/")
+    (synopsis "Pure Python Itanium C++ ABI demangler")
+    (description
+"This Python module provides an implementation of the Itanium C++ ABI symbol
+mangling language.  The demangler generates an abstract syntax tree from
+mangled symbols, which can be used for directly extracting type information.")
+    (license license:bsd-0)))
+
 (define-public python-peachpy
   ;; There is no tag in this repo.
   (let ((commit "913d74c35a6b1d330e90bfc055208ce5b06b35a0")