gnu: re2: Use G-expressions.

* gnu/packages/regex.scm (re2)[arguments]: Rewrite with gexps.  Simplify
cross-compilation fix by using CXX-FOR-TARGET.
This commit is contained in:
Marius Bakke 2022-02-11 00:55:55 +01:00
parent e2c8868301
commit c5aaf1d071
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;;
@ -25,6 +25,7 @@ (define-module (gnu packages regex)
#: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 @@ (define-public re2
"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