[bug#77913] gnu: Add scad-dbus.

Message ID 20250419041413.225129-1-nomike@nomike.com
State New
Headers
Series [bug#77913] gnu: Add scad-dbus. |

Commit Message

nomike April 19, 2025, 4:14 a.m. UTC
  * gnu/packages/engineering.scm (scad-dbus): New variable

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

Patch

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f37b0e3844..a6a1bb61b2 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -42,6 +42,7 @@ 
 ;;; Copyright © 2024 Juliana Sims <juli@incana.org>
 ;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
 ;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
+;;; Copyright © 2025 nomike Postmann <nomikenomike.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -98,6 +99,8 @@  (define-module (gnu packages engineering)
   #:use-module (gnu packages digest)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages emacs)
+  #:use-module (gnu packages emacs-xyz)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
@@ -3269,6 +3272,37 @@  (define-public emacs-scad-mode
 OpenSCAD code.  It supports syntax highlighting, indenting and refilling of
 comments.")))
 
+(define-public scad-dbus
+  (package
+    (name "scad-dbus")
+    (version "0.1")
+    (properties '((release-tag-prefix . "^v")
+                  (release-tag-version-delimiter . ".")))
+    (license license:gpl3+)
+    (native-inputs (list emacs))
+    (inputs (list emacs-scad-mode emacs-hydra))
+    (build-system emacs-build-system)
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/lenbok/scad-dbus")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1r9qiiyr4m04yh38zlmrk7r23s7w9rsiy0nkq0x8x2ci7fsy2qyf"))))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  )))
+    (synopsis "Control OpenSCAD from Emacs using D-Bus")
+    (description
+     "@code{OpenSCAD} has the ability to use D-Bus (an Linux IPC
+mechanism) as an input driver, which allows manipulation of the viewport and
+execution of menu commands.  Since Emacs also speaks D-Bus, we can execute most
+of the OpenSCAD GUI adjustments without having to switch windows or reach for
+our mouse.")
+    (home-page "https://github.com/lenbok/scad-dbus")))
+
 (define-public ondsel-solver
   (let ((commit "2e3659c4bce3e6885269e0cb3d640261b2a91108")
         (revision "1"))