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)))

Reply via email to