diff options
Diffstat (limited to 'gnu/packages/assembly.scm')
-rw-r--r-- | gnu/packages/assembly.scm | 105 |
1 files changed, 99 insertions, 6 deletions
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index fac3d478a5..a96b169d15 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -3,9 +3,10 @@ ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 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. ;;; @@ -23,6 +24,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages assembly) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) @@ -36,11 +38,14 @@ #: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) #:use-module (gnu packages texinfo) #:use-module (gnu packages python) + #:use-module (gnu packages sphinx) #:use-module (gnu packages xml) #:use-module ((guix utils) #:select (%current-system))) @@ -143,14 +148,14 @@ to the clients.") (define-public fasm (package (name "fasm") - (version "1.73.11") + (version "1.73.21") (source (origin (method url-fetch) (uri (string-append "https://flatassembler.net/fasm-" version ".tgz")) (sha256 - (base32 "1zhbs72qc8bw5158zh6mvzznfamcx5a1bsmbmq9ci0d7wb58sxmg")))) + (base32 "143zh7x3q0r2kclshh8n5w4i5pw4lh60si7rspvc725xxjpjkvcv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests exist @@ -174,9 +179,9 @@ to the clients.") (supported-systems '("x86_64-linux" "i686-linux")) (synopsis "Assembler for x86 processors") (description - "FASM is an assembler that supports x86 and IA-64 Intel architectures. -It does multiple passes to optimize machine code. It has macro abilities and -focuses on operating system portability.") + "@acronym{FASM, the Flat ASseMbler} is an assembler that supports x86 and +IA-64 Intel architectures. It does multiple passes to optimize machine code. +It has macro abilities and focuses on operating system portability.") (home-page "https://flatassembler.net/") (license license:bsd-2))) @@ -249,3 +254,91 @@ 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))) + +(define-public wla-dx + (package + (name "wla-dx") + (version "9.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vhelin/wla-dx.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "022isf7s9q5i0j4xj69zpp0lgw8p9n37sn7ii25v68r15zaahk2w")))) + (build-system cmake-build-system) + (native-inputs + `(("sphinx" ,python-sphinx))) ; to generate man pages + (arguments + `(#:tests? #f)) ; no tests + (home-page "https://github.com/vhelin/wla-dx") + (synopsis "Assemblers for various processors") + (description "WLA DX is a set of tools to assemble assembly files to +object or library files (@code{wla-ARCH}) and link them together (@code{wlalink}). +Supported architectures are: + +@itemize @bullet +@item z80 +@item gb (z80-gb) +@item 6502 +@item 65c02 +@item 6510 +@item 65816 +@item 6800 +@item 6801 +@item 6809 +@item 8008 +@item 8080 +@item huc6280 +@item spc700 +@end itemize") + (license license:gpl2))) |