;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2021 Simon South ;;; ;;; 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 ragel) #:use-module ((guix licenses) #:prefix license:) #: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 base)) (define-public ragel (package (name "ragel") (version "6.10") (source (origin (method url-fetch) (uri (string-append "https://www.colm.net/files/ragel/ragel-" version ".tar.gz")) (sha256 (base32 "0gvcsl62gh6sg73nwaxav4a5ja23zcnyxncdcdnqa2yjcpdnw5az")))) (build-system gnu-build-system) (arguments (if (target-aarch64?) '(#:phases (modify-phases %standard-phases (add-after 'unpack 'apply-char-signedness-fix ;; Apply a backported fix for aarch64-linux, where the C/C++ ;; "char" type is unsigned by default. ;; ;; The patch is applied in this custom phase and not via the ;; "origin" object above to avoid rebuilding a large number of ;; packages on other platforms. (lambda _ (let ((patch (search-input-file %build-inputs "/bin/patch")) (char-signedness-patch (assoc-ref %build-inputs "char-signedness-patch"))) (invoke patch "-p1" "-i" char-signedness-patch)))))) '())) (native-inputs (if (target-aarch64?) `(("char-signedness-patch" ,(search-patch "ragel-char-signedness.patch")) ("patch" ,patch)) '())) (home-page "https://www.colm.net/open-source/ragel/") (synopsis "State machine compiler") (description "Ragel compiles executable finite state machines from regular languages. Ragel targets C, C++, Obj-C, C#, D, Java, Go and Ruby. Ragel state machines can not only recognize byte sequences as regular expression machines do, but can also execute code at arbitrary points in the recognition of a regular language. Code embedding is done using inline operators that do not disrupt the regular language syntax.") ;; GPLv2 (or later) with exception for generated code. (license license:gpl2+))) store/gc.cc (addAdditionalRoots): Remove "/guix" prefix. * nix/nix-daemon/guix-daemon.cc (main): Ditto. Ludovic Courtès 2019-02-04daemon: Remove the 'NIX_SUBSTITUTERS' environment variable....* nix/libstore/globals.cc (Settings:update): Remove changes to 'substituters'. * nix/nix-daemon/guix-daemon.cc (main): Set 'settings.substituters' directly instead of changing the 'NIX_SUBSTITUTERS' environment variable. * build-aux/pre-inst-env.in: Remove reference to 'NIX_SUBSTITUTERS'. Ludovic Courtès 2018-06-14Remove 'guix-register' and its traces....* Makefile.am (SH_TESTS): Remove tests/guix-register.sh. * build-aux/pre-inst-env.in (GUIX_REGISTER): Remove. * gnu/build/install.scm (directives): Remove outdated comment. * gnu/build/vm.scm (root-partition-initializer): Update comment. * gnu/packages/package-management.scm (guix-register): Remove. * guix/config.scm.in (%sbindir, %guix-register-program): Remove. * guix/scripts/system.scm (install): Adjust docstring. * guix/self.scm (make-config.scm): Remove #:guix. Do not generate %sbindir and %guix-register-program. (specification->package): Remove "guix". * nix/guix-register/guix-register.cc: Remove. * nix/libstore/store-api.cc (decodeValidPathInfo): Remove. * nix/libstore/store-api.hh (decodeValidPathInfo): Remove declaration. * nix/local.mk (sbin_PROGRAMS, guix_register_SOURCES) (guix_register_CPPFLAGS, guix_register_LDFLAGS): Remove. * tests/guix-register.sh: Remove. Ludovic Courtès 2017-10-10build: Set 'NIX_BUILD_HOOK' only if offloading is configured....This prevents libstore/build.cc from executing nix/scripts/offload, which is always created by config.status, when offload support is not enabled. * build-aux/pre-inst-env.in: Export 'NIX_BUILD_HOOK' only when configured; unset it otherwise. Eric Bavier 2017-03-08build: Unset 'NIX_BUILD_HOOK' when offloading support is missing....* build-aux/pre-inst-env.in: Export 'NIX_BUILD_HOOK' only when nix/scripts/offload is executable; unset it otherwise. Ludovic Courtès