X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/1c00680589d002d1ca1fa84f25205f5502253527..1addc2018f4d69d35f7ae8e529af9a2565c6facb:/gnu/packages/assembly.scm diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 7f42d22147..c775603445 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -3,10 +3,11 @@ ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Guy Fleury Iteriteka ;;; Copyright © 2019 Andy Tai ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2020 Christopher Lemmer Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ ;;; along with GNU Guix. If not, see . (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) @@ -44,6 +46,7 @@ #: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))) @@ -109,7 +112,7 @@ has strong support for macros.") (inputs `(("python" ,python-wrapper) ("xmlto" ,xmlto))) - (home-page "http://yasm.tortall.net/") + (home-page "https://yasm.tortall.net/") (synopsis "Rewrite of the NASM assembler") (description "Yasm is a complete rewrite of the NASM assembler. @@ -146,14 +149,14 @@ to the clients.") (define-public fasm (package (name "fasm") - (version "1.73.11") + (version "1.73.22") (source (origin (method url-fetch) (uri (string-append "https://flatassembler.net/fasm-" version ".tgz")) (sha256 - (base32 "1zhbs72qc8bw5158zh6mvzznfamcx5a1bsmbmq9ci0d7wb58sxmg")))) + (base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests exist @@ -177,9 +180,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))) @@ -230,7 +233,7 @@ assembler, a C compiler and a linker. The assembler uses Intel syntax (uri (git-reference (url "https://git.savannah.gnu.org/r/libjit.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "0p6wklslkkp3s4aisj3w5a53bagqn5fy4m6088ppd4fcfxgqkrcd")))) @@ -256,7 +259,7 @@ runtime") (define-public rgbds (package (name "rgbds") - (version "0.3.9") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -265,7 +268,7 @@ runtime") (file-name (git-file-name name version)) (sha256 (base32 - "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv")))) + "15680964nlsa83nqgxk7knxajn98lddz2hg6jnn8ffmnms5wdam7")))) (build-system gnu-build-system) (arguments `(#:phases @@ -299,3 +302,72 @@ package for the Game Boy and Game Boy Color. It consists of: @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))) + +(define-public xa + (package + (name "xa") + (version "2.3.10") + (source (origin + (method url-fetch) + (uri (string-append "https://www.floodgap.com/retrotech/xa" + "/dists/xa-" version ".tar.gz")) + (sha256 + (base32 + "0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; TODO: custom test harness, not sure how it works + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no "configure" script + #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))))) + (native-inputs `(("perl" ,perl))) + (home-page "https://www.floodgap.com/retrotech/xa/") + (synopsis "Two-pass portable cross-assembler") + (description + "xa is a high-speed, two-pass portable cross-assembler. +It understands mnemonics and generates code for NMOS 6502s (such +as 6502A, 6504, 6507, 6510, 7501, 8500, 8501, 8502 ...), + CMOS 6502s (65C02 and Rockwell R65C02) and the 65816.") + (license license:gpl2)))