Commit | Line | Data |
---|---|---|
8472bdec JN |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> | |
c283b22e | 3 | ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> |
15a3fffc LC |
4 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> |
5 | ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> | |
8472bdec JN |
6 | ;;; |
7 | ;;; This file is part of GNU Guix. | |
8 | ;;; | |
9 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
10 | ;;; under the terms of the GNU General Public License as published by | |
11 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
12 | ;;; your option) any later version. | |
13 | ;;; | |
14 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
15 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | ;;; GNU General Public License for more details. | |
18 | ;;; | |
19 | ;;; You should have received a copy of the GNU General Public License | |
20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
21 | ||
22 | (define-module (gnu packages assembly) | |
23 | #:use-module (guix build-system gnu) | |
24 | #:use-module (guix download) | |
25 | #:use-module ((guix licenses) #:prefix license:) | |
26 | #:use-module (guix packages) | |
a837997c | 27 | #:use-module (gnu packages) |
b6e08049 | 28 | #:use-module (gnu packages compression) |
8472bdec | 29 | #:use-module (gnu packages perl) |
15a3fffc LC |
30 | #:use-module (gnu packages texinfo) |
31 | #:use-module (gnu packages python) | |
32 | #:use-module (gnu packages xml)) | |
8472bdec JN |
33 | |
34 | (define-public nasm | |
35 | (package | |
36 | (name "nasm") | |
3f56740d | 37 | (version "2.13.01") |
8472bdec JN |
38 | (source (origin |
39 | (method url-fetch) | |
40 | (uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/" | |
41 | version "/" name "-" version ".tar.xz")) | |
42 | (sha256 | |
43 | (base32 | |
3f56740d | 44 | "0plsvcwxc7q3llr3bz10prwq1gn4ll38aqmv0yzfqcq4iw0160ma")))) |
8472bdec | 45 | (build-system gnu-build-system) |
a837997c | 46 | (native-inputs `(("perl" ,perl) ;for doc and test target |
8472bdec JN |
47 | ("texinfo" ,texinfo))) |
48 | (arguments | |
49 | `(#:test-target "test" | |
161fb9be EF |
50 | #:phases |
51 | (modify-phases %standard-phases | |
52 | (add-after 'unpack 'dont-build-ps-pdf-outputs | |
53 | (lambda _ | |
54 | (substitute* "doc/Makefile.in" | |
3f56740d MB |
55 | (("html nasmdoc.txt nasmdoc.pdf") |
56 | "html nasmdoc.txt") | |
57 | (("\\$\\(INSTALL_DATA\\) nasmdoc.pdf") | |
58 | "$(INSTALL_DATA)")) | |
161fb9be EF |
59 | #t)) |
60 | (add-after 'install 'install-info | |
61 | (lambda _ | |
62 | (zero? (system* "make" "install_doc"))))))) | |
8472bdec JN |
63 | (home-page "http://www.nasm.us/") |
64 | (synopsis "80x86 and x86-64 assembler") | |
65 | (description | |
66 | "NASM, the Netwide Assembler, is an 80x86 and x86-64 assembler designed | |
67 | for portability and modularity. It supports a range of object file formats, | |
68 | including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit OBJ, | |
69 | Windows32 and Windows64. It will also output plain binary files. Its syntax | |
70 | is designed to be simple and easy to understand, similar to Intel's but less | |
71 | complex. It supports all currently known x86 architectural extensions, and | |
72 | has strong support for macros.") | |
8472bdec | 73 | (license license:bsd-3))) |
15a3fffc LC |
74 | |
75 | (define-public yasm | |
76 | (package | |
77 | (name "yasm") | |
78 | (version "1.3.0") | |
79 | (source (origin | |
80 | (method url-fetch) | |
81 | (uri (string-append | |
82 | "http://www.tortall.net/projects/yasm/releases/yasm-" | |
83 | version ".tar.gz")) | |
84 | (sha256 | |
85 | (base32 | |
86 | "0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix")))) | |
87 | (build-system gnu-build-system) | |
88 | (inputs | |
89 | `(("python" ,python-wrapper) | |
90 | ("xmlto" ,xmlto))) | |
91 | (home-page "http://yasm.tortall.net/") | |
92 | (synopsis "Rewrite of the NASM assembler") | |
93 | (description | |
94 | "Yasm is a complete rewrite of the NASM assembler. | |
95 | ||
96 | Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM | |
97 | and GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit | |
98 | Mach-O, RDOFF2, COFF, Win32, and Win64 object formats, and generates source | |
99 | debugging information in STABS, DWARF 2, and CodeView 8 formats.") | |
100 | (license (license:non-copyleft "file://COPYING" | |
101 | "See COPYING in the distribution.")))) | |
c283b22e AK |
102 | |
103 | (define-public lightning | |
104 | (package | |
105 | (name "lightning") | |
106 | (version "2.1.0") | |
107 | (source (origin | |
108 | (method url-fetch) | |
109 | (uri (string-append "mirror://gnu/lightning/lightning-" | |
110 | version ".tar.gz")) | |
111 | (sha256 | |
112 | (base32 | |
113 | "19j9nwl88k660045s40cbz5zrl1wpd2mcxnnc8qqnnaj311a58qz")))) | |
114 | (build-system gnu-build-system) | |
b6e08049 | 115 | (native-inputs `(("zlib" ,zlib))) |
c283b22e AK |
116 | (synopsis "Library for generating assembly code at runtime") |
117 | (description | |
118 | "GNU Lightning is a library that generates assembly language code at | |
119 | run-time. Thus, it is useful in creating Just-In-Time compilers. It | |
120 | abstracts over the target CPU by exposing a standardized RISC instruction set | |
121 | to the clients.") | |
6fd52309 | 122 | (home-page "https://www.gnu.org/software/lightning/") |
da0cef6a | 123 | (license license:gpl3+))) |