This is an automated email from the git hooks/post-receive script.
guix_mirror_bot pushed a commit to branch master
in repository guix.
The following commit(s) were added to refs/heads/master by this push:
new 6208c49310 gnu: Add ripes.
6208c49310 is described below
commit 6208c4931097d01121af37d0b64d31a19d149cc2
Author: Cayetano Santos <[email protected]>
AuthorDate: Tue Feb 24 19:14:02 2026 +0100
gnu: Add ripes.
* gnu/packages/computer-architecture.scm (ripes): New variable.
* gnu/local.mk (dist_patch_DATA): Register it.
* po/packages/POTFILES.in: Add new module.
Change-Id: I1e0ab70527cd0dfe86ccee88c6f39a1e2efadaf8
---
gnu/local.mk | 1 +
gnu/packages/computer-architecture.scm | 106 +++++++++++++++++++++++++++++++++
po/packages/POTFILES.in | 1 +
3 files changed, 108 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index 38d2b2ecad..aa51ca503e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -208,6 +208,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/commencement.scm \
%D%/packages/compression.scm \
%D%/packages/compton.scm \
+ %D%/packages/computer-architecture.scm \
%D%/packages/configuration-management.scm \
%D%/packages/connman.scm \
%D%/packages/containers.scm \
diff --git a/gnu/packages/computer-architecture.scm
b/gnu/packages/computer-architecture.scm
new file mode 100644
index 0000000000..db289e1568
--- /dev/null
+++ b/gnu/packages/computer-architecture.scm
@@ -0,0 +1,106 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2026 Cayetano Santos <[email protected]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages computer-architecture)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system qt)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages electronics)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages qt))
+
+(define-public ripes
+ ;; Includes Qt6 support.
+ (let ((commit "720066f8d1c9f8d62fad058f44471763a0312084")
+ (revision "0"))
+ (package
+ (name "ripes")
+ (version (git-version "2.2.6" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mortbopet/Ripes/")
+ (commit commit)
+ ;; TODO: Unbundle. Ripes recursively requires tones of non
+ ;; packaged dependencies in "external" directories.
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kkdc3y18h985zvgmhbdbms3zynygrg5f64w1lm948hffj58x7gy"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:qtbase qtbase ;for Qt6
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-tests
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ ;; Fails with "Compared values are not the same"
+ (("create_qtest\\(tst_riscv\\)") "")
+ ;; Fails with "Internal test error"
+ (("create_qtest\\(tst_reverse\\)") ""))))
+ (add-after 'unpack 'patch-bugs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; TODO: Remove when fixed upstream.
+ ;; See https://github.com/mortbopet/Ripes/issues/388 and 62
+ (substitute*
+ (string-append "external/VSRTL/external/cereal/include"
+ "/cereal/external/rapidjson/document.h")
+ (("GenericStringRef& operator=.*")
+ (string-append
+ "GenericStringRef& operator=(const GenericStringRef& rhs)"
+ " { s = rhs.s; return *this; }")))
+ ;; As suggested by error message itself.
+ (substitute* '("external/VSRTL/interface/vsrtl_vcdfile.cpp")
+ (("#include <sstream>")
+ "#include <sstream>\n#include <cstdint>"))
+ ;; As suggested by error message itself.
+ (substitute* '("external/VSRTL/interface/vsrtl_vcdfile.h")
+ (("#include <map>")
+ "#include <map>\n#include <cstdint>"))))
+ (add-before 'configure 'set-envs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "VERILATOR_ROOT"
+ (dirname
+ (dirname
+ (search-input-file inputs "/bin/verilator"))))))
+ (replace 'check ;as for .github/workflows/test.yml
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (for-each
+ (lambda (f) (invoke f))
+ (filter executable-file? (find-files "test" "tst_")))))))
+ #:configure-flags
+ #~(list "-DRIPES_BUILD_VERILATOR_PROCESSORS=ON"
+ "-DRIPES_BUILD_TESTS=ON")))
+ (native-inputs
+ (list python-minimal-wrapper verilator))
+ (inputs
+ (list qtsvg qtcharts))
+ (home-page "https://github.com/mortbopet/Ripes/")
+ (synopsis "Visual computer architecture editor for RISCV")
+ (description
+ "Ripes is a visual computer architecture simulator and assembly code
+editor built for the RISCV instruction set architecture.")
+ (license license:expat))))
diff --git a/po/packages/POTFILES.in b/po/packages/POTFILES.in
index 5402ce34bf..702e0c6d81 100644
--- a/po/packages/POTFILES.in
+++ b/po/packages/POTFILES.in
@@ -72,6 +72,7 @@ gnu/packages/code.scm
gnu/packages/commencement.scm
gnu/packages/compression.scm
gnu/packages/compton.scm
+gnu/packages/computer-architecture.scm
gnu/packages/configuration-management.scm
gnu/packages/connman.scm
gnu/packages/containers.scm