From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39698) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fgTkY-0002Tc-Ma for guix-patches@gnu.org; Fri, 20 Jul 2018 07:39:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fgTkX-0001fh-Bh for guix-patches@gnu.org; Fri, 20 Jul 2018 07:39:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:43877) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fgTkX-0001fb-7J for guix-patches@gnu.org; Fri, 20 Jul 2018 07:39:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fgTkX-0007R4-0c for guix-patches@gnu.org; Fri, 20 Jul 2018 07:39:05 -0400 Subject: [bug#32221] [PATCH 4/5] gnu: mariadb: Remove some bundled libraries. Resent-Message-ID: From: Marius Bakke Date: Fri, 20 Jul 2018 13:38:36 +0200 Message-Id: <20180720113837.29412-4-mbakke@fastmail.com> In-Reply-To: <20180720113837.29412-1-mbakke@fastmail.com> References: <20180720113837.29412-1-mbakke@fastmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 32221@debbugs.gnu.org * gnu/packages/databases.scm (mariadb)[source](snippet, modules): New fields. [arguments]: Add explicit #:configure-flags for system libraries. Add 'unbundle' phase. Remove 'pre-configure' phase. [inputs]: Add SNAPPY and XZ. --- gnu/packages/databases.scm | 43 ++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 3b767664a..de1db2f93 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -635,7 +635,16 @@ Language.") name "-" version ".tar.gz")) (sha256 (base32 - "0j2mdpyvj41vkq2rwrzky88b7170hzz6gy2vb2bc1447s2gp3q67")))) + "0j2mdpyvj41vkq2rwrzky88b7170hzz6gy2vb2bc1447s2gp3q67")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "storage/tokudb/PerconaFT/third_party") + (for-each (lambda (file) + (unless (string-suffix? "CMakeLists.txt" file) + (delete-file file))) + (append (find-files "pcre") (find-files "zlib"))) + #t)))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -649,6 +658,11 @@ Language.") ;; For now, disable the features that that use libarchive (xtrabackup). "-DWITH_LIBARCHIVE=OFF" + ;; Ensure the system libraries are used. + "-DWITH_JEMALLOC=yes" + "-DWITH_PCRE=system" + "-DWITH_ZLIB=system" + "-DDEFAULT_CHARSET=utf8" "-DDEFAULT_COLLATION=utf8_general_ci" "-DMYSQL_DATADIR=/var/lib/mysql" @@ -665,6 +679,26 @@ Language.") "-DINSTALL_SHAREDIR=share/mysql") #:phases (modify-phases %standard-phases + (add-after 'unpack 'unbundle + (lambda _ + ;; The bundled PCRE in MariaDB has a patch that was upstreamed + ;; in version 8.34. Unfortunately the upstream patch behaves + ;; slightly differently and the build system fails to detect it. + ;; See . + ;; XXX: Consider patching PCRE instead. + (substitute* "cmake/pcre.cmake" + ((" OR NOT PCRE_STACK_SIZE_OK") "")) + + (substitute* "storage/tokudb/PerconaFT/ft/CMakeLists.txt" + ;; Remove dependency on these CMake targets. + ((" build_lzma build_snappy") "")) + + (substitute* "storage/tokudb/PerconaFT/CMakeLists.txt" + ;; This file checks that the bundled sources are present and + ;; declares build procedures for them. We don't need that. + (("^include\\(TokuThirdParty\\)") "")) + + #t)) (add-after 'unpack 'adjust-tests (lambda _ (let ((disabled-tests @@ -703,11 +737,6 @@ Language.") "disks"))) (for-each disable-plugin disabled-plugins) #t))) - (add-before - 'configure 'pre-configure - (lambda _ - (setenv "CONFIG_SHELL" (which "sh")) - #t)) (replace 'check (lambda _ (with-directory-excursion "mysql-test" @@ -737,6 +766,8 @@ Language.") ("ncurses" ,ncurses) ("openssl" ,openssl) ("pcre" ,pcre) + ("snappy" ,snappy) + ("xz" ,xz) ("zlib" ,zlib))) ;; The test suite is very resource intensive and can take more than three ;; hours on a x86_64 system. Give slow and busy machines some leeway. -- 2.18.0