From 939c5b2cb6952cd8549bf17d6fd3bcbfb582f0bd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 10 Dec 2019 16:19:23 +0100 Subject: [PATCH] gnu: MariaDB: Do not propagate OpenSSL. * gnu/packages/databases.scm (mariadb)[propagated-inputs]: Remove. [inputs]: Add OPENSSL-1.0. [arguments]: Add absolute references to OpenSSL in "post-install" phase. --- gnu/packages/databases.scm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 23c5ed32e0..0f04647a73 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -851,10 +851,11 @@ Language.") #t)) (add-after 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (dev (assoc-ref outputs "dev")) - (lib (assoc-ref outputs "lib"))) + (lib (assoc-ref outputs "lib")) + (openssl (assoc-ref inputs "openssl"))) (substitute* (string-append out "/bin/mysql_install_db") (("basedir=\"\"") (string-append "basedir=\"" out "\""))) @@ -876,6 +877,14 @@ Language.") (string-append dev "/share/pkgconfig")) (rename-file (string-append out "/bin/mysql_config") (string-append dev "/bin/mysql_config")) + + ;; Embed an absolute reference to OpenSSL in mysql_config + ;; and the pkg-config file to avoid propagation. + (substitute* (list (string-append dev "/bin/mysql_config") + (string-append dev "/share/pkgconfig/mariadb.pc")) + (("-lssl -lcrypto" all) + (string-append "-L" openssl "/lib " all))) + #t)))))) (native-inputs `(("bison" ,bison) @@ -889,13 +898,11 @@ Language.") ("libaio" ,libaio) ("libxml2" ,libxml2) ("ncurses" ,ncurses) + ("openssl" ,openssl-1.0) ("pam" ,linux-pam) ("pcre" ,pcre) ("xz" ,xz) ("zlib" ,zlib))) - (propagated-inputs - ;; mariadb.pc says -lssl -lcrypto, so propagate it. - `(("openssl" ,openssl-1.0))) ;; 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. (properties '((timeout . 64800))) ;18 hours