c4droid wrote 2 years ago
(address . guix-patches@gnu.org)
From 351280951b0ad515dc6b725dca51a986def1f93f Mon Sep 17 00:00:00 2001
From: c4droid <c4droid@foxmail.com>
Date: Tue, 21 Mar 2023 15:16:10 +0800
Subject: [PATCH] gnu: Add emu8051.
* gnu/packages/embedded.scm (emu8051): New variable.
---
gnu/packages/embedded.scm | 41 +++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Toggle diff (58 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 8d854c7..50658e4 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1747,3 +1748,43 @@ (define-public ts4900-utils
@item tssilomon
@end itemize")
(license license:bsd-2))))
+
+(define-public emu8051
+ (let ((commit "5dc681275151c4a5d7b85ec9ff4ceb1b25abd5a8")
+ (revision "1"))
+ (package
+ (name "emu8051")
+ (version (git-version "0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jarikomppa/emu8051")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xxmkcwvd5fjnhwbricafg4xvxvr8dxhfanyfp4rbksw37dgk2fx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;No test suite
+ #:make-flags (list (string-append "CC="
+ ,(cc-for-target)))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure) ;No ./configure script
+ (add-before 'build 'patch-ncurses
+ ;; Replace LDFLAGS -lcurses to -lncurses
+ (lambda* _
+ (substitute* "Makefile"
+ (("-lcurses")
+ "-lncurses"))))
+ (replace 'install
+ ;; No installation procedure
+ (lambda _
+ (install-file "emu"
+ (string-append (assoc-ref %outputs "out")
+ "/bin")))))))
+ (inputs (list ncurses))
+ (home-page "https://github.comjarikomppa/emu8051")
+ (synopsis "8051/8052 emulator with curses-based UI")
+ (description "emu8051 is a simulator of the 8051/8052 microcontrollers.")
+ (license license:expat))))
--
2.39.2