diff options
Diffstat (limited to 'gnu/packages/databases.scm')
-rw-r--r-- | gnu/packages/databases.scm | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bb7adf25a6..ca2ca9bda0 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -647,9 +647,11 @@ Language.") (find-files "pcre") (find-files "zlib"))) #t)))) (build-system cmake-build-system) + (outputs '("out" "lib" "dev")) (arguments `(#:configure-flags - '("-DBUILD_CONFIG=mysql_release" + (list + "-DBUILD_CONFIG=mysql_release" ;; Linking with libarchive fails, like this: ;; ld: /gnu/store/...-libarchive-3.2.2/lib/libarchive.a(archive_entry.o): @@ -673,15 +675,26 @@ Language.") "-DDEFAULT_COLLATION=utf8_general_ci" "-DMYSQL_DATADIR=/var/lib/mysql" "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" - "-DINSTALL_INFODIR=share/mysql/docs" - "-DINSTALL_MANDIR=share/man" + (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "lib")) + (string-append "-DCMAKE_INSTALL_RPATH=" (assoc-ref %outputs "lib") + "/lib") + (string-append "-DINSTALL_INFODIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_MANDIR=" (assoc-ref %outputs "out") + "/share/man") + (string-append "-DINSTALL_SCRIPTDIR=" (assoc-ref %outputs "out") "/bin") + (string-append "-DINSTALL_BINDIR=" (assoc-ref %outputs "out") "/bin") + "-DCMAKE_INSTALL_LIBDIR=lib" "-DINSTALL_PLUGINDIR=lib/mysql/plugin" - "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_DOCREADMEDIR=share/mysql/docs" - "-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files" + (string-append "-DINSTALL_INCLUDEDIR=" (assoc-ref %outputs "dev") + "/include/mysql") + (string-append "-DINSTALL_DOCREADMEDIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_DOCDIR=" (assoc-ref %outputs "out") + "/share/mysql/docs") + (string-append "-DINSTALL_SUPPORTFILESDIR=" (assoc-ref %outputs "out") + "/share/mysql/support-files") "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_DOCDIR=share/mysql/docs" "-DINSTALL_SHAREDIR=share") #:phases (modify-phases %standard-phases @@ -764,19 +777,29 @@ Language.") 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (test (assoc-ref outputs "test"))) + (dev (assoc-ref outputs "dev")) + (lib (assoc-ref outputs "lib"))) (substitute* (string-append out "/bin/mysql_install_db") (("basedir=\"\"") (string-append "basedir=\"" out "\""))) ;; Remove unneeded files for testing. - (with-directory-excursion out + (with-directory-excursion lib (for-each delete-file-recursively - '("data" "mysql-test" "sql-bench" - "share/man/man1/mysql-test-run.pl.1")) - ;; Delete huge and unnecessary executables. - (for-each delete-file (find-files "bin" "(test|embedded)")) + '("data" "mysql-test" "sql-bench")) ;; And static libraries. (for-each delete-file (find-files "lib" "\\.a$"))) + (with-directory-excursion out + (delete-file "share/man/man1/mysql-test-run.pl.1") + ;; Delete huge and unnecessary executables. + (for-each delete-file (find-files "bin" "(test|embedded)"))) + (mkdir-p (string-append dev "/share")) + (mkdir-p (string-append dev "/bin")) + (rename-file (string-append lib "/bin/mysqld") + (string-append out "/bin/mysqld")) + (rename-file (string-append lib "/share/pkgconfig") + (string-append dev "/share/pkgconfig")) + (rename-file (string-append out "/bin/mysql_config") + (string-append dev "/bin/mysql_config")) #t)))))) (native-inputs `(("bison" ,bison) @@ -1544,7 +1567,8 @@ columns, primary keys, unique constraints and relationships.") #:tests? #f)) (propagated-inputs `(("perl-dbi" ,perl-dbi) - ("mysql" ,mariadb))) + ("mysql" ,mariadb "lib") + ("mysql-dev" ,mariadb "dev"))) (home-page "https://metacpan.org/release/DBD-mysql") (synopsis "DBI MySQL interface") (description "This package provides a MySQL driver for the Perl5 @@ -2662,7 +2686,8 @@ database).") ("mock" ,python-mock) ("py.test" ,python-pytest))) (inputs - `(("mysql" ,mariadb) + `(("mysql" ,mariadb "lib") + ("mysql-dev" ,mariadb "dev") ("libz" ,zlib) ("openssl" ,openssl))) (home-page "https://github.com/PyMySQL/mysqlclient-python") |