Subject: [PATCH] z80asm and z80dasm

From: Thomas Albers <[email-masked]>
Date: Mon, 19 Jul 2021 14:02:12 +0200

diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 51c0572674..5bf1a1c98a 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <[email-masked]>
 ;;; Copyright © 2020 Christopher Lemmer Webber <[email-masked]>
 ;;; Copyright © 2020 B. Wilson <[email-masked]>
+;;; Copyright © 2021 Thomas Albers Raviola <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -533,3 +534,50 @@ family of command line utility wrappers in the default output.  Each of the cli
 tools is named like @code{xed*}.  Documentation for the cli tools is sparse, so
 this is a case where ``the code is the documentation.''")
     (license license:asl2.0)))
+
+(define-public z80asm
+  (package
+    (name "z80asm")
+    (version "1.8")
+    (source (origin
+              (uri "http://download.savannah.nongnu.org/releases/z80asm/z80asm-1.8.tar.gz")
+              (sha256
+               (base32 "0r2za4qb7b0n13xksj6vwddixn2jzcc5h8qk06kxzkc20naakyv7"))
+              (method url-fetch)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out")
+                                       "/bin")))
+               (install-file "z80asm" bin)
+               #t))))))
+    (synopsis "Assembler for the Z80 microprcessor")
+    (description "Assembler for the Z80 microprcessor. The assembler
+aims to be portable and complete. It assembles all official
+mnemonics, but it also aims to assemble the unofficial mnemonics.")
+    (home-page "http://savannah.nongnu.org/projects/z80asm")
+    (license license:gpl3)))
+
+(define-public z80dasm
+  (package
+    (name "z80dasm")
+    (version "1.1.6")
+    (source (origin
+              (uri "https://www.tablix.org/~avian/z80dasm/z80dasm-1.1.6.tar.gz")
+              (sha256
+               (base32 "0q6k1dy34p1mncq5cp5a3yakka9a9j4llw6vqjh81wr8n1xrdlvn"))
+              (method url-fetch)))
+    (build-system gnu-build-system)
+    (synopsis "Disassembler for the Zilog Z80 microprocessor and compatibles")
+    (description "z80dasm is a disassembler for the Zilog Z80
+microprocessor and compatibles. It can be used to reverse engineer
+programs and operating systems for 1980's microcomputers using this
+processor architecture (for example Sinclair ZX81, Spectrum and many
+others).")
+    (home-page "https://www.tablix.org/~avian/blog/articles/z80dasm/")
+    (license license:gpl2)))