;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2021 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages cobol) #:use-module (gnu packages) #:use-module (guix build-system gnu) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages dbm) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages web) #:use-module (gnu packages xml)) (define-public gnucobol (package (name "gnucobol") (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gnucobol/gnucobol-" version ".tar.xz")) (sha256 (base32 "0x15ybfm63g7c9340fc6712h9v59spnbyaz4rf85pmnp3zbhaw2r")))) (arguments '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib") (string-append "JSON_C_CFLAGS=-I" (assoc-ref %build-inputs "json-c") "/include/json-c")) #:phases (modify-phases %standard-phases (add-after 'unpack 'place-cobol85-test-suite (lambda* (#:key inputs #:allow-other-keys) (let ((newcob (assoc-ref inputs "newcob"))) (copy-file newcob "tests/cobol85/newcob.val.Z")))) (add-before 'check 'set-TERM ;; Some tests expect a known terminal (lambda _ (setenv "TERM" "xterm-256color")))) #:test-target "checkall")) (native-inputs `(("perl" ,perl) ("newcob" ,(origin (method url-fetch) (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") (sha256 (base32 "1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy")))))) (inputs `(("bdb" ,bdb) ("gmp" ,gmp) ("json-c" ,json-c) ("libxml2" ,libxml2) ("ncurses" ,ncurses))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/gnucobol/") (synopsis "A modern COBOL compiler") (description "GnuCOBOL is a free, modern COBOL compiler. GnuCOBOL implements a substantial part of the COBOL 85, COBOL 2002 and COBOL 2014 standards and X/Open COBOL, as well as many extensions included in other COBOL compilers (IBM COBOL, MicroFocus COBOL, ACUCOBOL-GT and others). GnuCOBOL translates COBOL into C and compiles the translated code using a native C compiler.") (license gpl3+))) ->cve-items): Likewise. * guix/git-authenticate.scm (commit-signing-key): Likewise. (commit-authorized-keys): Likewise. (authenticate-commit): Likewise. (verify-introductory-commit): Likewise. * guix/remote.scm (remote-pipe-for-gexp): Likewise. * guix/scripts/graph.scm (assert-package): Likewise. * guix/scripts/offload.scm (private-key-from-file*): Likewise. * guix/ssh.scm (authenticate-server*): Likewise. (open-ssh-session): Likewise. (remote-inferior): Likewise. * guix/ui.scm (matching-generations): Likewise. * guix/upstream.scm (package-update): Likewise. * tests/channels.scm ("latest-channel-instances, missing introduction for 'guix'"): Catch 'formatted-message?'. ("authenticate-channel, wrong first commit signer"): Likewise. * tests/lint.scm ("patches: not found"): Adjust message string. * tests/packages.scm ("patch not found yields a run-time error"): Catch 'formatted-message?'. * guix/lint.scm (check-patch-file-names): Handle 'formatted-message?'. (check-derivation): Ditto. Ludovic Courtès 2020-07-25utils: Move '&fix-hint' to (guix diagnostics)....* guix/utils.scm (&fix-hint): Move to... * guix/diagnostics.scm (&fix-hint): ... here. * gnu.scm: Adjust imports accordingly. * gnu/system/mapped-devices.scm: Likewise. * guix/channels.scm: Likewise. * guix/profiles.scm: Likewise. * guix/scripts/system/reconfigure.scm: Likewise. * guix/ssh.scm: Likewise. Ludovic Courtès 2020-07-25utils: Move <location> and '&error-location' to (guix diagnostics)....* guix/utils.scm (<location>, source-properties->location) (location->source-properties, &error-location): Move to... * guix/diagnostics.scm: ... here. * gnu.scm: Adjust imports accordingly. * gnu/machine.scm: Likewise. * gnu/system.scm: Likewise. * gnu/tests.scm: Likewise. * guix/inferior.scm: Likewise. * tests/channels.scm: Likewise. * tests/packages.scm: Likewise. Ludovic Courtès