mbakke pushed a commit to branch core-updates in repository guix. commit 4788c1ae17feda6a9a6e6897e499fcc1cc49fc73 Author: Marius Bakke <mba...@fastmail.com> Date: Thu Jul 18 16:47:11 2019 +0200
gnu: innoextract: Fix build with Boost 1.70 and GCC 7. * gnu/packages/compression.scm (innoextract)[arguments]: Add <#:configure-flags> and <#:phases>. --- gnu/packages/compression.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 1321791..11cc00d 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <m...@tobias.gr> ;;; Copyright © 2016 David Craven <da...@craven.ch> ;;; Copyright © 2016, 2019 Kei Kebreau <kkebr...@posteo.net> -;;; Copyright © 2016, 2018 Marius Bakke <mba...@fastmail.com> +;;; Copyright © 2016, 2018, 2019 Marius Bakke <mba...@fastmail.com> ;;; Copyright © 2017 ng0 <n...@n0.is> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis...@gmail.com> ;;; Copyright © 2017 Theodoros Foradis <theodo...@foradis.org> @@ -1793,7 +1793,21 @@ single-member files which can't be decompressed in parallel.") (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ;; No tests available. + `(#:tests? #f + ;; XXX: Work around a problem with the CMake support in Boost 1.70: + ;; <https://github.com/dscharrer/innoextract/issues/88>. + #:configure-flags '("-DBoost_NO_BOOST_CMAKE=ON") + #:phases (modify-phases %standard-phases + (add-before 'configure 'glibc-is-already-a-system-library + (lambda _ + ;; Prevent the build system from passing the glibc + ;; header files to GCC as "system headers", because + ;; it conflicts with the system headers already known + ;; to GCC, causing #include_next failures. + (substitute* "CMakeLists.txt" + (("include_directories\\(SYSTEM \\$\\{iconv") + "include_directories(${iconv")) + #t))))) (inputs `(("boost" ,boost) ("libiconv" ,libiconv) ("xz" ,xz)))