;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2021, 2022 Greg Hogan ;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; 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 ccache) #:use-module (guix gexp) #:use-module (guix packages) #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages ruby)) (define-public ccache (package (name "ccache") (version "4.7.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/ccache/ccache/releases/download/v" version "/ccache-" version ".tar.xz")) (sha256 (base32 "0djfm138m863g772bnq7m2mfwh3y8sqxczc3yssg1yiybp8n836z")))) (build-system cmake-build-system) (arguments (list #:configure-flags ;; The backend must be explicitly disabled to build without Redis. #~(list "-DREDIS_STORAGE_BACKEND=OFF") #:phases #~(modify-phases %standard-phases (add-before 'configure 'fix-shell ;; Run early whilst we're still in the source directory. (lambda _ (substitute* (list "test/run" "test/suites/base.bash" "unittest/test_hashutil.cpp") (("compgen -e") "env | cut -d= -f1") (("#!/bin/sh") (string-append "#!" (which "sh")))))) (add-before 'check 'set-home ;; Tests require a writable HOME. (lambda _ (setenv "HOME" (getenv "TMPDIR"))))))) (native-inputs (list perl ruby-asciidoctor which)) (inputs (list zlib `(,zstd "lib"))) (home-page "https://ccache.dev/") (synopsis "Compiler cache") (description "Ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again. Supported languages are C, C++, Objective-C and Objective-C++.") (license gpl3+))) '>ui: (size->number "1.M") is correctly parsed....Reported by Pierre Neidhardt <mail@ambrevar.xyz>. * guix/ui.scm (size->number)[unit-pos]: Add #\. to CHAR-SET:DIGIT. * tests/ui.scm ("size->number, 1.M"): New test. Ludovic Courtès 2019-09-19ui: 'relevance' connects regexps with a logical and....Fixes <https://bugs.gnu.org/36763>. Previously, the logical and connecting the regexps did not output the expected results (introduced in 8874faaaac665100a095ef25e39c9a389f5a397f). * guix/ui.scm (relevance) [score]: Change its arguments. [regexp->score]: New procedure. * tests/ui.scm ("package-relevance"): Add test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun 2019-06-27ui: 'relevance' considers regexps connected with a logical and....* guix/ui.scm (relevance)[score]: Change to return 0 when one of REGEXPS doesn't match. * tests/ui.scm ("package-relevance"): New test. Ludovic Courtès