aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/bison.scm
blob: 6cd7abe4206dfb440baa32d732cd50441fef5a16 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(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.8.2")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/bison/bison-"
                          version ".tar.xz"))
      (sha256
       (base32
        "1wjvbbzrr16k1jlby3l436an3kvv492h08arbnf0gwgprha05flv"))))
    (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 <https://bugs.gnu.org/36238>.
       #: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 <https://bugs.gnu.org/36238>.
       #:parallel-tests? #f))
    (native-inputs (list perl
                         ;; m4 is not present in PATH when cross-building.
                         m4))
    (inputs (list flex))
    (propagated-inputs (list 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.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"))))))
files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2023-05-16gnu: Add linux-libre 6.3....* gnu/packages/linux.scm (linux-libre-6.3-version, linux-libre-6.3-gnu-revision, deblob-scripts-6.3, linux-libre-6.3-pristine-source, linux-libre-6.3-source, linux-libre-headers-6.3, linux-libre-6.3): New variables. * gnu/packages/aux-files/linux-libre/6.3-arm.conf, gnu/packages/aux-files/linux-libre/6.3-arm64.conf, gnu/packages/aux-files/linux-libre/6.3-i686.conf, gnu/packages/aux-files/linux-libre/6.3-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-04-21gnu: docbook-xml-4.1.2: Add missing catalog.xml....* gnu/packages/aux-files/xml/docbook-xml/catalog-4.1.2.xml: New file. * Makefile.am: Register it. * gnu/packages/docbook.scm (docbook-xml-4.1.2)[arguments]: Use prebuilt catalog.xml. [native-inputs]: Add libxml2. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal 2023-04-21gnu: docbook-xml: Use XSLT to patch catalog.xml....(sxml transforms) are unsuited here due to guile-bug #20339. * gnu/packages/aux-files/xml/patch-catalog-xml.xsl: New file. * Makefile.am: Register it. * gnu/packages/docbook.scm (docbook-xml-5)[native-inputs]: Add libxslt. [arguments]: Add phase to patch catalog.xml using XSLT. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal 2023-04-14maint: Merge sanity-check-next.py into sanity-check.py....* gnu/packages/aux-files/python/sanity-check-next.py: Rename to... * gnu/packages/aux-files/python/sanity-check.py: ... this. * guix/build-system/pyproject.scm (sanity-check.py): Adjust file name. * Makefile.am (AUX_FILES): De-register sanity-check-next.py. Maxim Cournoyer 2023-03-19gnu: linux-libre: Update kernel configs for 6.2.7....* gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: Set some new configuration options. Leo Famulari 2023-03-06gnu: Add linux-libre 6.2....* gnu/packages/linux.scm (linux-libre-6.2-version, linux-libre-6.2-gnu-revision, deblob-scripts-6.2, linux-libre-6.2-pristine-source, linux-libre-6.2-source, linux-libre-headers-6.2, linux-libre-6.2): New variables. * gnu/packages/aux-files/linux-libre/6.2-arm.conf, gnu/packages/aux-files/linux-libre/6.2-arm64.conf, gnu/packages/aux-files/linux-libre/6.2-i686.conf, gnu/packages/aux-files/linux-libre/6.2-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2023-02-19gnu: linux-libre: Consistently provide the drop_monitor module....This is needed by, e.g., <https://github.com/nhorman/dropwatch>. Build it as a module everywhere for consistency. * gnu/packages/aux-files/linux-libre/4.14-i686.conf: Set CONFIG_NET_DROP_MONITOR=m. * gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/4.19-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/4.19-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.10-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: Likewise. Reported by mirai in #guix. Tobias Geerinckx-Rice 2023-02-12gnu: linux-libre: Disable unprivileged BPF by default....* gnu/packages/aux-files/linux-libre/5.15-arm.conf: Set CONFIG_BPF_UNPRIV_DEFAULT_OFF=y. * gnu/packages/aux-files/linux-libre/5.15-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-arm64.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-i686.conf: Likewise. * gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: Likewise. Tobias Geerinckx-Rice 2023-02-11gnu: emacs: Add TREE_SITTER_GRAMMAR_PATH support....gnu/packages/emacs.scm (emacs)[native-search-paths]: Add a search-path for tree-sitter grammars. gnu/packages/aux-files/emacs/guix-emacs.el: Add directories from TREE_SITTER_GRAMMAR_PATH to treesit-extra-load-path. Andrew Tropin 2023-01-13gnu: Remove linux-libre 6.0....This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-6.0-version, linux-libre-6.0-gnu-revision, deblob-scripts-6.0, linux-libre-6.0-pristine-source, linux-libre-6.0-source, linux-libre-headers-6.0, linux-libre-6.0): Remove variables. * gnu/packages/aux-files/linux-libre/6.0-arm.conf, gnu/packages/aux-files/linux-libre/6.0-arm64.conf, gnu/packages/aux-files/linux-libre/6.0-i686.conf, gnu/packages/aux-files/linux-libre/6.0-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2023-01-08gnu: Remove linux-libre 4.9....This kernel series is no longer supported upstream: https://lkml.iu.edu/hypermail/linux/kernel/2301.0/06398.html https://www.kernel.org/category/releases.html * gnu/packages/aux-files/linux-libre/4.9-i686.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. * gnu/packages/linux.scm (linux-libre-4.9-version, linux-libre-4.9-gnu-revision, deblob-scripts-4.9, linux-libre-4.9-pristine-source, linux-libre-4.9-source, linux-libre-headers-4.9, linux-libre-4.9): Remove variables. * gnu/tests/base.scm (%test-linux-libre-4.9): Likewise. Leo Famulari 2023-01-03gnu: Add linux-libre 6.1....* gnu/packages/linux.scm (linux-libre-6.1-version, linux-libre-6.1-gnu-revision, deblob-scripts-6.1, linux-libre-6.1-source, linux-libre-headers-6.1, linux-libre-6.1): New variables. * gnu/packages/aux-files/linux-libre/6.1-arm.conf, gnu/packages/aux-files/linux-libre/6.1-arm64.conf, gnu/packages/aux-files/linux-libre/6.1-i686.conf, gnu/packages/aux-files/linux-libre/6.1-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2022-11-08gnu: Remove linux-libre 5.19....* gnu/packages/linux.scm (linux-libre-5.19-version, linux-libre-5.19-gnu-revision, deblob-scripts-5.19, linux-libre-5.19-pristine-source, linux-libre-5.19-source, linux-libre-headers-5.19, linux-libre-5.19): Remove variables. * gnu/packages/aux-files/linux-libre/5.19-arm.conf, gnu/packages/aux-files/linux-libre/5.19-arm64.conf, gnu/packages/aux-files/linux-libre/5.19-i686.conf, gnu/packages/aux-files/linux-libre/5.19-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2022-11-02gnu: linux-libre: Add linux-libre 6.0.6....* gnu/packages/linux.scm (linux-libre-6.0-version, linux-libre-6.0-pristine-source, linux-libre-6.0-source, linux-libre-headers-6.0, linux-libre-6.0): New variables. * gnu/packages/aux-files/linux-libre/6.0-arm.conf, gnu/packages/aux-files/linux-libre/6.0-arm64.conf, gnu/packages/aux-files/linux-libre/6.0-i686.conf, gnu/packages/aux-files/linux-libre/6.0-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2022-10-27build-system: Add pyproject-build-system....This is an experimental build system based on python-build-system that implements PEP 517-compliant builds. * doc/guix.texi (Build Systems): Add pyproject-build-system section. * doc/contributing.texi (Python Modules): Mention pyproject.toml and the PYTHON-TOOLCHAIN package, as well as differences to python-build-system. * guix/build-system/pyproject.scm, guix/build/pyproject-build-system.scm, gnu/packages/aux-files/python/sanity-check-next.py, gnu/packages/python-commencement.scm: New files. * Makefile.am (MODULES): Register the new build systems. * gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm. * gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New variables. Co-authored-by: Marius Bakke <marius@gnu.org> Lars-Dominik Braun 2022-09-06gnu: Remove linux-libre 5.18....* gnu/packages/linux.scm (linux-libre-5.18-version, linux-libre-5.18-gnu-revision, deblob-scripts-5.18, linux-libre-5.18-pristine-source, linux-libre-5.18-source, linux-libre-headers-5.18, linux-libre-5.18): Remove variables. * gnu/packages/aux-files/linux-libre/5.18-arm.conf, gnu/packages/aux-files/linux-libre/5.18-arm64.conf, gnu/packages/aux-files/linux-libre/5.18-i686.conf, gnu/packages/aux-files/linux-libre/5.18-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Leo Famulari 2022-08-31gnu: Add linux-libre 5.19....* gnu/packages/linux.scm (linux-libre-5.19-version, linux-libre-5.19-gnu-revision, deblob-scripts-5.19, linux-libre-5.19-pristine-source, linux-libre-5.19-source, linux-libre-headers-5.19, linux-libre-5.19): New variables. * gnu/packages/aux-files/linux-libre/5.19-arm.conf, gnu/packages/aux-files/linux-libre/5.19-arm64.conf, gnu/packages/aux-files/linux-libre/5.19-i686.conf, gnu/packages/aux-files/linux-libre/5.19-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. Leo Famulari 2022-08-03gnu: emacs: Suppress loading messages for guix emacs packages....* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages): Pass NOMESSAGE as t for 'load'. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> André A. Gomes