summaryrefslogtreecommitdiff
path: root/gnu/packages/electronics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/electronics.scm')
-rw-r--r--gnu/packages/electronics.scm119
1 files changed, 119 insertions, 0 deletions
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index b1a02f8f9e..a13ad2196a 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -8,6 +8,9 @@
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com>
+;;; Copyright © 2018-2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2015-2025 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +30,7 @@
(define-module (gnu packages electronics)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
@@ -45,12 +49,16 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages engineering)
#:use-module (gnu packages embedded)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fpga)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages gd)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libftdi)
@@ -74,6 +82,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
(define-public comedilib
@@ -97,6 +106,44 @@ individual low-level driver modules.")
(home-page "https://www.comedi.org/")
(license license:lgpl2.1)))
+(define-public librnd
+ (package
+ (name "librnd")
+ (version "4.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.repo.hu/projects/librnd/"
+ "releases/librnd-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1qjv6gg9fb3rpvr1y9l5nbzz2xk2sa4nqz0dgwvds5hc1bmd97mf"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:tests? #false ;no check target
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (replace 'configure
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs
+ (list gd glib glu gtk gtkglext libepoxy))
+ (native-inputs
+ (list pkg-config))
+ (home-page "http://repo.hu/projects/librnd/")
+ (synopsis "Two-dimensional CAD engine")
+ (description "This is a flexible, modular two-dimensional CAD engine
+@itemize
+@item with transparent multiple GUI toolkit support;
+@item a flexible, dynamic menu system;
+@item a flexible, dynamic configuration system; and
+@item support for user scripting in a dozen languages.
+@end itemize")
+ (license license:gpl2+)))
+
(define-public libserialport
(package
(name "libserialport")
@@ -424,6 +471,37 @@ such as:
@end itemize")
(license license:expat)))
+(define-public pcb-rnd
+ (package
+ (name "pcb-rnd")
+ (version "3.1.7b")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://repo.hu/projects/pcb-rnd/"
+ "releases/pcb-rnd-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1djsa0w53l6nvhwv28rlhpva55ir9n3xdvjgnjj8fgvcmrqlzrsl"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (setenv "LIBRND_PREFIX" #$(this-package-input "librnd"))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs (list librnd))
+ (home-page "http://repo.hu/projects/pcb-rnd/")
+ (synopsis "Modular layout editor")
+ (description "@code{Pcb-rnd} is a @acronym{Printed Circuit Board} layout
+editor, part of the RiNgDove EDA suite.")
+ (license license:gpl2+)))
+
(define-public prjtrellis
;; The last release is 2 years old; use the latest commit for now.
(let ((commit "898329dddf6ce6463299973081f109d645b9c55f")
@@ -793,6 +871,47 @@ design.")
to enforce it.")
(license license:gpl3+)))
+(define-public xschem
+ (package
+ (name "xschem")
+ (version "3.4.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/StefanSchippers/xschem")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0g9qrzm2mjd7nfg8iyc5az2bs8n5gjv1mrjjdja5vn1yjia7pvy9"))))
+ (native-inputs (list flex bison pkg-config))
+ (inputs (list gawk
+ tcl
+ tk
+ libxpm
+ cairo
+ libxrender
+ libxcb)) ; Last 3 are optional, but good to have.
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'setenv
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" #$(cc-for-target))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (synopsis "Hierarchical schematic editor")
+ (description
+ "Xschem is an X11 schematic editor written in C and focused on
+hierarchical and parametric design. It can generate VHDL, Verilog or Spice
+netlists from the drawn schematic, allowing the simulation of the circuit.")
+ (home-page "https://xschem.sourceforge.io/stefan/index.html")
+ (license license:gpl2+)))
+
(define-public sigrok-cli
(package
(name "sigrok-cli")