;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2019 Ludovic Courtès ;;; Copyright © 2016 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 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 `(("help2man" ,help2man) ("m4" ,m4))) (propagated-inputs `(("m4" ,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.")))) u/packages/mingw.scm (mingw-w64-tools): Update to 12.0.0. [arguments]: Remove genlib phases. Change-Id: Ia9060ddb1795ca2941a13435485841dbee0c1200 Signed-off-by: Christopher Baines <mail@cbaines.net> 2024-07-15gnu: mingw-w64-tools: Use G-Expressions.Jean-Pierre De Jesus DIAZ * gnu/packages/mingw.scm (mingw-w64-tools): Use G-Expressions. Change-Id: I690d0aeae6c6920d2e3eb43732d6b421a3dfc59b Signed-off-by: Christopher Baines <mail@cbaines.net> 2024-07-15gnu: make-mingw-w64: Update to 12.0.0.Jean-Pierre De Jesus DIAZ * gnu/packages/mingw.scm (make-mingw-w64): Update to 12.0.0. * gnu/packages/patches/mingw-w64-6.0.0-gcc.patch: Delete patch. * gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch: Delete patch. * gnu/packages/patches/mingw-w64-reproducible-gendef.patch: Delete patch. * gnu/local.mk: Unregister patches. Change-Id: Id9d7d17926280b21016a7217da44004e06e436cd Signed-off-by: Christopher Baines <mail@cbaines.net> 2024-07-15gnu: make-mingw-w64: Use G-Expressions.Jean-Pierre De Jesus DIAZ * gnu/packages/mingw.scm (make-mingw-w64): Use G-Expressions and move some arguments above phases. Change-Id: Ie095dceac635f19f146895c8e3f36d9889108a9a Signed-off-by: Christopher Baines <mail@cbaines.net> 2024-07-15gnu: make-mingw-w64: Memoize.Jean-Pierre De Jesus DIAZ * gnu/packages/mingw.scm (make-mingw-w64): Memoize. Change-Id: Id5653c79e2d6268f6d8200f0f658b27169eab7c5 Signed-off-by: Christopher Baines <mail@cbaines.net> 2023-09-17gnu: Remove extraneous imports.Maxim Cournoyer Found by running 'guild compile -W3 gnu/packages/$module.scm', using guild from the upcoming Guile. * gnu/packages/admin.scm: Remove extraneous imports. * gnu/packages/avr.scm: Likewise. * gnu/packages/base.scm: Likewise. * gnu/packages/bootloaders.scm: Likewise. * gnu/packages/firmware.scm: Likewise. * gnu/packages/linphone.scm: Likewise. * gnu/packages/telephony.scm: Likewise. * gnu/packages/cran.scm: Likewise. * gnu/packages/kde.scm: Likewise. * gnu/packages/libcanberra.scm: Likewise. * gnu/packages/libreoffice.scm: Likewise. * gnu/packages/mes.scm: Likewise. * gnu/packages/mingw.scm: Likewise. * gnu/packages/serialization.scm: Likewise. * gnu/packages/sync.scm: Likewise. * gnu/packages/syncthing.scm: Likewise. * gnu/packages/terminals.scm: Likewise. * gnu/packages/version-control.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/wm.scm: Likewise. * gnu/packages/emulators.scm: Likewise. Reviewed-by: Ludovic Courtès <ludo@gnu.org>