[bug#77645,v2] gnu: Add python-surf.

Message ID 621e613d252450f05059a2eaf746970f559faf7b.1744186532.git.csantosb@inventati.org
State New
Headers
Series [bug#77645,v2] gnu: Add python-surf. |

Commit Message

Cayetano Santos April 9, 2025, 8:15 a.m. UTC
  * gnu/packages/electronics.scm (python-surf): New variable.

Change-Id: Iddedfd5acfe3dbe04e092de27b42b6fdf1c95fb1
---
 gnu/packages/electronics.scm | 39 +++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)


base-commit: 1dab24555a494beb3db5a335c675f07043e77f1c
  

Patch

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 09875e4d63..74d9426420 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -64,7 +64,8 @@  (define-module (gnu packages electronics)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages stb)
-  #:use-module (gnu packages toolkits))
+  #:use-module (gnu packages toolkits)
+  #:use-module (gnu packages version-control))
 
 (define-public libserialport
   (package
@@ -597,3 +598,39 @@  (define-public python-vsg
      "VSG lets you define a VHDL coding style and provides a command-line tool
 to enforce it.")
     (license license:gpl3+)))
+
+(define-public python-surf
+  (package
+    (name "python-surf")
+    (version "2.57.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/slaclab/surf/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ncb34mdxaw0m6cnk7kvl7mkhwa6hpcxkc2lgarwcmmnfydr8kg3"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'remove-deps
+            (lambda _
+              (invoke "git" "init") ;expects a git repo
+              ;; fix version
+              (substitute* "setup.py"
+                (("rawVer .*")
+                 (string-append "rawVer = \"v"
+                                #$version "\""))))))))
+    (native-inputs (list python-setuptools python-wheel python-gitpython
+                         git-minimal/pinned))
+    (home-page "https://slaclab.github.io/surf/")
+    (synopsis "SLAC Ultimate RTL Framework")
+    (description
+     "Surf is a python library with support functions for VHDL gateware
+digital design.  It provides implementation modules compatible with FPGA and ASIC
+design.")
+    (license license:bsd-3)))