;;; 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")))))) Othacehe 2020-09-10tests: install: Fix gui-installed-desktop-os-encrypted test....* gnu/tests/base.scm (run-basic-test): Add a 'desktop?' argument. Wait 30 seconds before trying to switch to TTY1 on desktop. * gnu/tests/install.scm (guided-installation-test): Use 512MiB of RAM and pass the desktop argument to "run-basic-test". Mathieu Othacehe 2020-04-07services: guix: Add 'set-http-proxy' action....Fixes <https://bugs.gnu.org/25569>. Reported by Divan Santana <divan@santanas.co.za>. * gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure. (guix-shepherd-service): Add 'actions' field. Change 'start' to a lambda; check the value of the "http_proxy" environment variable and add "http_proxy" and "https_proxy" to #:environment-variables as a function of that. * gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy action", "guix-daemon set-http-proxy action, clear"]: New tests. * doc/guix.texi (Base Services): Document it. Ludovic Courtès 2020-04-06services: syslog: Create log files as non-world-readable....Partly fixes <https://bugs.gnu.org/40405>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de>. * gnu/services/base.scm (syslog-service-type): Change 'start' method to set umask to #o137 before spawning syslogd. * gnu/tests/base.scm (run-basic-test)["/var/log/messages is not world-readable"]: New test. Ludovic Courtès 2020-03-05tests: 'run-basic-test' can enter a root password....* gnu/tests/base.scm (run-basic-test): Add #:root-password and honor it. Ludovic Courtès 2019-06-24tests: Import (guix build utils) in the marionette....* gnu/tests/install.scm (%minimal-os)[marionette-configuration](imported-modules): Add (guix build utils). * gnu/tests/base.scm (run-basic-test)["skeletons in home directories"]: Use (guix build utils) explicitly. Ludovic Courtès