;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2020 B. Wilson ;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; 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 bison) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages m4) #:use-module (gnu packages perl) #:use-module (gnu packages flex) #:use-module (srfi srfi-1)) (define-public bison (package (name "bison") (version "3.5.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz")) (sha256 (base32 "1i57hbczvr8674z73775jxdd3y59qggs5lmfd60gmwm5i1gmpy1b")))) (build-system gnu-build-system) (arguments '(;; Building in parallel on many-core systems may cause an error such as ;; "mv: cannot stat 'examples/c/reccalc/scan.stamp.tmp': No such file or ;; directory". See . #:parallel-build? #f ;; Similarly, when building tests in parallel, Make may produce this error: ;; "./examples/c/reccalc/scan.l:13:10: fatal error: parse.h: No such file ;; or directory". Full log in . #:parallel-tests? #f)) (native-inputs `(("perl" ,perl) ;; m4 is not present in PATH when cross-building. ("m4" ,m4))) (inputs `(("flex" ,flex))) (propagated-inputs `(("m4" ,m4))) (home-page "https://www.gnu.org/software/bison/") (synopsis "Yacc-compatible parser generator") (description "GNU Bison is a general-purpose parser generator. It can build a deterministic or generalized LR parser from an annotated, context-free grammar. It is versatile enough to have many applications, from parsers for simple tools through complex programming languages. Bison also provides an implementation of @command{yacc}, as specified by POSIX.") (license gpl3+))) (define-public bison-3.6 (package (inherit bison) (version "3.6.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz")) (sha256 (base32 "0gdpnjh6ra9xa9vj6hzjdf0c04x4pjyy8vssm3qdb7fya4v7knq6")))))) (define-public bison-3.0 (package (inherit bison) (version "3.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz")) (sha256 (base32 "0f7kjygrckkx8vas2nm673592jif0a9mw5g8207f6hj6h4pfyp07")))))) gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu bootloader grub) modules. * gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm. * gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader). * gnu/tests.scm: Ditto. * gnu/tests/nfs.scm: Ditto. Mathieu Othacehe 2016-04-18system: Add (gnu system mapped-devices)....* gnu/system/file-systems.scm (<mapped-device>, <mapped-device-type>): Move to... * gnu/system/mapped-devices.scm: ... here. New file. * gnu/system.scm, gnu/services/base.scm, gnu/system/linux-initrd.scm: Use it. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it. Ludovic Courtès 2015-11-03system: Rename (gnu system linux) to (gnu system pam)....* gnu/system/linux.scm: Rename to... * gnu/system/pam.scm: ... this. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu.scm, gnu/services/base.scm, gnu/services/desktop.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system.scm, gnu/system/vm.scm: Likewise. Ludovic Courtès 2015-02-04system: Add bindings to configure libc's NSS....* gnu/system/nss.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it. * gnu/system.scm (<operating-system>)[name-service-switch]: New field. (etc-directory): Add #:nss parameter and honor it. (operating-system-etc-directory): Adjust call accordingly. * doc/guix.texi (operating-system Reference): Document 'name-service-switch'. (Name Service Switch): New section. Ludovic Courtès 2015-01-22gnu: Add convenience macros to make module imports more concise....* gnu.scm (use-package-modules, use-service-modules, use-system-modules): New macros. Joshua S. Grant 2014-09-09Have (gnu) re-export (guix gexp)....* gnu.scm (%public-modules): Add '(guix gexp)'. Ludovic Courtès 2014-05-22Add (gnu) module....* gnu.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * build-aux/hydra/demo-os.scm: Use (gnu) and strip import list accordingly. * doc/guix.texi (Using the Configuration System): Adjust example accordingly. Ludovic Courtès