From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Geerinckx-Rice Subject: bug#32058: [PATCH] gnu: mysql: Fix build. Date: Thu, 16 Aug 2018 01:15:16 +0200 Message-ID: <20180815231516.10758-1-me@tobias.gr> References: <20180705102434.odt3hlp3ghsxsmfs@abyayala> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41858) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fq51K-0003xy-25 for bug-guix@gnu.org; Wed, 15 Aug 2018 19:16:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fq51G-0000hi-Qi for bug-guix@gnu.org; Wed, 15 Aug 2018 19:16:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:47114) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fq51G-0000hc-Ib for bug-guix@gnu.org; Wed, 15 Aug 2018 19:16:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fq51G-00020v-9r for bug-guix@gnu.org; Wed, 15 Aug 2018 19:16:02 -0400 In-Reply-To: <20180705102434.odt3hlp3ghsxsmfs@abyayala> Sender: "Debbugs-submit" Resent-Message-ID: List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 32058@debbugs.gnu.org MySQL demands boost@1.59.0, and lying about it no longer works: sql/item_geofunc_internal.cc: In function ‘void handle_gis_exception(const char*)’: sql/item_geofunc_internal.cc:37:81: error: expected unqualified-id before ‘&’ token catch (const boost::geometry::detail::self_get_turn_points::self_ip_exception &) ^ [...] * gnu/packages/databases.scm (boost-for-mysql): New variable. (mysql)[inputs]: Use that instead of the regular boost. [arguments]: Remove now-unnecessary ‘patch-boost-version’ phase. --- ng0, Ricardo, I went on holiday and forgot about this bug. A healthy sign. Here's the straightforward fix to unbreak the current build. I suggest we get 5.x working soon (I'll bump it to 5.7.23 if this fix is acceptable) and update to 8.x later, when/if somebody's willing to work on it. I'm not. Kind regards, T G-R gnu/packages/databases.scm | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 87c925a6b..cb77edeaf 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -548,6 +548,22 @@ RDBMS systems (which are deep in functionality).") ;; Some parts are licensed under the Apache License license:asl2.0)))) +(define boost-for-mysql + (package + (inherit boost) + (version "1.59.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/boost/boost/" version "/boost_" + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) + ".tar.bz2")) + (sha256 + (base32 + "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj")))))) + +;; XXX When updating, check whether boost-for-mysql is still needed. +;; It might suffice to patch ‘cmake/boost.cmake’ as done in the past. (define-public mysql (package (name "mysql") @@ -588,15 +604,6 @@ RDBMS systems (which are deep in functionality).") "-DINSTALL_MYSQLTESTDIR=" "-DINSTALL_SQLBENCHDIR=") #:phases (modify-phases %standard-phases - (add-after - 'unpack 'patch-boost-version - (lambda _ - ;; Mysql wants boost-1.59.0 specifically - (substitute* "cmake/boost.cmake" - (("59") - ,(match (string-split (package-version boost) #\.) - ((_ minor . _) minor)))) - #t)) (add-after 'install 'remove-extra-binaries (lambda* (#:key outputs #:allow-other-keys) @@ -611,7 +618,7 @@ RDBMS systems (which are deep in functionality).") `(("bison" ,bison) ("perl" ,perl))) (inputs - `(("boost" ,boost) + `(("boost" ,boost-for-mysql) ("libaio" ,libaio) ("ncurses" ,ncurses) ("openssl" ,openssl) -- 2.18.0