[bug#76463] gnu: Add aacircuit.

Message ID 87d7eb973101cd15613f034961cfc64eb11069e6.1740129127.git.mail@pisemsky.site
State New
Headers
Series [bug#76463] gnu: Add aacircuit. |

Commit Message

Evgeny Pisemsky Feb. 21, 2025, 9:12 a.m. UTC
  * gnu/packages/engineering.scm (aacircuit): New variable.

Change-Id: I0f44b1037866c729fe1d29a52d9447f6cbea6704
---
 gnu/packages/engineering.scm | 50 ++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)


base-commit: 38b4358f4d84cafa54deff77dee6fafac3e03864
  

Comments

Evgeny Pisemsky March 18, 2025, 9:10 p.m. UTC | #1
For this patch I did some preparations in upstream to make this progam usable from read-only installation and easier to package:

https://github.com/Blokkendoos/AACircuit/commits?author=pisemsky
  
Sharlatan Hellseher March 19, 2025, 8:56 a.m. UTC | #2
Hi,

Thank you for the patch.

A note on Nose, it's deprecated upstream so try to use pytest runner.
And you don't need to add Flake8 as it is a development dependencie.

Please give it a try to adjust native inputs:

native-inputs (list python-flake8
+                           python-nose

 ---
VCS: https://github.incerto.xyz/; https://git.sr.ht/~hellseher/
GPG: 9847 81DE 689C 21C2 6418 0867 76D7 27BF F62C D2B5

… наш разум - превосходная объяснительная машина которая способна найти
смысл почти в чем угодно, истолковать любой феномен, но совершенно не в
состоянии принять мысль о непредсказуемости.
  
Evgeny Pisemsky March 19, 2025, 8:06 p.m. UTC | #3
Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> A note on Nose, it's deprecated upstream so try to use pytest runner.

It is used by this project and works fine, and I have stuff to do.

> And you don't need to add Flake8 as it is a development dependencie.

It is required for tests - try to remove it and build the package.
  
Sharlatan Hellseher March 22, 2025, 4:10 p.m. UTC | #4
Hi,

Pushed to master as fa0bbeaf6763540a8b5e1bf2ad58b8b4f0d1af18.

I've applied minor modifications, remove the need of python-flake8 and
addd commens on commit an use of Nose test runner: 
--8<---------------cut here---------------start------------->8---
@@ -177,6 +177,7 @@ (define-module (gnu packages engineering)
   #:use-module ((srfi srfi-1) #:hide (zip)))
 
 (define-public aacircuit
+  ;; No release in PyPI or version tag on Git, use the latest commit.
   (let ((commit "18635c846754b6219da1a2ceb8977714f70004d0")
         (revision "0"))
     (package
@@ -199,6 +200,8 @@ (define-public aacircuit
             (replace 'check
               (lambda* (#:key tests? #:allow-other-keys)
                 (when tests?
+                  ;; Delete develompent test file.
+                  (delete-file "tests/test_flake.py")
                   ;; Exclude tests intended for visual review.
                   (setenv "NOSE_EXCLUDE"
                           (string-join '("test_export_pdf"
@@ -206,24 +209,25 @@ (define-public aacircuit
                                        ","))
                   (setenv "HOME" "/tmp")
                   (invoke "xvfb-run" "./testrunner.sh")))))))
-      (native-inputs (list python-flake8
-                           python-nose
-                           python-setuptools
-                           python-wheel
-                           xvfb-run))
-      (propagated-inputs (list gtk+
-                               python-bresenham
-                               python-platformdirs
-                               python-pycairo
-                               python-pyclip
-                               python-pygobject
-                               python-pypubsub))
+      (native-inputs
+       ;; XXX: Test runner may be migrated to Pytest
+       ;; <https://docs.pytest.org/en/7.1.x/how-to/nose.html> after report to
+       ;; the upstream to modify them, use deprecated Nose test runner for
+       ;; now.
+       (list python-nose
+             python-setuptools
+             python-wheel
+             xvfb-run))
+      (propagated-inputs
+       (list gtkp+
+             python-bresenham
+             python-platformdirs
+             python-pycairo
+             python-pyclip
+             python-pygobject
+             python-pypubsub))
       (home-page "https://github.com/Blokkendoos/AACircuit")
       (synopsis "Draw electronic circuits with ASCII characters")
       (description
-       "This is a pythonized, kind of reverse engineered version of original AACircuit
-written by Andreas Weber in Borland Delphi.  The idea and GUI layout are also
-taken from the original.")
+       "This is a pythonized, kind of reverse engineered version of original
+AACircuit written by Andreas Weber in Borland Delphi.  The idea and GUI layout
+are also taken from the original.")
       (license license:gpl3+)))))
--8<---------------cut here---------------end--------------->8---

--
Oleg
  

Patch

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 234f4a2b03..40309f45f4 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -176,6 +176,56 @@  (define-module (gnu packages engineering)
   #:use-module (gnu packages xorg)
   #:use-module ((srfi srfi-1) #:hide (zip)))
 
+(define-public aacircuit
+  (let ((commit "18635c846754b6219da1a2ceb8977714f70004d0")
+        (revision "0"))
+    (package
+      (name "aacircuit")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Blokkendoos/AACircuit")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "07agb7fbpbq74zm27j9b00imr46q6kpwhxzmmffw2s9scv80c1km"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  ;; Exclude tests intended for visual review.
+                  (setenv "NOSE_EXCLUDE"
+                          (string-join '("test_export_pdf"
+                                         "test_import_aacircuit_export_pdf")
+                                       ","))
+                  (setenv "HOME" "/tmp")
+                  (invoke "xvfb-run" "./testrunner.sh")))))))
+      (native-inputs (list python-flake8
+                           python-nose
+                           python-setuptools
+                           python-wheel
+                           xvfb-run))
+      (propagated-inputs (list gtk+
+                               python-bresenham
+                               python-platformdirs
+                               python-pycairo
+                               python-pyclip
+                               python-pygobject
+                               python-pypubsub))
+      (home-page "https://github.com/Blokkendoos/AACircuit")
+      (synopsis "Draw electronic circuits with ASCII characters")
+      (description
+       "This is a pythonized, kind of reverse engineered version of original AACircuit
+written by Andreas Weber in Borland Delphi.  The idea and GUI layout are also
+taken from the original.")
+      (license license:gpl3+))))
+
 (define-public cutecom
   (package
     (name "cutecom")