Commit | Line | Data |
---|---|---|
2206bd34 | 1 | ;;; GNU Guix --- Functional package management for GNU |
8020ecc7 | 2 | ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> |
2206bd34 EF |
3 | ;;; |
4 | ;;; This file is part of GNU Guix. | |
5 | ;;; | |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
7 | ;;; under the terms of the GNU General Public License as published by | |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
9 | ;;; your option) any later version. | |
10 | ;;; | |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | ;;; GNU General Public License for more details. | |
15 | ;;; | |
16 | ;;; You should have received a copy of the GNU General Public License | |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
19 | (define-module (gnu packages cobol) | |
20 | #:use-module (gnu packages) | |
21 | #:use-module (guix build-system gnu) | |
22 | #:use-module (guix licenses) | |
23 | #:use-module (guix packages) | |
24 | #:use-module (guix download) | |
255d1bbe | 25 | #:use-module (gnu packages dbm) |
2206bd34 | 26 | #:use-module (gnu packages multiprecision) |
8020ecc7 EF |
27 | #:use-module (gnu packages ncurses) |
28 | #:use-module (gnu packages perl)) | |
2206bd34 EF |
29 | |
30 | (define-public gnucobol | |
31 | (package | |
32 | (name "gnucobol") | |
33 | (version "2.2") | |
34 | (source | |
35 | (origin | |
36 | (method url-fetch) | |
37 | (uri (string-append | |
38 | "mirror://gnu/gnucobol/gnucobol-" | |
39 | version ".tar.xz")) | |
40 | (sha256 | |
41 | (base32 | |
42 | "1814s1n95xax2dz938cf4fkcp0q94nkj1gjbdblbzpk9q92zq66w")))) | |
43 | (arguments | |
44 | '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" | |
45 | (assoc-ref %outputs "out") | |
8020ecc7 EF |
46 | "/lib")) |
47 | #:phases | |
48 | (modify-phases %standard-phases | |
49 | (add-after 'unpack 'place-cobol85-test-suite | |
50 | (lambda* (#:key inputs #:allow-other-keys) | |
51 | (let ((newcob (assoc-ref inputs "newcob"))) | |
52 | (copy-file newcob "tests/cobol85/newcob.val.Z"))))) | |
53 | #:test-target "checkall")) | |
54 | (native-inputs | |
55 | `(("perl" ,perl))) | |
2206bd34 EF |
56 | (inputs |
57 | `(("bdb" ,bdb) | |
58 | ("gmp" ,gmp) | |
8020ecc7 EF |
59 | ("ncurses" ,ncurses) |
60 | ("newcob" ,(origin | |
61 | (method url-fetch) | |
adc67145 | 62 | (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") |
8020ecc7 EF |
63 | (sha256 |
64 | (base32 | |
65 | "1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy")))))) | |
2206bd34 EF |
66 | (build-system gnu-build-system) |
67 | (home-page "https://savannah.gnu.org/projects/gnucobol/") | |
68 | (synopsis "A modern COBOL compiler") | |
69 | (description "GnuCOBOL is a free, modern COBOL compiler. GnuCOBOL | |
70 | implements a substantial part of the COBOL 85, COBOL 2002 and COBOL 2014 | |
71 | standards and X/Open COBOL, as well as many extensions included in other | |
72 | COBOL compilers (IBM COBOL, MicroFocus COBOL, ACUCOBOL-GT and others). | |
73 | GnuCOBOL translates COBOL into C and compiles the translated code using | |
74 | a native C compiler.") | |
75 | (license gpl3+))) |