From 94cf36763491cfd7155a058e0354da5a422a07b2 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Mon, 25 Jan 2021 17:35:27 +0000 Subject: [PATCH] gnu: boost: Patch transitive linking bug. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/boost-fix-transitive-linking.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/boost.scm (boost)[source]: Use it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 ++ gnu/packages/boost.scm | 3 +++ .../patches/boost-fix-transitive-linking.patch | 16 ++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 gnu/packages/patches/boost-fix-transitive-linking.patch diff --git a/gnu/local.mk b/gnu/local.mk index f84f859bdf..0e8e9c37b9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -40,6 +40,7 @@ # Copyright © 2020 Malte Frank Gerdes # Copyright © 2020 Vinicius Monego # Copyright © 2021 Björn Höfling +# Copyright © 2021 Greg Hogan # # This file is part of GNU Guix. # @@ -866,6 +867,7 @@ dist_patch_DATA = \ %D%/packages/patches/blender-2.79-oiio2.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/blender-2.79-python-3.8-fix.patch \ + %D%/packages/patches/boost-fix-transitive-linking.patch \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 1db173bd16..bc0e95b1ba 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Jonathan Brielmaier ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2021 Greg Hogan ;;; ;;; This file is part of GNU Guix. ;;; @@ -68,6 +69,8 @@ (define-public boost (uri (string-append "https://dl.bintray.com/boostorg/release/" version "/source/boost_" (version-with-underscores version) ".tar.bz2")) + ; Should be included in next Boost update + (patches (search-patches "boost-fix-transitive-linking.patch")) (sha256 (base32 "1js9zpij58l60kx46s3lxdp5207igppjnhqigwhbpdvd04gb6gcm")))) diff --git a/gnu/packages/patches/boost-fix-transitive-linking.patch b/gnu/packages/patches/boost-fix-transitive-linking.patch new file mode 100644 index 0000000000..a42feab109 --- /dev/null +++ b/gnu/packages/patches/boost-fix-transitive-linking.patch @@ -0,0 +1,16 @@ +Patch from https://github.com/boostorg/boost_install/issues/47 +which should be included in the Boost 1.76 release. + +This patch prevents CMake from explicitly linking against Boost dependencies +when building against the shared Boost libraries. +--- a/tools/boost_install/boost-install.jam ++++ b/tools/boost_install/boost-install.jam +@@ -483,7 +483,7 @@ rule generate-cmake-variant- ( target : sources * : properties * ) + + .info " deps3=" $(deps3) ; + +- if $(deps3) ++ if $(deps3) && $(link) = static + { + print.text +