summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMichael Kuhn <michael.kuhn@informatik.uni-hamburg.de>2019-12-11 19:22:59 +0100
committerAdam J. Stewart <ajstewart426@gmail.com>2019-12-11 12:22:59 -0600
commit927f49630639122d0051ec6c05602000be6ed98d (patch)
treefd68278d1bcd6a627025b0c890156b31289577b0 /var
parentf2979da2afb1f9a5ce58d38012eeefbcc223d6a6 (diff)
downloadspack-927f49630639122d0051ec6c05602000be6ed98d.tar.gz
spack-927f49630639122d0051ec6c05602000be6ed98d.tar.bz2
spack-927f49630639122d0051ec6c05602000be6ed98d.tar.xz
spack-927f49630639122d0051ec6c05602000be6ed98d.zip
doxygen: Fix libiconv checks (#14106)
PR #10589 introduced a libiconv dependency to doxygen. This causes problems on Linux systems, since the iconv symbols are included in libc, which causes CMake to use the external header but not the external library. Work around this by always using the external libiconv.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/doxygen/package.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/doxygen/package.py b/var/spack/repos/builtin/packages/doxygen/package.py
index a39d8b4eeb..5084b16b10 100644
--- a/var/spack/repos/builtin/packages/doxygen/package.py
+++ b/var/spack/repos/builtin/packages/doxygen/package.py
@@ -43,3 +43,13 @@ class Doxygen(CMakePackage):
# https://github.com/Sleepyowl/doxygen/commit/6c380ba91ae41c6d5c409a5163119318932ae2a3?diff=unified
# Also - https://github.com/doxygen/doxygen/pull/6588
patch('shared_ptr.patch', when='@1.8.14')
+
+ def patch(self):
+ # On Linux systems, iconv is provided by libc. Since CMake finds the
+ # symbol in libc, it does not look for libiconv, which leads to linker
+ # errors. This makes sure that CMake always looks for the external
+ # libconv instead.
+ filter_file('check_function_exists(iconv_open ICONV_IN_GLIBC)',
+ 'set(ICONV_IN_GLIBC FALSE)',
+ join_path('cmake', 'FindIconv.cmake'),
+ string=True)