From c5aaf1d071da799f6b3b4e87521a2a33d7ae41c2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 11 Feb 2022 00:55:55 +0100 Subject: gnu: re2: Use G-expressions. * gnu/packages/regex.scm (re2)[arguments]: Rewrite with gexps. Simplify cross-compilation fix by using CXX-FOR-TARGET. --- gnu/packages/regex.scm | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) (limited to 'gnu/packages/regex.scm') diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 662bf435db..616c56cc6e 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016, 2020 Marius Bakke +;;; Copyright © 2016, 2020, 2022 Marius Bakke ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Brett Gilio ;;; @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix build-system gnu) #:use-module (guix utils)) @@ -42,29 +43,17 @@ "1gzdqy5a0ln9rwd8kmwbgis6qin63hapicwb35xkbnj3y84jj6yx")))) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:test-target "test" - ;; There is no configure step, but the Makefile respects a prefix. - ;; As ./configure does not know anything about the target CXX - ;; we need to specify TARGET-g++ explicitly. - #:make-flags (list (string-append "prefix=" %output) - (string-append - "CXX=" ,(string-append - (if (%current-target-system) - (string-append - (%current-target-system) "-") - "") - "g++"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'install 'delete-static-library - (lambda* (#:key outputs #:allow-other-keys) - ;; No make target for shared-only; delete the static version. - (delete-file (string-append (assoc-ref outputs "out") - "/lib/libre2.a"))))))) + (list #:test-target "test" + ;; There is no configure step, but the Makefile respects a prefix. + #:make-flags #~(list (string-append "prefix=" #$output) + (string-append "CXX=" #$(cxx-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'install 'delete-static-library + (lambda _ + ;; No make target for shared-only; delete the static version. + (delete-file (string-append #$output "/lib/libre2.a"))))))) (synopsis "Fast, safe, thread-friendly regular expression engine") (description "RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl and -- cgit v1.2.3