[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
06/06: gnu: libdbi-drivers: Adapt to multiple-output MariaDB.
From: |
guix-commits |
Subject: |
06/06: gnu: libdbi-drivers: Adapt to multiple-output MariaDB. |
Date: |
Wed, 18 Dec 2019 16:37:23 -0500 (EST) |
mbakke pushed a commit to branch master
in repository guix.
commit 9077cf68ec57c0303ef7746e203c3fe5ed041add
Author: Marius Bakke <address@hidden>
Date: Wed Dec 18 22:20:07 2019 +0100
gnu: libdbi-drivers: Adapt to multiple-output MariaDB.
* gnu/packages/databases.scm (mariadb/fixed-install-db): New public
variable.
(libdbi-drivers)[inputs]: Add MARIADB:DEV and MARIADB:LIB. Remove MARIADB.
[native-inputs]: Add MARIADB/FIXED-INSTALL-DB.
[arguments]: Adjust accordingly.
---
gnu/packages/databases.scm | 48 ++++++++++++++++++++++++++++++++++++++--------
1 file changed, 40 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index cb84367..0a1a7ec 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <address@hidden>
;;; Copyright © 2016 Andy Patterson <address@hidden>
;;; Copyright © 2016 Danny Milosavljevic <address@hidden>
-;;; Copyright © 2016, 2017, 2018 Marius Bakke <address@hidden>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <address@hidden>
;;; Copyright © 2017, 2018 Julien Lepiller <address@hidden>
;;; Copyright © 2017 Thomas Danckaert <address@hidden>
;;; Copyright © 2017 Jelle Licht <address@hidden>
@@ -125,6 +125,7 @@
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
#:use-module (guix build-system scons)
+ #:use-module (guix build-system trivial)
#:use-module ((guix build utils) #:hide (which))
#:use-module (guix utils)
#:use-module (srfi srfi-1)
@@ -899,6 +900,33 @@ Language.")
as a drop-in replacement of MySQL.")
(license license:gpl2)))
+;; TODO: mysql_install_db is broken in MariaDB. This package is here as
+;; a workaround for packages that need it. Merge with 'mariadb' in the next
+;; rebuild cycle.
+(define-public mariadb/fixed-install-db
+ (hidden-package
+ (package/inherit
+ mariadb
+ (name "mariadb-fixed")
+ (native-inputs '())
+ (inputs
+ `(("mariadb" ,mariadb)
+ ("mariadb:lib" ,mariadb "lib")))
+ (outputs '("out"))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules ((guix build utils)))
+ (let ((out (assoc-ref %outputs "out")))
+ (copy-recursively (assoc-ref %build-inputs "mariadb") out)
+ (substitute* (string-append out "/bin/mysql_install_db")
+ (("\\$basedir/share/mysql")
+ (string-append (assoc-ref %build-inputs "mariadb:lib")
+ "/share/mysql")))
+ #t)))))))
+
;; Don't forget to update the other postgresql packages when upgrading this
one.
(define-public postgresql
(package
@@ -3233,25 +3261,29 @@ simultaneous database connections by using this
framework.")
"0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"))))
(build-system gnu-build-system)
(native-inputs
- `(("inetutils" ,inetutils)
- ("glibc-locales" ,glibc-locales)))
+ `(;; For tests.
+ ("inetutils" ,inetutils)
+ ("glibc-locales" ,glibc-locales)
+ ("mariadb" ,mariadb/fixed-install-db)))
(inputs
`(("libdbi" ,libdbi)
- ("mysql" ,mariadb)
+ ("mariadb:dev" ,mariadb "dev")
+ ("mariadb:lib" ,mariadb "lib")
("postgresql" ,postgresql)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags
(let ((libdbi (assoc-ref %build-inputs "libdbi"))
- (mysql (assoc-ref %build-inputs "mysql"))
+ (mysql:inc (assoc-ref %build-inputs "mariadb:dev"))
+ (mysql:lib (assoc-ref %build-inputs "mariadb:lib"))
(postgresql (assoc-ref %build-inputs "postgresql"))
(sqlite (assoc-ref %build-inputs "sqlite")))
(list "--disable-docs"
(string-append "--with-dbi-incdir=" libdbi "/include")
(string-append "--with-dbi-libdir=" libdbi "/lib")
"--with-mysql"
- (string-append "--with-mysql-incdir=" mysql "/include/mysql")
- (string-append "--with-mysql-libdir=" mysql "/lib")
+ (string-append "--with-mysql-incdir=" mysql:inc
"/include/mysql")
+ (string-append "--with-mysql-libdir=" mysql:lib "/lib")
"--with-pgsql"
(string-append "--with-pgsql-incdir=" postgresql "/include")
(string-append "--with-pgsql-libdir=" postgresql "/lib")
@@ -3265,7 +3297,7 @@ simultaneous database connections by using this
framework.")
(substitute* "tests/test_mysql.sh"
(("^MYMYSQLD=.*")
(string-append "MYMYSQLD="
- (assoc-ref inputs "mysql")
+ (assoc-ref inputs "mariadb")
"/bin/mysqld")))
#t))
(add-after 'install 'remove-empty-directories
- branch master updated (7ebf4c4 -> 9077cf6), guix-commits, 2019/12/18
- 01/06: gnu: Remove uses of deprecated Qemu network configuration., guix-commits, 2019/12/18
- 02/06: gnu: darktable: Fix build failure., guix-commits, 2019/12/18
- 04/06: gnu: darktable: Update to 2.6.3., guix-commits, 2019/12/18
- 03/06: gnu: darktable: Remove redundant inputs., guix-commits, 2019/12/18
- 06/06: gnu: libdbi-drivers: Adapt to multiple-output MariaDB.,
guix-commits <=
- 05/06: gexp: Allow character literals in GEXP->SEXP., guix-commits, 2019/12/18