aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/flex.scm
blob: 79726759715b2b85220c5d95734307b2fd77e50c (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
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 flex)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix utils)
  #:use-module (gnu packages)
  #:use-module (gnu packages m4)
  #:use-module (gnu packages man)
  #:use-module (gnu packages bison)
  #:use-module (srfi srfi-1))

(define-public flex
  (package
    (name "flex")
    (version "2.6.4")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://github.com/westes/flex"
                    "/releases/download/v" version "/"
                    "flex-" version ".tar.gz"))
              (sha256
               (base32
                "15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"))))
    (build-system gnu-build-system)
    (inputs
     (let ((bison-for-tests
            (package
              (inherit bison)
              (arguments
               ;; Disable tests, since they require flex.
               (substitute-keyword-arguments (package-arguments bison)
                 ((#:tests? _ #f) #f)))
              (inputs (alist-delete "flex" (package-inputs bison))))))
       `(("bison" ,bison-for-tests))))
    ;; m4 is not present in PATH when cross-building
    (native-inputs
     (list help2man m4))
    (propagated-inputs (list m4))
    (home-page "https://github.com/westes/flex")
    (synopsis "Fast lexical analyser generator")
    (description
     "Flex is a tool for generating scanners.  A scanner, sometimes
called a tokenizer, is a program which recognizes lexical patterns in
text.  The flex program reads user-specified input files, or its standard
input if no file names are given, for a description of a scanner to
generate.  The description is in the form of pairs of regular expressions
and C code, called rules.  Flex generates a C source file named,
\"lex.yy.c\", which defines the function yylex().  The file \"lex.yy.c\"
can be compiled and linked to produce an executable.  When the executable
is run, it analyzes its input for occurrences of text matching the
regular expressions for each rule.  Whenever it finds a match, it
executes the corresponding C code.")
    (license (non-copyleft "file://COPYING"
                           "See COPYING in the distribution."))))
2023-03-28gnu: ruby-web-console: Update to 4.2.0....* gnu/packages/rails.scm (ruby-web-console): Update to 4.2.0. [arguments]: Delete trailing #t. [propagated-inputs]: Add ruby-arel. Maxim Cournoyer 2023-03-28gnu: ruby-spring: Update to 4.1.1....* gnu/packages/rails.scm (ruby-spring): Update to 4.1.1. [arguments]: Use gexps. Delete trailing #t. Preserve activesupport dependency spec. Maxim Cournoyer 2023-03-28gnu: ruby-rails: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-rails): Update to 7.0.4.3. [source]: use ruby-rails-monorepo. [arguments]: Add delete-extraneous-gemspec-files phase. Delete trailing #t. Maxim Cournoyer 2023-03-28gnu: Add ruby-turbo-rails....* gnu/packages/rails.scm (ruby-turbo-rails): New variable. Maxim Cournoyer 2023-03-28gnu: Add ruby-stimulus-rails....* gnu/packages/rails.scm (ruby-stimulus-rails): New variable. Maxim Cournoyer 2023-03-28gnu: Add ruby-propshaft....* gnu/packages/rails.scm (ruby-propshaft): New variable. Maxim Cournoyer 2023-03-28gnu: ruby-railties: Enable test suite....* gnu/packages/rails.scm (ruby-railties): Add a tip as comment about reviewing test suite failures. [arguments]: Delete #:tests? argument. Add delete-gemfiles, disable-bundler, do-not-load-other-gems-from-source, patch-paths, prepare-for-tests, disable-problematic-tests and set-paths phases. Move check phase after install phase. Maxim Cournoyer 2023-03-28gnu: Add ruby-importmap-rails....* gnu/packages/rails.scm (ruby-importmap-rails-bootstrap): New private variable. (ruby-importmap-rails): New variable. Maxim Cournoyer 2023-03-28gnu: ruby-globalid: Move to (gnu packages rails)....* gnu/packages/ruby.scm (ruby-globalid): Move to... * gnu/packages/rails.scm (ruby-globalid): ... here, with minor cosmetic adjustments. Maxim Cournoyer 2023-03-28gnu: Add ruby-bootsnap....* gnu/packages/rails.scm (ruby-bootsnap): New variable. Maxim Cournoyer 2023-03-28gnu: ruby-sprockets-rails: Update to 3.4.2....* gnu/packages/rails.scm (ruby-sprockets-rails): Update to 3.4.2. Maxim Cournoyer 2023-03-28gnu: ruby-sprockets: Move to (gnu packages rails)....* gnu/packages/ruby.scm (ruby-sprockets): Move to... * gnu/packages/rails.scm (ruby-sprockets): ... here. Maxim Cournoyer 2023-03-28gnu: ruby-actionmailer: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-actionmailer): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. [propagated-inputs]: Add ruby-net-imap, ruby-net-pop and ruby-net-smtp. Maxim Cournoyer 2023-03-28gnu: ruby-actionmailbox: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-actionmailbox): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. [propagated-inputs]: Add ruby-net-imap, ruby-net-pop and ruby-net-smtp. Maxim Cournoyer 2023-03-28gnu: ruby-actiontext: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-actiontext): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. Maxim Cournoyer 2023-03-28gnu: ruby-activestorage: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-activestorage): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. [propagated-inputs]: replace ruby-mimemagic with ruby-mini-mime. Maxim Cournoyer 2023-03-28gnu: ruby-marcel: Enable tests....* gnu/packages/rails.scm (ruby-marcel) [source]: Fetch from git. [arguments]: Drop #:tests?. Add #:phases. [native-inputs]: New field. Maxim Cournoyer 2023-03-28gnu: ruby-marcel: Relocate to (gnu packages rails)....* gnu/packages/ruby.scm (ruby-marcel): Move to... * gnu/packages/rails.scm (ruby-marcel): ... here. [home-page]: Update URL. Maxim Cournoyer 2023-03-28gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests....* gnu/packages/rails.scm (ruby-actioncable): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Drop #:tests?. Add #:phases argument. [native-inputs]: New field. Maxim Cournoyer 2023-03-28gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite....* gnu/packages/rails.scm (ruby-actionpack): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Delete #:tests? argument. Add #:phases argument. [native-inputs]: New field. [propagated-inputs]: Add ruby-rack-cache and ruby-rack-session. Maxim Cournoyer 2023-03-28gnu: ruby-activejob: Update to 7.0.4.3 and enable tests....* gnu/packages/rails.scm (ruby-activejob): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Remove #:tests? argument. Add #:phases argument. [native-inputs]: New field. Maxim Cournoyer 2023-03-28gnu: ruby-actionview: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-actionview): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Add explanatory comment w.r.t. disabling tests. Add the #:phases and #:test-target arguments. [propagated-inputs]: Re-indent. Maxim Cournoyer 2023-03-28gnu: ruby-activerecord: Update to 7.0.4.3 and enable tests....* gnu/packages/rails.scm (ruby-activerecord): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Remove #:tests? argument. Add #:phases argument. [native-inputs]: New field. [propagated-inputs]: Remove ruby-arel. Add ruby-sqlite3. Maxim Cournoyer 2023-03-28gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests....* gnu/packages/rails.scm (ruby-activemodel): Update to 7.0.4.3. Fix indentation. [source]: Use ruby-rails-monorepo. [arguments]: Remove #:tests? argument. Add #:phases argument. [native-inputs]: New field. Maxim Cournoyer 2023-03-28gnu: ruby-railties: Update to 7.0.4.3....* gnu/packages/rails.scm (ruby-railties): Update to 7.0.4.3. [version]: Use %ruby-rails-version. [source]: Use ruby-rails-monorepo. [arguments]: Add #:phases. [propagated-inputs]: Add ruby-zeitwerk. Maxim Cournoyer 2023-03-28gnu: ruby-activesupport: Update to 7.0.4.3....* gnu/packages/ruby.scm (ruby-activesupport): Move to... * gnu/packages/rails.scm (ruby-activesupport): ... here. (%ruby-rails-version, ruby-rails-monorepo): New variables. (ruby-activesupport): Update to 7.0.4.3. [arguments]: Use gexps. Add the delete-gemfiles, chdir, check-setup and delete-problematic-tests phases. Delete check phase override. [native-inputs]: New field. [propagated-inputs]: Remove ruby-zeitwerk. Replace ruby-minitest with ruby-minitest-5.15. [home-page]: Update URL. Maxim Cournoyer