Skip to content

Commit

Permalink
Merge pull request #240642 from reckenrode/boost-clang16
Browse files Browse the repository at this point in the history
boost{175,176,177,178,179,180}: clang 16 and libc++ 15 fixes
  • Loading branch information
wegank authored Jun 30, 2023
2 parents 717fa71 + cec7b5e commit fe35cda
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion pkgs/development/libraries/boost/generic.nix
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,29 @@ stdenv.mkDerivation {
url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
relative = "include";
sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
});
})
# This fixes another issue regarding ill-formed constant expressions, which is a default error
# in clang 16 and will be a hard error in clang 17.
++ lib.optional (lib.versionOlder version "1.80") (fetchpatch {
url = "https://github.com/boostorg/log/commit/77f1e20bd69c2e7a9e25e6a9818ae6105f7d070c.patch";
relative = "include";
hash = "sha256-6qOiGJASm33XzwoxVZfKJd7sTlQ5yd+MMFQzegXm5RI=";
})
++ lib.optionals (lib.versionOlder version "1.81") [
# libc++ 15 dropped support for `std::unary_function` and `std::binary_function` in C++17+.
# C++17 is the default for clang 16, but clang 15 is also affected in that language mode.
# This patch is for Boost 1.80, but it also applies to earlier versions.
(fetchpatch {
url = "https://www.boost.org/patches/1_80_0/0005-config-libcpp15.patch";
hash = "sha256-ULFMzKphv70unvPZ3o4vSP/01/xbSM9a2TlIV67eXDQ=";
})
# This fixes another ill-formed contant expressions issue flagged by clang 16.
(fetchpatch {
url = "https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a.patch";
relative = "include";
hash = "sha256-dq4SVgxkPJSC7Fvr59VGnXkM4Lb09kYDaBksCHo9C0s=";
})
];

meta = with lib; {
homepage = "http://boost.org/";
Expand Down

0 comments on commit fe35cda

Please sign in to comment.