* gnu/packages/databases.scm (mariadb/fixed): New variable.
(mariadb)[replacement]: Graft.
---
gnu/packages/databases.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 8be83f5cbe..6fdb22d7fb 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -734,6 +734,7 @@ Language.")
(append (find-files "extra/wolfssl")
(find-files "zlib")))
#t))))
+ (replacement mariadb/fixed)
(build-system cmake-build-system)
(outputs '("out" "lib" "dev"))
(arguments
@@ -969,6 +970,38 @@ Language.")
as a drop-in replacement of MySQL.")
(license license:gpl2)))
+(define mariadb/fixed
+ (package/inherit mariadb
+ (version "10.5.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.mariadb.com/MariaDB"
+ "/mariadb-" version "/source/mariadb-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1kv8226ydyh4nyfx432dxqdkbry92c92bwlc33f1y56yp2p1kas0"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled snappy and xz.
+ (delete-file-recursively
"storage/tokudb/PerconaFT/third_party")
+ (substitute* "storage/tokudb/PerconaFT/CMakeLists.txt"
+ ;; This file checks that the bundled sources are present
and
+ ;; declares build procedures for them.
+ (("^include\\(TokuThirdParty\\)") ""))
+ (substitute* "storage/tokudb/PerconaFT/ft/CMakeLists.txt"
+ ;; Don't attempt to use the procedures we just removed.
+ ((" build_lzma build_snappy") ""))
+
+ ;; Preserve CMakeLists.txt for these.
+ (for-each (lambda (file)
+ (unless (string-suffix? "CMakeLists.txt" file)
+ (delete-file file)))
+ (append (find-files "extra/wolfssl")
+ (find-files "zlib")))
+ #t))))))
+
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
--
2.31.0