;;; 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+))) tion. Maxim Cournoyer 2022-10-22Remove now unnecessary uses of (guix grafts)....These modules would use (guix grafts) just to access '%graft?' and related bindings, which are now in (guix store). * gnu/ci.scm, guix/gexp.scm, guix/lint.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/deploy.scm, guix/scripts/environment.scm, guix/scripts/home.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/pull.scm, guix/scripts/size.scm, guix/scripts/system.scm, guix/scripts/weather.scm, tests/builders.scm, tests/channels.scm, tests/cpan.scm, tests/derivations.scm, tests/gexp.scm, tests/graph.scm, tests/guix-daemon.sh, tests/monads.scm, tests/pack.scm, tests/packages.scm, tests/profiles.scm, tests/system.scm: Remove #:use-module (guix grafts). Ludovic Courtès 2021-07-18Merge branch 'master' into core-updatesLudovic Courtès 2021-07-18pack: Allow embedding custom control files in deb packs....* guix/scripts/pack.scm (self-contained-tarball/builder) [extra-options]: New argument. (self-contained-tarball, squashfs-image, docker-image) (debian-archive): Likewise. Remove two TODO comments. Document EXTRA-OPTIONS. Use the custom control files when provided. (%deb-format-options): New variable. (show-deb-format-options, show-deb-format-options/detailed): New procedures. (%options): Register new options. (show-help): Augment with new usage. (guix-pack): Validate and propagate new argument values. * doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced options. Add an example. * tests/pack.scm (deb archive...): Provide extra-options to the debian-archive procedure, and validate that the provided files are embedded in the pack. Maxim Cournoyer 2021-07-11pack: Adjust test to earlier <compressor> changes....This is a followup to 5a0997ef7f3968d216328b8c63a6e36dd29a5ab8, which broke the "self-contained tarball" test. * tests/pack.scm (%gzip-compressor): Add 'list' in third field. Ludovic Courtès 2021-06-29pack: Add support for the deb format....* .dir-locals.el (scheme-mode)[gexp->derivation]: Define indentation rule. * guix/scripts/pack.scm (debian-archive): New procedure. (%formats): Register the new deb format. (show-formats): Add it to the usage string. * tests/pack.scm (%ar-bootstrap): New variable. (deb archive with symlinks): New test. * doc/guix.texi (Invoking guix pack): Document it. * NEWS: Add news entry. Maxim Cournoyer 2021-06-29tests: pack: Fix compressor extension....* tests/pack.scm (%gzip-compressor): Add the missing leading period to the gzip compressor file extension. Maxim Cournoyer