Skip to content

Commit b7407d8

Browse files
authored
shibboleth-sp: fix build for Clang >=19 (#407919)
2 parents ee30312 + 4060d5d commit b7407d8

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

pkgs/by-name/sh/shibboleth-sp/package.nix

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
lib,
33
stdenv,
44
fetchgit,
5+
fetchpatch,
56
autoreconfHook,
67
boost,
78
fcgi,
@@ -24,6 +25,26 @@ stdenv.mkDerivation rec {
2425
sha256 = "1qb4dbz5gk10b9w1rf6f4vv7c2wb3a8bfzif6yiaq96ilqad7gdr";
2526
};
2627

28+
# Upgrade to Clang 19 (and thereby LLVM19) causes `std::char_traits` to now be present,
29+
# making `char_traits` references ambiguous due to both `std` and `xmltooling` exporting this symbol,
30+
# and the file in question uses both `using namespace std;` and `using namespace xmltooling;`
31+
# The patches below result in `xmltooling` being removed.
32+
# As `char_traits` is a compile time construct, no runtime repercussions can stem from this.
33+
# See https://shibboleth.atlassian.net/browse/SSPCPP-998 for a related discussion.
34+
patches = lib.optionals (stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "19") [
35+
(fetchpatch {
36+
name = "char-traits-ambig-1";
37+
url = "https://git.shibboleth.net/view/?p=cpp-sp.git;a=blobdiff_plain;f=shibsp/util/IPRange.cpp;h=532cf9e94c915667c091d127c696979f63939eb5;hp=d6f00bc36ea25997817a2308314bcdbea572936f;hb=49cd05fa6d9935a45069fa555db7a26ca77d23db;hpb=293ff2ab6454b0946b3b03719efa132bff461f1f";
38+
hash = "sha256-ZF0jsZJoHaxaPPjVbT6Wlq+wjyPQLTnEKcUxONji/hE=";
39+
})
40+
41+
(fetchpatch {
42+
name = "char-traits-ambig-2";
43+
url = "https://git.shibboleth.net/view/?p=cpp-sp.git;a=blobdiff_plain;f=shibsp/util/IPRange.cpp;h=da954870eb03c7cd054ecc5c52a6c1f011787760;hp=354010d5f5e533262cb385ea16756df53fe0c241;hb=793663a67aaa4e9a4aa9172728d924f8cec45cf6;hpb=a43814935030930c49b7a08f5515b861906525c7";
44+
hash = "sha256-4iGwCGpGwAkriOwQmh5AgvHLX1o39NuQ2l4sAJbD2bc=";
45+
})
46+
];
47+
2748
nativeBuildInputs = [
2849
autoreconfHook
2950
pkg-config

0 commit comments

Comments
 (0)