summaryrefslogtreecommitdiff
path: root/gnu/packages/ragel.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-25 22:07:13 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-01-25 22:07:13 -0500
commit1a5302435ff0d2822b823f5a6fe01faa7a85c629 (patch)
treeac7810c88b560532f22d2bab2e59609cd7305c21 /gnu/packages/ragel.scm
parent3ff2ac4980dacf10087e4b42bd9fbc490591900c (diff)
parent070b8a893febd6e7d8b2b7c8c4dcebacf7845aa9 (diff)
Merge branch 'master' into staging.
With "conflicts" solved (all in favor of master except git) in: gnu/local.mk gnu/packages/databases.scm gnu/packages/glib.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/gnuzilla.scm gnu/packages/graphics.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/linux.scm gnu/packages/machine-learning.scm gnu/packages/networking.scm gnu/packages/polkit.scm gnu/packages/pulseaudio.scm gnu/packages/rpc.scm gnu/packages/rust.scm gnu/packages/version-control.scm gnu/packages/w3m.scm
Diffstat (limited to 'gnu/packages/ragel.scm')
-rw-r--r--gnu/packages/ragel.scm29
1 files changed, 28 insertions, 1 deletions
diff --git a/gnu/packages/ragel.scm b/gnu/packages/ragel.scm
index 1d9b67a6e0..d4016ed5ba 100644
--- a/gnu/packages/ragel.scm
+++ b/gnu/packages/ragel.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Simon South <simon@simonsouth.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,7 +23,9 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module (gnu packages))
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base))
(define-public ragel
(package
@@ -36,6 +39,30 @@
(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