summaryrefslogtreecommitdiff
path: root/gnu/packages/databases.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-28 11:00:49 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-28 15:08:07 +0200
commit5193ae64ca0c3322364163d356a6d69173c3d233 (patch)
tree867d7d12c1e48ce441db5dbf97e9343018e12b34 /gnu/packages/databases.scm
parent346a632144b89f45b3966732edacc2bfa07126a7 (diff)
gnu: mariadb: Work around GCC ICE on armhf-linux.
* gnu/packages/patches/mariadb-gcc-ice.patch: New file. * gnu/packages/databases.scm (mariadb)[arguments]: Conditionally add 'apply-patch' phase. [native-inputs]: Conditionally add "gcc-ice-patch" input.
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r--gnu/packages/databases.scm19
1 files changed, 17 insertions, 2 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 382c74cfd9..1433ca59c6 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -638,7 +638,7 @@ Language.")
"0bax748j4srsyhw5cs5jvwigndh0zwmf4r2cjvhja31ckx8jqccl"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
+ `(#:configure-flags
'("-DBUILD_CONFIG=mysql_release"
;; Linking with libarchive fails, like this:
@@ -665,6 +665,18 @@ Language.")
"-DINSTALL_SHAREDIR=share/mysql")
#:phases
(modify-phases %standard-phases
+
+ ;; Apply this patch that's only needed on ARM.
+ ,@(if (and (not (%current-target-system))
+ (string=? "armhf-linux" (%current-system)))
+ `((add-after 'unpack 'apply-patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch (assoc-ref inputs "gcc-ice-patch")))
+ (invoke "patch" "-p1" "--force"
+ "--input" patch)
+ #t))))
+ '())
+
(add-before
'configure 'pre-configure
(lambda _
@@ -686,7 +698,10 @@ Language.")
#t))))))
(native-inputs
`(("bison" ,bison)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ,@(if (string=? "armhf-linux" (%current-system))
+ `(("gcc-ice-patch" ,(search-patch "mariadb-gcc-ice.patch")))
+ '())))
(inputs
`(("jemalloc" ,jemalloc)
("libaio" ,libaio)