summary refs log tree commit diff
path: root/gnu/packages/assembly.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/assembly.scm')
-rw-r--r--gnu/packages/assembly.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index fac3d478a5..7f42d22147 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
 ;;; Copyright © 2019 Andy Tai <atai@atai.org>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +37,8 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -249,3 +252,50 @@ assembler, a C compiler and a linker.  The assembler uses Intel syntax
 functionality independent of any particular bytecode, language, or
 runtime")
       (license license:lgpl2.1+))))
+
+(define-public rgbds
+  (package
+    (name "rgbds")
+    (version "0.3.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rednex/rgbds.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'check
+           (lambda _
+             (with-directory-excursion "test/asm"
+               (invoke "./test.sh"))
+             (with-directory-excursion "test/link"
+               (invoke "./test.sh")))))
+       #:make-flags `("CC=gcc"
+                      ,(string-append "PREFIX="
+                                      (assoc-ref %outputs "out")))))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("pkg-config" ,pkg-config)
+       ("util-linux" ,util-linux)))
+    (inputs
+     `(("libpng" ,libpng)))
+    (home-page "https://github.com/rednex/rgbds")
+    (synopsis "Rednex Game Boy Development System")
+    (description
+     "RGBDS (Rednex Game Boy Development System) is an assembler/linker
+package for the Game Boy and Game Boy Color.  It consists of:
+@itemize @bullet
+@item rgbasm (assembler)
+@item rgblink (linker)
+@item rgbfix (checksum/header fixer)
+@item rgbgfx (PNG-to-Game Boy graphics converter)
+@end itemize")
+    (license license:expat)))