lol

llvmPackages: llvmPackages_{16,18} -> llvmPackages_19 (#354107)

authored by

Emily and committed by
GitHub
d1e5e11a fe909b39

+1062 -142
+19
pkgs/applications/networking/browsers/firefox/common.nix
··· 254 254 hash = "sha256-2IpdSyye3VT4VB95WurnyRFtdN1lfVtYpgEiUVhfNjw="; 255 255 }) 256 256 ] 257 + ++ [ 258 + # LLVM 19 turned on WASM reference types by default, exposing a bug 259 + # that broke the Mozilla WASI build. Supposedly, it has been fixed 260 + # upstream in LLVM, but the build fails in the same way for us even 261 + # with LLVM 19 versions that contain the upstream patch. 262 + # 263 + # Apply the temporary patch Mozilla used to work around this bug 264 + # for now until someone can investigate what’s going on here. 265 + # 266 + # TODO: Please someone figure out what’s up with this. 267 + # 268 + # See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1905251> 269 + # See: <https://github.com/llvm/llvm-project/pull/97451> 270 + (fetchpatch { 271 + name = "wasi-sdk-disable-reference-types.patch"; 272 + url = "https://hg.mozilla.org/integration/autoland/raw-rev/23a9f6555c7c"; 273 + hash = "sha256-CRywalJlRMFVLITEYXxpSq3jLPbUlWKNRHuKLwXqQfU="; 274 + }) 275 + ] 257 276 ++ extraPatches; 258 277 259 278 postPatch = ''
-4
pkgs/build-support/bintools-wrapper/default.nix
··· 343 343 done 344 344 '' 345 345 346 - + optionalString targetPlatform.isDarwin '' 347 - echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags 348 - '' 349 - 350 346 ## 351 347 ## GNU specific extra strip flags 352 348 ##
-4
pkgs/build-support/cc-wrapper/default.nix
··· 696 696 done 697 697 '' 698 698 699 - + optionalString targetPlatform.isDarwin '' 700 - echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags 701 - '' 702 - 703 699 + optionalString targetPlatform.isAndroid '' 704 700 echo "-D__ANDROID_API__=${targetPlatform.androidSdkVersion}" >> $out/nix-support/cc-cflags 705 701 ''
+4
pkgs/by-name/gs/gss/package.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , fetchurl 4 + , autoreconfHook 5 + , gtk-doc 4 6 , withShishi ? !stdenv.hostPlatform.isDarwin 5 7 , shishi 6 8 }: ··· 19 21 postPatch = '' 20 22 rm tests/krb5context.c 21 23 ''; 24 + 25 + nativeBuildInputs = [ autoreconfHook gtk-doc ]; 22 26 23 27 buildInputs = lib.optional withShishi shishi; 24 28
+9 -3
pkgs/by-name/mj/mjpegtools/package.nix
··· 16 16 sha256 = "sha256-sYBTbX2ZYLBeACOhl7ANyxAJKaSaq3HRnVX0obIQ9Jo="; 17 17 }; 18 18 19 - # Clang 16 defaults to C++17. `std::auto_ptr` has been removed from C++17, and the 20 - # `register` type class specifier is no longer allowed. 21 - patches = [ ./c++-17-fixes.patch ]; 19 + patches = [ 20 + # Clang 16 defaults to C++17. `std::auto_ptr` has been removed from C++17, 21 + # and the `register` type class specifier is no longer allowed. 22 + ./c++-17-fixes.patch 23 + 24 + # Clang-19 errors out for dead code (in header) which accesses undefined 25 + # class members 26 + ./remove-subtract-and-union-debug.diff 27 + ]; 22 28 23 29 hardeningDisable = [ "format" ]; 24 30
+347
pkgs/by-name/mj/mjpegtools/remove-subtract-and-union-debug.diff
··· 1 + diff --git a/y4mdenoise/Region2D.hh b/y4mdenoise/Region2D.hh 2 + index b44e93f..ebc2821 100644 3 + --- a/y4mdenoise/Region2D.hh 4 + +++ b/y4mdenoise/Region2D.hh 5 + @@ -97,35 +97,11 @@ public: 6 + // Add the given horizontal extent to the region. Note that 7 + // a_tnXEnd is technically one past the end of the extent. 8 + 9 + - template <class REGION, class REGION_TEMP> 10 + - void UnionDebug (Status_t &a_reStatus, INDEX a_tnY, 11 + - INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp); 12 + - // Add the given horizontal extent to the region. Note that 13 + - // a_tnXEnd is technically one past the end of the extent. 14 + - // Exhaustively (i.e. slowly) verifies the results, using a 15 + - // much simpler algorithm. 16 + - // Requires the use of a temporary region, usually of the 17 + - // final subclass' type, in order to work. (Since that can't 18 + - // be known at this level, a template parameter is included for 19 + - // it.) 20 + - 21 + template <class REGION> 22 + void Union (Status_t &a_reStatus, const REGION &a_rOther); 23 + // Make the current region represent the union between itself 24 + // and the other given region. 25 + 26 + - template <class REGION, class REGION_O, class REGION_TEMP> 27 + - void UnionDebug (Status_t &a_reStatus, 28 + - REGION_O &a_rOther, REGION_TEMP &a_rTemp); 29 + - // Make the current region represent the union between itself 30 + - // and the other given region. 31 + - // Exhaustively (i.e. slowly) verifies the results, using a 32 + - // much simpler algorithm. 33 + - // Requires the use of a temporary region, usually of the 34 + - // final subclass' type, in order to work. (Since that can't 35 + - // be known at this level, a template parameter is included for 36 + - // it.) 37 + - 38 + //void Merge (Status_t &a_reStatus, INDEX a_tnY, INDEX a_tnXStart, 39 + // INDEX a_tnXEnd); 40 + // Merge this extent into the current region. 41 + @@ -166,37 +142,12 @@ public: 42 + // Subtract the given horizontal extent from the region. Note 43 + // that a_tnXEnd is technically one past the end of the extent. 44 + 45 + - template <class REGION_TEMP> 46 + - void SubtractDebug (Status_t &a_reStatus, INDEX a_tnY, 47 + - INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp); 48 + - // Subtract the given horizontal extent from the region. Note 49 + - // that a_tnXEnd is technically one past the end of the extent. 50 + - // Exhaustively (i.e. slowly) verifies the results, using a 51 + - // much simpler algorithm. 52 + - // Requires the use of a temporary region, usually of the 53 + - // final subclass' type, in order to work. (Since that can't 54 + - // be known at this level, a template parameter is included for 55 + - // it.) 56 + - 57 + template <class REGION> 58 + void Subtract (Status_t &a_reStatus, const REGION &a_rOther); 59 + // Subtract the other region from the current region, i.e. 60 + // remove from the current region any extents that exist in the 61 + // other region. 62 + 63 + - template <class REGION, class REGION_O, class REGION_TEMP> 64 + - void SubtractDebug (Status_t &a_reStatus, REGION_O &a_rOther, 65 + - REGION_TEMP &a_rTemp); 66 + - // Subtract the other region from the current region, i.e. 67 + - // remove from the current region any extents that exist in the 68 + - // other region. 69 + - // Exhaustively (i.e. slowly) verifies the results, using a 70 + - // much simpler algorithm. 71 + - // Requires the use of a temporary region, usually of the 72 + - // final subclass' type, in order to work. (Since that can't 73 + - // be known at this level, a template parameter is included for 74 + - // it.) 75 + - 76 + //typedef ... ConstIterator; 77 + //ConstIterator Begin (void) const { return m_setExtents.Begin(); } 78 + //ConstIterator End (void) const { return m_setExtents.End(); } 79 + @@ -404,85 +355,6 @@ Region2D<INDEX,SIZE>::~Region2D() 80 + 81 + 82 + 83 + -// Add the given horizontal extent to the region. 84 + -template <class INDEX, class SIZE> 85 + -template <class REGION, class REGION_TEMP> 86 + -void 87 + -Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus, INDEX a_tnY, 88 + - INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp) 89 + -{ 90 + - typename REGION::ConstIterator itHere; 91 + - typename REGION_TEMP::ConstIterator itHereO; 92 + - INDEX tnX; 93 + - // Used to loop through points. 94 + - 95 + - // Make sure they didn't start us off with an error. 96 + - assert (a_reStatus == g_kNoError); 97 + - 98 + - // Calculate the union. 99 + - a_rTemp.Assign (a_reStatus, *this); 100 + - if (a_reStatus != g_kNoError) 101 + - return; 102 + - a_rTemp.Union (a_reStatus, a_tnY, a_tnXStart, a_tnXEnd); 103 + - if (a_reStatus != g_kNoError) 104 + - return; 105 + - 106 + - // Loop through every point in the result, make sure it's in 107 + - // one of the two input regions. 108 + - for (itHereO = a_rTemp.Begin(); itHereO != a_rTemp.End(); ++itHereO) 109 + - { 110 + - const Extent &rHere = *itHereO; 111 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 112 + - { 113 + - if (!((rHere.m_tnY == a_tnY 114 + - && (tnX >= a_tnXStart && tnX < a_tnXEnd)) 115 + - || this->DoesContainPoint (rHere.m_tnY, tnX))) 116 + - goto error; 117 + - } 118 + - } 119 + - 120 + - // Loop through every point in the original region, make sure 121 + - // it's in the result. 122 + - for (itHere = this->Begin(); itHere != this->End(); ++itHere) 123 + - { 124 + - const Extent &rHere = *itHere; 125 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 126 + - { 127 + - if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX)) 128 + - goto error; 129 + - } 130 + - } 131 + - 132 + - // Loop through every point in the added extent, make sure it's in 133 + - // the result. 134 + - for (tnX = a_tnXStart; tnX < a_tnXEnd; ++tnX) 135 + - { 136 + - if (!a_rTemp.DoesContainPoint (a_tnY, tnX)) 137 + - goto error; 138 + - } 139 + - 140 + - // The operation succeeded. Commit it. 141 + - Assign (a_reStatus, a_rTemp); 142 + - if (a_reStatus != g_kNoError) 143 + - return; 144 + - 145 + - // All done. 146 + - return; 147 + - 148 + -error: 149 + - // Handle deviations. 150 + - fprintf (stderr, "Region2D::Union() failed\n"); 151 + - fprintf (stderr, "Input region:\n"); 152 + - PrintRegion (*this); 153 + - fprintf (stderr, "Input extent: [%d,%d-%d]\n", 154 + - int (a_tnY), int (a_tnXStart), int (a_tnXEnd)); 155 + - fprintf (stderr, "Result:\n"); 156 + - PrintRegion (a_rTemp); 157 + - assert (false); 158 + -} 159 + - 160 + - 161 + - 162 + // Make the current region represent the union between itself 163 + // and the other given region. 164 + template <class INDEX, class SIZE> 165 + @@ -513,182 +385,6 @@ Region2D<INDEX,SIZE>::Union (Status_t &a_reStatus, 166 + 167 + 168 + 169 + -// Make the current region represent the union between itself 170 + -// and the other given region. 171 + -template <class INDEX, class SIZE> 172 + -template <class REGION, class REGION_O, class REGION_TEMP> 173 + -void 174 + -Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus, 175 + - REGION_O &a_rOther, REGION_TEMP &a_rTemp) 176 + -{ 177 + - typename REGION::ConstIterator itHere; 178 + - typename REGION_O::ConstIterator itHereO; 179 + - typename REGION_TEMP::ConstIterator itHereT; 180 + - INDEX tnX; 181 + - // Used to loop through points. 182 + - 183 + - // Make sure they didn't start us off with an error. 184 + - assert (a_reStatus == g_kNoError); 185 + - 186 + - // Calculate the union. 187 + - a_rTemp.Assign (a_reStatus, *this); 188 + - if (a_reStatus != g_kNoError) 189 + - return; 190 + - a_rTemp.Union (a_reStatus, a_rOther); 191 + - if (a_reStatus != g_kNoError) 192 + - return; 193 + - 194 + - // Loop through every point in the result, make sure it's in 195 + - // one of the two input regions. 196 + - for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT) 197 + - { 198 + - const Extent &rHere = *itHereT; 199 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 200 + - { 201 + - if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX) 202 + - && !this->DoesContainPoint (rHere.m_tnY, tnX)) 203 + - goto error; 204 + - } 205 + - } 206 + - 207 + - // Loop through every point in the first input region, make sure 208 + - // it's in the result. 209 + - for (itHere = this->Begin(); itHere != this->End(); ++itHere) 210 + - { 211 + - const Extent &rHere = *itHere; 212 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 213 + - { 214 + - if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX)) 215 + - goto error; 216 + - } 217 + - } 218 + - 219 + - // Loop through every point in the second input region, make sure 220 + - // it's in the result. 221 + - for (itHereO = a_rOther.Begin(); 222 + - itHereO != a_rOther.End(); 223 + - ++itHereO) 224 + - { 225 + - const Extent &rHere = *itHereO; 226 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 227 + - { 228 + - if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX)) 229 + - goto error; 230 + - } 231 + - } 232 + - 233 + - // The operation succeeded. Commit it. 234 + - Assign (a_reStatus, a_rTemp); 235 + - if (a_reStatus != g_kNoError) 236 + - return; 237 + - 238 + - // All done. 239 + - return; 240 + - 241 + -error: 242 + - // Handle deviations. 243 + - fprintf (stderr, "Region2D::Union() failed\n"); 244 + - fprintf (stderr, "First input region:\n"); 245 + - PrintRegion (*this); 246 + - fprintf (stderr, "Second input region:\n"); 247 + - PrintRegion (a_rOther); 248 + - fprintf (stderr, "Result:\n"); 249 + - PrintRegion (a_rTemp); 250 + - assert (false); 251 + -} 252 + - 253 + - 254 + - 255 + -// Subtract the other region from the current region, i.e. 256 + -// remove from the current region any areas that exist in the 257 + -// other region. 258 + -template <class INDEX, class SIZE> 259 + -template <class REGION, class REGION_O, class REGION_TEMP> 260 + -void 261 + -Region2D<INDEX,SIZE>::SubtractDebug (Status_t &a_reStatus, 262 + - REGION_O &a_rOther, REGION_TEMP &a_rTemp) 263 + -{ 264 + - typename REGION::ConstIterator itHere; 265 + - typename REGION_O::ConstIterator itHereO; 266 + - typename REGION_TEMP::ConstIterator itHereT; 267 + - INDEX tnX; 268 + - // Used to loop through points. 269 + - 270 + - // Make sure they didn't start us off with an error. 271 + - assert (a_reStatus == g_kNoError); 272 + - 273 + - // Calculate the difference. 274 + - a_rTemp.Assign (a_reStatus, *this); 275 + - if (a_reStatus != g_kNoError) 276 + - return; 277 + - a_rTemp.Subtract (a_reStatus, a_rOther); 278 + - if (a_reStatus != g_kNoError) 279 + - return; 280 + - 281 + - // Loop through every point in the result, make sure it's in 282 + - // the first input region but not the second. 283 + - for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT) 284 + - { 285 + - const Extent &rHere = *itHereT; 286 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 287 + - { 288 + - if (!(this->DoesContainPoint (rHere.m_tnY, tnX) 289 + - && !a_rOther.DoesContainPoint (rHere.m_tnY, tnX))) 290 + - goto error; 291 + - } 292 + - } 293 + - 294 + - // Loop through every point in the first input region, and if it's 295 + - // not in the second input region, make sure it's in the result. 296 + - for (itHere = this->Begin(); itHere != this->End(); ++itHere) 297 + - { 298 + - const Extent &rHere = *itHere; 299 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 300 + - { 301 + - if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX)) 302 + - { 303 + - if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX)) 304 + - goto error; 305 + - } 306 + - } 307 + - } 308 + - 309 + - // Loop through every point in the second input region, make sure 310 + - // it's not in the result. 311 + - for (itHereO = a_rOther.Begin(); 312 + - itHereO != a_rOther.End(); 313 + - ++itHereO) 314 + - { 315 + - const Extent &rHere = *itHere; 316 + - for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX) 317 + - { 318 + - if (a_rTemp.DoesContainPoint (rHere.m_tnY, tnX)) 319 + - goto error; 320 + - } 321 + - } 322 + - 323 + - // The operation succeeded. Commit it. 324 + - Assign (a_reStatus, a_rTemp); 325 + - if (a_reStatus != g_kNoError) 326 + - return; 327 + - 328 + - // All done. 329 + - return; 330 + - 331 + -error: 332 + - // Handle deviations. 333 + - fprintf (stderr, "Region2D::Subtract() failed\n"); 334 + - fprintf (stderr, "First input region:\n"); 335 + - PrintRegion (*this); 336 + - fprintf (stderr, "Second input region:\n"); 337 + - PrintRegion (a_rOther); 338 + - fprintf (stderr, "Result:\n"); 339 + - PrintRegion (a_rTemp); 340 + - assert (false); 341 + -} 342 + - 343 + - 344 + - 345 + // Flood-fill the current region. 346 + template <class INDEX, class SIZE> 347 + template <class CONTROL>
+98
pkgs/by-name/nl/nlohmann_json/make-tests-build-clang-19.diff
··· 1 + diff --git a/tests/src/unit-bson.cpp b/tests/src/unit-bson.cpp 2 + index 13216f2..fdfc350 100644 3 + --- a/tests/src/unit-bson.cpp 4 + +++ b/tests/src/unit-bson.cpp 5 + @@ -621,7 +621,7 @@ TEST_CASE("BSON input/output_adapters") 6 + { 7 + SECTION("std::ostringstream") 8 + { 9 + - std::basic_ostringstream<std::uint8_t> ss; 10 + + std::basic_ostringstream<char> ss; 11 + json::to_bson(json_representation, ss); 12 + json j3 = json::from_bson(ss.str()); 13 + CHECK(json_representation == j3); 14 + diff --git a/tests/src/unit-cbor.cpp b/tests/src/unit-cbor.cpp 15 + index be94d2f..2b396b7 100644 16 + --- a/tests/src/unit-cbor.cpp 17 + +++ b/tests/src/unit-cbor.cpp 18 + @@ -1881,7 +1881,7 @@ TEST_CASE("single CBOR roundtrip") 19 + { 20 + SECTION("std::ostringstream") 21 + { 22 + - std::basic_ostringstream<std::uint8_t> ss; 23 + + std::basic_ostringstream<char> ss; 24 + json::to_cbor(j1, ss); 25 + json j3 = json::from_cbor(ss.str()); 26 + CHECK(j1 == j3); 27 + diff --git a/tests/src/unit-deserialization.cpp b/tests/src/unit-deserialization.cpp 28 + index 3bc161f..e4918b0 100644 29 + --- a/tests/src/unit-deserialization.cpp 30 + +++ b/tests/src/unit-deserialization.cpp 31 + @@ -1131,13 +1131,11 @@ TEST_CASE("deserialization") 32 + } 33 + } 34 + 35 + + 36 + TEST_CASE_TEMPLATE("deserialization of different character types (ASCII)", T, 37 + - char, unsigned char, signed char, 38 + + char, 39 + wchar_t, 40 + - char16_t, char32_t, 41 + - std::uint8_t, std::int8_t, 42 + - std::int16_t, std::uint16_t, 43 + - std::int32_t, std::uint32_t) 44 + + char16_t, char32_t) 45 + { 46 + std::vector<T> const v = {'t', 'r', 'u', 'e'}; 47 + CHECK(json::parse(v) == json(true)); 48 + @@ -1163,7 +1161,7 @@ TEST_CASE_TEMPLATE("deserialization of different character types (UTF-8)", T, 49 + } 50 + 51 + TEST_CASE_TEMPLATE("deserialization of different character types (UTF-16)", T, 52 + - char16_t, std::uint16_t) 53 + + char16_t) 54 + { 55 + // a star emoji 56 + std::vector<T> const v = {static_cast<T>('"'), static_cast<T>(0x2b50), static_cast<T>(0xfe0f), static_cast<T>('"')}; 57 + @@ -1176,7 +1174,7 @@ TEST_CASE_TEMPLATE("deserialization of different character types (UTF-16)", T, 58 + } 59 + 60 + TEST_CASE_TEMPLATE("deserialization of different character types (UTF-32)", T, 61 + - char32_t, std::uint32_t) 62 + + char32_t) 63 + { 64 + // a star emoji 65 + std::vector<T> const v = {static_cast<T>('"'), static_cast<T>(0x2b50), static_cast<T>(0xfe0f), static_cast<T>('"')}; 66 + diff --git a/tests/src/unit-msgpack.cpp b/tests/src/unit-msgpack.cpp 67 + index 61162af..cfbb1fa 100644 68 + --- a/tests/src/unit-msgpack.cpp 69 + +++ b/tests/src/unit-msgpack.cpp 70 + @@ -1604,7 +1604,7 @@ TEST_CASE("single MessagePack roundtrip") 71 + { 72 + SECTION("std::ostringstream") 73 + { 74 + - std::basic_ostringstream<std::uint8_t> ss; 75 + + std::basic_ostringstream<char> ss; 76 + json::to_msgpack(j1, ss); 77 + json j3 = json::from_msgpack(ss.str()); 78 + CHECK(j1 == j3); 79 + diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp 80 + index fab9aae..98947c5 100644 81 + --- a/tests/src/unit-regression2.cpp 82 + +++ b/tests/src/unit-regression2.cpp 83 + @@ -674,6 +674,7 @@ TEST_CASE("regression tests 2") 84 + CHECK(j.dump() == "{}"); 85 + } 86 + 87 + +#if 0 88 + #ifdef JSON_HAS_CPP_20 89 + #if __has_include(<span>) 90 + SECTION("issue #2546 - parsing containers of std::byte") 91 + @@ -684,6 +685,7 @@ TEST_CASE("regression tests 2") 92 + CHECK(j.dump() == "\"Hello, world!\""); 93 + } 94 + #endif 95 + +#endif 96 + #endif 97 + 98 + SECTION("issue #2574 - Deserialization to std::array, std::pair, and std::tuple with non-default constructable types fails")
+6
pkgs/by-name/nl/nlohmann_json/package.nix
··· 21 21 hash = "sha256-7F0Jon+1oWL7uqet5i1IgHX0fUw/+z0QwEcA3zs5xHg="; 22 22 }; 23 23 24 + patches = lib.optionals stdenv.cc.isClang [ 25 + # tests fail to compile on clang-19 26 + # https://github.com/nlohmann/json/issues/4490 27 + ./make-tests-build-clang-19.diff 28 + ]; 29 + 24 30 nativeBuildInputs = [ cmake ]; 25 31 26 32 cmakeFlags = [
+52
pkgs/by-name/op/openjpeg/exclude-tests
··· 1 + NR-C1P0-p0_04.j2k-compare2base 2 + NR-C1P0-p0_05.j2k-compare2base 3 + NR-C1P0-p0_06.j2k-compare2base 4 + NR-C1P1-p1_02.j2k-compare2base 5 + NR-C1P1-p1_03.j2k-compare2base 6 + NR-C1P1-p1_04.j2k-compare2base 7 + NR-C1P1-p1_05.j2k-compare2base 8 + NR-JP2-file2.jp2-compare2base 9 + NR-RIC-subsampling_1.jp2-compare2base 10 + NR-RIC-subsampling_2.jp2-compare2base 11 + NR-RIC-zoo1.jp2-compare2base 12 + NR-RIC-zoo2.jp2-compare2base 13 + NR-DEC-_00042.j2k-2-decode-md5 14 + NR-DEC-buxI.j2k-9-decode-md5 15 + NR-DEC-CT_Phillips_JPEG2K_Decompr_Problem.j2k-13-decode-md5 16 + NR-DEC-Marrin.jp2-18-decode-md5 17 + NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5 18 + NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5 19 + NR-DEC-file409752.jp2-40-decode-md5 20 + NR-DEC-issue188_beach_64bitsbox.jp2-41-decode-md5 21 + NR-DEC-issue206_image-000.jp2-42-decode-md5 22 + NR-DEC-issue205.jp2-43-decode-md5 23 + NR-DEC-issue228.j2k-60-decode-md5 24 + NR-DEC-issue142.j2k-66-decode-md5 25 + NR-DEC-issue134.jp2-67-decode-md5 26 + NR-DEC-issue135.j2k-68-decode-md5 27 + NR-DEC-issue208.jp2-69-decode-md5 28 + NR-DEC-issue211.jp2-70-decode-md5 29 + NR-DEC-issue226.j2k-74-decode 30 + NR-DEC-issue226.j2k-74-decode-md5 31 + NR-DEC-p1_04.j2k-124-decode-md5 32 + NR-DEC-p1_04.j2k-125-decode-md5 33 + NR-DEC-p1_04.j2k-126-decode-md5 34 + NR-DEC-p1_04.j2k-127-decode-md5 35 + NR-DEC-p1_04.j2k-128-decode-md5 36 + NR-DEC-p1_04.j2k-129-decode-md5 37 + NR-DEC-p1_04.j2k-131-decode-md5 38 + NR-DEC-p1_04.j2k-138-decode-md5 39 + NR-DEC-p1_04.j2k-140-decode-md5 40 + NR-DEC-p0_04.j2k-166-decode-md5 41 + NR-DEC-p0_04.j2k-167-decode-md5 42 + NR-DEC-p0_04.j2k-168-decode-md5 43 + NR-DEC-p0_04.j2k-172-decode-md5 44 + NR-DEC-issue205.jp2-253-decode-md5 45 + NR-DEC-issue236-ESYCC-CDEF.jp2-254-decode-md5 46 + NR-DEC-issue559-eci-090-CIELab.jp2-255-decode-md5 47 + NR-DEC-issue559-eci-091-CIELab.jp2-256-decode-md5 48 + NR-DEC-db11217111510058.jp2-306-decode-md5 49 + NR-DEC-tnsot_zero.jp2-307-decode-md5 50 + NR-DEC-Bretagne1_ht_lossy.j2k-311-decode-md5 51 + Found-But-No-Test-issue1472-bigloop.j2k 52 + Found-But-No-Test-small_world_non_consecutive_tilepart_tlm.jp2
+22 -14
pkgs/by-name/op/openjpeg/package.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, cmake, pkg-config 2 - , libpng, libtiff, zlib, lcms2, jpylyzer 2 + , libpng, libtiff, zlib, lcms2 3 3 , jpipLibSupport ? false # JPIP library & executables 4 4 , jpipServerSupport ? false, curl, fcgi # JPIP Server 5 5 , jdk ··· 18 18 }: 19 19 20 20 let 21 - mkFlag = optSet: flag: "-D${flag}=${if optSet then "ON" else "OFF"}"; 21 + # may need to get updated with package 22 + # https://github.com/uclouvain/openjpeg-data 23 + test-data = fetchFromGitHub { 24 + owner = "uclouvain"; 25 + repo = "openjpeg-data"; 26 + rev = "a428429db695fccfc6d698bd13b6937dffd9d005"; 27 + hash = "sha256-udUi7sPNQJ5uCIAM8SqMGee6vRj1QbF9pLjdpNTQE5k="; 28 + }; 22 29 in 23 - 24 30 stdenv.mkDerivation rec { 25 31 pname = "openjpeg"; 26 32 version = "2.5.2"; ··· 35 41 outputs = [ "out" "dev" ]; 36 42 37 43 cmakeFlags = [ 38 - "-DCMAKE_INSTALL_NAME_DIR=\${CMAKE_INSTALL_PREFIX}/lib" 39 - "-DBUILD_SHARED_LIBS=ON" 44 + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) 40 45 "-DBUILD_CODEC=ON" 41 46 "-DBUILD_THIRDPARTY=OFF" 42 - (mkFlag jpipLibSupport "BUILD_JPIP") 43 - (mkFlag jpipServerSupport "BUILD_JPIP_SERVER") 47 + (lib.cmakeBool "BUILD_JPIP" jpipLibSupport) 48 + (lib.cmakeBool "BUILD_JPIP_SERVER" jpipServerSupport) 44 49 "-DBUILD_VIEWER=OFF" 45 50 "-DBUILD_JAVA=OFF" 46 - (mkFlag doCheck "BUILD_TESTING") 47 - ]; 51 + (lib.cmakeBool "BUILD_TESTING" doCheck) 52 + ] ++ lib.optional doCheck "-DOPJ_DATA_ROOT=${test-data}"; 48 53 49 54 nativeBuildInputs = [ cmake pkg-config ]; 50 55 ··· 52 57 ++ lib.optionals jpipServerSupport [ curl fcgi ] 53 58 ++ lib.optional (jpipLibSupport) jdk; 54 59 55 - doCheck = (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isPower64); # tests fail on aarch64-linux and powerpc64 56 - nativeCheckInputs = [ jpylyzer ]; 60 + # tests did fail on powerpc64 61 + doCheck = !stdenv.hostPlatform.isPower64 62 + && stdenv.buildPlatform.canExecute stdenv.hostPlatform; 63 + 57 64 checkPhase = '' 58 - substituteInPlace ../tools/ctest_scripts/travis-ci.cmake \ 59 - --replace "JPYLYZER_EXECUTABLE=" "JPYLYZER_EXECUTABLE=\"$(command -v jpylyzer)\" # " 60 - OPJ_SOURCE_DIR=.. ctest -S ../tools/ctest_scripts/travis-ci.cmake 65 + runHook preCheck 66 + ctest -j $NIX_BUILD_CORES \ 67 + -E '.*jpylyser' --exclude-from-file ${./exclude-tests} 68 + runHook postCheck 61 69 ''; 62 70 63 71 passthru = {
+22
pkgs/by-name/ra/rapidjson/char_traits-clang-19-errors.diff
··· 1 + diff --git a/test/unittest/writertest.cpp b/test/unittest/writertest.cpp 2 + index 4c24121..66c9087 100644 3 + --- a/test/unittest/writertest.cpp 4 + +++ b/test/unittest/writertest.cpp 5 + @@ -386,6 +386,9 @@ TEST(Writer, InvalidEncoding) { 6 + writer.EndArray(); 7 + } 8 + 9 + + 10 + + // does not compile on clang-19 11 + +#if 0 12 + // Fail in encoding 13 + { 14 + StringBuffer buffer; 15 + @@ -401,6 +404,7 @@ TEST(Writer, InvalidEncoding) { 16 + static const UTF32<>::Ch s[] = { 0x110000, 0 }; // Out of U+0000 to U+10FFFF 17 + EXPECT_FALSE(writer.String(s)); 18 + } 19 + +#endif 20 + } 21 + 22 + TEST(Writer, ValidateEncoding) {
+4
pkgs/by-name/ra/rapidjson/package.nix
··· 29 29 ./use-nixpkgs-gtest.patch 30 30 # https://github.com/Tencent/rapidjson/issues/2214 31 31 ./suppress-valgrind-failures.patch 32 + 33 + # disable tests which don't build on clang-19 34 + # https://github.com/Tencent/rapidjson/issues/2318 35 + ./char_traits-clang-19-errors.diff 32 36 ]; 33 37 34 38 postPatch = ''
+11 -13
pkgs/by-name/ra/rav1e/package.nix
··· 6 6 fetchCrate, 7 7 pkg-config, 8 8 cargo-c, 9 - darwin, 10 - libgit2, 11 - libiconv, 12 9 nasm, 10 + libgit2, 11 + zlib, 13 12 nix-update-script, 14 13 testers, 15 - zlib, 16 14 rav1e, 17 15 }: 18 16 ··· 25 23 hash = "sha256-Db7qb7HBAy6lniIiN07iEzURmbfNtuhmgJRv7OUagUM="; 26 24 }; 27 25 28 - cargoHash = "sha256-VyQ6n2kIJ7OjK6Xlf0T0GNsBvgESRETzKZDZzAn8ZuY="; 26 + # update built to be able to use the system libgit2 27 + cargoPatches = [ ./update-built.diff ]; 28 + cargoHash = "sha256-Ud9Vw31y8nLo0aC3j7XY1+mN/pRvH9gJ0uIq73hKy3Y="; 29 29 30 - depsBuildBuild = [ pkg-config ]; 30 + depsBuildBuild = [ 31 + pkg-config 32 + libgit2 33 + zlib 34 + ]; 31 35 32 36 nativeBuildInputs = [ 33 37 cargo-c 34 - libgit2 35 38 nasm 36 39 ]; 37 40 38 - buildInputs = 39 - [ zlib ] 40 - ++ lib.optionals stdenv.hostPlatform.isDarwin [ 41 - libiconv 42 - darwin.apple_sdk.frameworks.Security 43 - ]; 41 + env.LIBGIT2_NO_VENDOR = 1; 44 42 45 43 # Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library 46 44 # and linking it with cctools ld64.
+40
pkgs/by-name/ra/rav1e/update-built.diff
··· 1 + diff --git a/Cargo.lock b/Cargo.lock 2 + index 6825377..8512eba 100644 3 + --- a/Cargo.lock 4 + +++ b/Cargo.lock 5 + @@ -242,9 +242,9 @@ dependencies = [ 6 + 7 + [[package]] 8 + name = "built" 9 + -version = "0.7.1" 10 + +version = "0.7.5" 11 + source = "registry+https://github.com/rust-lang/crates.io-index" 12 + -checksum = "38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53" 13 + +checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b" 14 + dependencies = [ 15 + "git2", 16 + ] 17 + @@ -633,9 +633,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 18 + 19 + [[package]] 20 + name = "git2" 21 + -version = "0.18.1" 22 + +version = "0.19.0" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + -checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd" 25 + +checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" 26 + dependencies = [ 27 + "bitflags 2.4.1", 28 + "libc", 29 + @@ -845,9 +845,9 @@ dependencies = [ 30 + 31 + [[package]] 32 + name = "libgit2-sys" 33 + -version = "0.16.1+1.7.1" 34 + +version = "0.17.0+1.8.1" 35 + source = "registry+https://github.com/rust-lang/crates.io-index" 36 + -checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c" 37 + +checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" 38 + dependencies = [ 39 + "cc", 40 + "libc",
+5
pkgs/by-name/sp/spdlog/package.nix
··· 41 41 postInstall = '' 42 42 mkdir -p $out/share/doc/spdlog 43 43 cp -rv ../example $out/share/doc/spdlog 44 + 45 + substituteInPlace $dev/include/spdlog/tweakme.h \ 46 + --replace-fail \ 47 + '// #define SPDLOG_FMT_EXTERNAL' \ 48 + '#define SPDLOG_FMT_EXTERNAL' 44 49 ''; 45 50 46 51 doCheck = true;
+1 -1
pkgs/by-name/xc/xcbuild/patches/Use-system-toolchain-for-usr-bin.patch
··· 12 12 using libutil::FSUtil; 13 13 14 14 +namespace { 15 - + const std::vector<const std::string> kSystemDeveloperDirs = { 15 + + const std::vector<std::string> kSystemDeveloperDirs = { 16 16 + "/private/var/select/developer_dir", 17 17 + "/private/var/db/xcode_select_link" 18 18 + };
+3
pkgs/by-name/xs/xsimd/package.nix
··· 26 26 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ 27 27 # https://github.com/xtensor-stack/xsimd/issues/1030 28 28 ./disable-test_error_gamma.patch 29 + 30 + # https://github.com/xtensor-stack/xsimd/issues/1063 31 + ./relax-asin-precision.diff 29 32 ]; 30 33 31 34 # strictDeps raises the chance that xsimd will be able to be cross compiled
+14
pkgs/by-name/xs/xsimd/relax-asin-precision.diff
··· 1 + diff --git a/test/test_xsimd_api.cpp b/test/test_xsimd_api.cpp 2 + index f416ae9..1f8253e 100644 3 + --- a/test/test_xsimd_api.cpp 4 + +++ b/test/test_xsimd_api.cpp 5 + @@ -468,7 +468,8 @@ struct xsimd_api_float_types_functions 6 + void test_asin() 7 + { 8 + value_type val(1); 9 + - CHECK_EQ(extract(xsimd::asin(T(val))), std::asin(val)); 10 + + CHECK(extract(xsimd::asin(T(val))) 11 + + == doctest::Approx(std::asin(val)).epsilon(1e-7)); 12 + } 13 + void test_asinh() 14 + {
+6
pkgs/by-name/zx/zxing-cpp/package.nix
··· 18 18 hash = "sha256-teFspdATn9M7Z1vSr/7PdJx/xAv+TVai8rIekxqpBZk="; 19 19 }; 20 20 21 + # c++ 20 needed for char8_t or clang-19 build fails 22 + postPatch = '' 23 + substituteInPlace CMakeLists.txt \ 24 + --replace-fail "CMAKE_CXX_STANDARD 17" "CMAKE_CXX_STANDARD 20" 25 + ''; 26 + 21 27 nativeBuildInputs = [ 22 28 cmake 23 29 pkg-config
+16
pkgs/development/compilers/gcc/patches/cfi_startproc-reorder-label-09-1.diff
··· 1 + this patch fixes build for clang-18+ 2 + 3 + diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S 4 + index d3235bc33..1a56eb61c 100644 5 + --- a/libgcc/config/aarch64/lse.S 6 + +++ b/libgcc/config/aarch64/lse.S 7 + @@ -170,8 +170,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 8 + .globl \name 9 + .hidden \name 10 + .type \name, %function 11 + - .cfi_startproc 12 + \name: 13 + + .cfi_startproc 14 + BTI_C 15 + .endm 16 +
+16
pkgs/development/compilers/gcc/patches/cfi_startproc-reorder-label-14-1.diff
··· 1 + this patch fixes build for clang-18+ 2 + 3 + diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S 4 + index ecef47086..b478dd4d9 100644 5 + --- a/libgcc/config/aarch64/lse.S 6 + +++ b/libgcc/config/aarch64/lse.S 7 + @@ -174,8 +174,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 8 + .globl \name 9 + HIDDEN(\name) 10 + SYMBOL_TYPE(\name, %function) 11 + - .cfi_startproc 12 + \name: 13 + + .cfi_startproc 14 + .endm 15 + 16 + .macro ENDFN name
+16
pkgs/development/compilers/gcc/patches/cfi_startproc-reorder-label-2.diff
··· 1 + this patch fixes build for clang-18+ 2 + 3 + diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S 4 + index d3235bc33..1a56eb61c 100644 5 + --- a/libgcc/config/aarch64/lse.S 6 + +++ b/libgcc/config/aarch64/lse.S 7 + @@ -197,8 +197,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 8 + .text 9 + .balign 16 10 + .private_extern _\name 11 + - .cfi_startproc 12 + _\name: 13 + + .cfi_startproc 14 + BTI_C 15 + .endm 16 +
+16 -7
pkgs/development/compilers/gcc/patches/default.nix
··· 40 40 is9 = majorVersion == "9"; 41 41 is8 = majorVersion == "8"; 42 42 is7 = majorVersion == "7"; 43 + 44 + # We only apply these patches when building a native toolchain for 45 + # aarch64-darwin, as it breaks building a foreign one: 46 + # https://github.com/iains/gcc-12-branch/issues/18 47 + canApplyIainsDarwinPatches = stdenv.hostPlatform.isDarwin 48 + && stdenv.hostPlatform.isAarch64 49 + && buildPlatform == hostPlatform 50 + && hostPlatform == targetPlatform; 51 + 43 52 inherit (lib) optionals optional; 44 53 in 45 54 ··· 71 80 ++ optional langFortran (if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch) 72 81 ++ [ ./ppc-musl.patch ] 73 82 ++ optional (atLeast9 && langD) ./libphobos.patch 83 + ++ optional (atLeast9 && !atLeast14) ./cfi_startproc-reorder-label-09-1.diff 84 + ++ optional (atLeast14 && !canApplyIainsDarwinPatches) ./cfi_startproc-reorder-label-14-1.diff 74 85 75 86 76 87 ··· 135 146 "12" = [ ./gnat-darwin-dylib-install-name.patch ]; 136 147 }.${majorVersion} or []) 137 148 138 - # We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building 139 - # a foreign one: https://github.com/iains/gcc-12-branch/issues/18 140 - ++ optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) ({ 149 + ++ optionals canApplyIainsDarwinPatches ({ 141 150 "14" = [ 142 151 (fetchpatch { 143 152 name = "gcc-14-darwin-aarch64-support.patch"; ··· 159 168 name = "gcc-13-darwin-aarch64-support.patch"; 160 169 url = "https://raw.githubusercontent.com/Homebrew/formula-patches/bda0faddfbfb392e7b9c9101056b2c5ab2500508/gcc/gcc-13.3.0.diff"; 161 170 sha256 = "sha256-RBTCBXIveGwuQGJLzMW/UexpUZdDgdXprp/G2NHkmQo="; 162 - }) ]; 171 + }) ./cfi_startproc-reorder-label-2.diff ]; 163 172 "12" = [ (fetchurl { 164 173 name = "gcc-12-darwin-aarch64-support.patch"; 165 174 url = "https://raw.githubusercontent.com/Homebrew/formula-patches/1ed9eaea059f1677d27382c62f21462b476b37fe/gcc/gcc-12.4.0.diff"; 166 175 sha256 = "sha256-wOjpT79lps4TKG5/E761odhLGCphBIkCbOPiQg/D1Fw="; 167 - }) ]; 176 + }) ./cfi_startproc-reorder-label-2.diff ]; 168 177 "11" = [ (fetchpatch { 169 178 # There are no upstream release tags in https://github.com/iains/gcc-11-branch. 170 179 # 5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-11.5.0 171 180 url = "https://github.com/iains/gcc-11-branch/compare/5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6..gcc-11.5-darwin-r0.diff"; 172 181 hash = "sha256-7lH+GkgkrE6nOp9PMdIoqlQNWK31s6oW+lDt1LIkadE="; 173 - }) ]; 182 + }) ./cfi_startproc-reorder-label-2.diff ]; 174 183 "10" = [ (fetchpatch { 175 184 # There are no upstream release tags in https://github.com/iains/gcc-10-branch. 176 185 # d04fe55 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-10.5.0 177 186 url = "https://github.com/iains/gcc-10-branch/compare/d04fe5541c53cb16d1ca5c80da044b4c7633dbc6...gcc-10-5Dr0-pre-0.diff"; 178 187 hash = "sha256-kVUHZKtYqkWIcqxHG7yAOR2B60w4KWLoxzaiFD/FWYk="; 179 - }) ]; 188 + }) ./cfi_startproc-reorder-label-2.diff ]; 180 189 }.${majorVersion} or []) 181 190 182 191 # Work around newer AvailabilityInternal.h when building older versions of GCC.
+75
pkgs/development/compilers/llvm/common/clang/clang-unsupported-option.patch
··· 1 + From 7ef5ed98cc6666f64db2f155ded2077ce038e1e4 Mon Sep 17 00:00:00 2001 2 + From: Reno Dakota <paparodeo@proton.me> 3 + Date: Sat, 16 Nov 2024 05:57:40 +0000 4 + Subject: [PATCH] [Clang][Driver] report unsupported option error regardless of 5 + argument order 6 + 7 + This change updates clang to report unsupported option errors regardless 8 + of the command line argument order. 9 + 10 + When clang with a source file and without `-c` it will both compile and 11 + link. When an unsupported option is also part of the command line clang 12 + should generated an error. However, if the source file name comes before 13 + an object file, eg: `-lc`, the error is ignored. 14 + 15 + ``` 16 + $ clang --target=x86_64 -lc hello.c -mhtm 17 + clang: error: unsupported option '-mhtm' for target 'x86_64' 18 + $ echo $? 19 + 1 20 + ``` 21 + 22 + but if `-lc` comes after `hello.c` the error is dropped 23 + 24 + ``` 25 + $ clang --target=x86_64 hello.c -mhtm -lc 26 + $ echo $? 27 + 0 28 + ``` 29 + 30 + after this change clang will report the error regardless of the command 31 + line argument order. 32 + --- 33 + clang/lib/Driver/Driver.cpp | 13 ++++++------- 34 + clang/test/Driver/unsupported-option.c | 10 ++++++++++ 35 + 2 files changed, 16 insertions(+), 7 deletions(-) 36 + 37 + diff --git a/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp 38 + index 93e85f7dffe35a..8e784a7b130ac3 100644 39 + --- a/lib/Driver/Driver.cpp 40 + +++ b/lib/Driver/Driver.cpp 41 + @@ -4064,17 +4064,18 @@ void Driver::handleArguments(Compilation &C, DerivedArgList &Args, 42 + YcArg = YuArg = nullptr; 43 + } 44 + 45 + - unsigned LastPLSize = 0; 46 + + bool LinkOnly = phases::Link == FinalPhase && Inputs.size() > 0; 47 + for (auto &I : Inputs) { 48 + types::ID InputType = I.first; 49 + const Arg *InputArg = I.second; 50 + 51 + auto PL = types::getCompilationPhases(InputType); 52 + - LastPLSize = PL.size(); 53 + + 54 + + phases::ID InitialPhase = PL[0]; 55 + + LinkOnly = LinkOnly && phases::Link == InitialPhase && PL.size() == 1; 56 + 57 + // If the first step comes after the final phase we are doing as part of 58 + // this compilation, warn the user about it. 59 + - phases::ID InitialPhase = PL[0]; 60 + if (InitialPhase > FinalPhase) { 61 + if (InputArg->isClaimed()) 62 + continue; 63 + @@ -4129,10 +4130,8 @@ void Driver::handleArguments(Compilation &C, DerivedArgList &Args, 64 + } 65 + } 66 + 67 + - // If we are linking, claim any options which are obviously only used for 68 + - // compilation. 69 + - // FIXME: Understand why the last Phase List length is used here. 70 + - if (FinalPhase == phases::Link && LastPLSize == 1) { 71 + + // claim any options which are obviously only used for compilation. 72 + + if (LinkOnly) { 73 + Args.ClaimAllArgs(options::OPT_CompileOnly_Group); 74 + Args.ClaimAllArgs(options::OPT_cl_compile_Group); 75 + }
+15
pkgs/development/compilers/llvm/common/default.nix
··· 521 521 (metadata.getVersionFile "clang/purity.patch") 522 522 # https://reviews.llvm.org/D51899 523 523 (metadata.getVersionFile "clang/gnu-install-dirs.patch") 524 + 525 + # https://github.com/llvm/llvm-project/pull/116476 526 + # prevent clang ignoring warnings / errors for unsuppored 527 + # options when building & linking a source file with trailing 528 + # libraries. eg: `clang -munsupported hello.c -lc` 529 + ./clang/clang-unsupported-option.patch 524 530 ] 525 531 ++ lib.optional (lib.versions.major metadata.release_version == "13") 526 532 # Revert of https://reviews.llvm.org/D100879 ··· 974 980 lib.versionAtLeast metadata.release_version "14" && lib.versionOlder metadata.release_version "18" 975 981 ) 976 982 ) (metadata.getVersionFile "compiler-rt/gnu-install-dirs.patch") 983 + ++ 984 + lib.optional 985 + (lib.versionAtLeast metadata.release_version "13" && lib.versionOlder metadata.release_version "18") 986 + (fetchpatch { 987 + name = "cfi_startproc-after-label.patch"; 988 + url = "https://github.com/llvm/llvm-project/commit/7939ce39dac0078fef7183d6198598b99c652c88.patch"; 989 + stripLen = 1; 990 + hash = "sha256-tGqXsYvUllFrPa/r/dsKVlwx5IrcJGccuR1WAtUg7/o="; 991 + }) 977 992 ++ [ 978 993 # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the 979 994 # extra `/`.
+10 -10
pkgs/development/compilers/rust/1_82.nix
··· 24 24 pkgsTargetTarget, 25 25 makeRustPlatform, 26 26 wrapRustcWith, 27 - llvmPackages_18, 28 - llvm_18, 27 + llvmPackages_19, 28 + llvm_19, 29 29 wrapCCWith, 30 30 overrideCC, 31 31 fetchpatch, ··· 33 33 let 34 34 llvmSharedFor = 35 35 pkgSet: 36 - pkgSet.llvmPackages_18.libllvm.override ( 36 + pkgSet.llvmPackages_19.libllvm.override ( 37 37 { 38 38 enableSharedLibraries = true; 39 39 } ··· 41 41 # Force LLVM to compile using clang + LLVM libs when targeting pkgsLLVM 42 42 stdenv = pkgSet.stdenv.override { 43 43 allowedRequisites = null; 44 - cc = pkgSet.pkgsBuildHost.llvmPackages_18.clangUseLLVM; 44 + cc = pkgSet.pkgsBuildHost.llvmPackages_19.clangUseLLVM; 45 45 }; 46 46 } 47 47 ); ··· 68 68 bootBintools ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintools, 69 69 }: 70 70 let 71 - llvmPackages = llvmPackages_18; 71 + llvmPackages = llvmPackages_19; 72 72 73 73 setStdenv = 74 74 pkg: 75 75 pkg.override { 76 76 stdenv = stdenv.override { 77 77 allowedRequisites = null; 78 - cc = pkgsBuildHost.llvmPackages_18.clangUseLLVM; 78 + cc = pkgsBuildHost.llvmPackages_19.clangUseLLVM; 79 79 }; 80 80 }; 81 81 in ··· 88 88 libcxx = llvmPackages.libcxx.override { 89 89 stdenv = stdenv.override { 90 90 allowedRequisites = null; 91 - cc = pkgsBuildHost.llvmPackages_18.clangNoLibcxx; 91 + cc = pkgsBuildHost.llvmPackages_19.clangNoLibcxx; 92 92 hostPlatform = stdenv.hostPlatform // { 93 93 useLLVM = !stdenv.hostPlatform.isDarwin; 94 94 }; ··· 102 102 } 103 103 ) { } 104 104 else 105 - llvmPackages_18; 105 + llvmPackages_19; 106 106 107 107 # Note: the version MUST be the same version that we are building. Upstream 108 108 # ensures that each released compiler can compile itself: ··· 139 139 140 140 ( 141 141 builtins.removeAttrs args [ 142 - "llvmPackages_18" 143 - "llvm_18" 142 + "llvmPackages_19" 143 + "llvm_19" 144 144 "wrapCCWith" 145 145 "overrideCC" 146 146 "fetchpatch"
+30 -3
pkgs/development/haskell-modules/configuration-common.nix
··· 2578 2578 testTarget = "tests"; 2579 2579 }) super.conduit-aeson; 2580 2580 2581 - # Upper bounds are too strict: 2582 - # https://github.com/velveteer/hermes/pull/22 2583 - hermes-json = doJailbreak super.hermes-json; 2581 + hermes-json = overrideCabal (drv: { 2582 + # Upper bounds are too strict: 2583 + # https://github.com/velveteer/hermes/pull/22 2584 + jailbreak = true; 2585 + 2586 + # vendored simdjson breaks with clang-19. apply patches that work with 2587 + # a more recent simdjson so we can un-vendor it 2588 + patches = drv.patches or [] ++ [ 2589 + (fetchpatch { 2590 + url = "https://github.com/velveteer/hermes/commit/6fd9904d93a5c001aadb27c114345a6958904d71.patch"; 2591 + hash = "sha256-Pv09XP0/VjUiAFp237Adj06PIZU21mQRh7guTlKksvA="; 2592 + excludes = [ 2593 + ".github/*" 2594 + "hermes-bench/*" 2595 + ]; 2596 + }) 2597 + (fetchpatch { 2598 + url = "https://github.com/velveteer/hermes/commit/ca8dddbf52f9d7788460a056fefeb241bcd09190.patch"; 2599 + hash = "sha256-tDDGS0QZ3YWe7+SP09wnxx6lIWL986ce5Zhqr7F2sBk="; 2600 + excludes = [ 2601 + "README.md" 2602 + ".github/*" 2603 + "hermes-bench/*" 2604 + ]; 2605 + }) 2606 + ]; 2607 + postPatch = drv.postPatch or "" + '' 2608 + ln -fs ${pkgs.simdjson.src} simdjson 2609 + ''; 2610 + }) super.hermes-json; 2584 2611 2585 2612 # Disabling doctests. 2586 2613 regex-tdfa = overrideCabal {
+9 -2
pkgs/development/libraries/aspell/default.nix
··· 1 - { lib, stdenv, fetchurl, fetchzip, perl, ncurses 1 + { lib, stdenv, fetchpatch, fetchurl, fetchzip, perl, ncurses 2 2 3 3 # for tests 4 4 , aspell, glibc, runCommand ··· 27 27 hash = "sha256-1toSs01C1Ff6YE5DWtSEp0su/80SD/QKzWuz+yiH0hs="; 28 28 }; 29 29 30 - patches = lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch; 30 + patches = [ 31 + # fix gcc-15 / clang-19 build. can remove on next update 32 + (fetchpatch { 33 + name = "fix-gcc-15-build.patch"; 34 + url = "https://github.com/GNUAspell/aspell/commit/ee6cbb12ff36a1e6618d7388a78dd4e0a2b44041.patch"; 35 + hash = "sha256-rW1FcfARdtT4wX+zGd2x/1K8zRp9JZhdR/zRd8RwPZA="; 36 + }) 37 + ] ++ lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch; 31 38 32 39 postPatch = '' 33 40 patch interfaces/cc/aspell.h < ${./clang.patch}
+1
pkgs/development/libraries/catch2/3.nix
··· 25 25 cmakeFlags = [ 26 26 "-DCATCH_DEVELOPMENT_BUILD=ON" 27 27 "-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}" 28 + "-DCATCH_ENABLE_WERROR=OFF" 28 29 ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && doCheck) [ 29 30 # test has a faulty path normalization technique that won't work in 30 31 # our darwin build environment https://github.com/catchorg/Catch2/issues/1691
+16 -6
pkgs/development/libraries/fmt/default.nix
··· 2 2 lib, 3 3 stdenv, 4 4 fetchFromGitHub, 5 + fetchpatch, 5 6 cmake, 6 7 enableShared ? !stdenv.hostPlatform.isStatic, 7 8 ··· 39 40 40 41 nativeBuildInputs = [ cmake ]; 41 42 42 - cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}" ]; 43 + cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" enableShared) ]; 43 44 44 45 doCheck = true; 45 46 ··· 68 69 }; 69 70 in 70 71 { 71 - fmt_8 = generic { 72 - version = "8.1.1"; 73 - hash = "sha256-leb2800CwdZMJRWF5b1Y9ocK0jXpOX/nwo95icDf308="; 74 - }; 75 - 76 72 fmt_9 = generic { 77 73 version = "9.1.0"; 78 74 hash = "sha256-rP6ymyRc7LnKxUXwPpzhHOQvpJkpnRFOt2ctvUNlYI0="; 75 + patches = [ 76 + # Fixes the build with Clang ≥ 18. 77 + (fetchpatch { 78 + url = "https://github.com/fmtlib/fmt/commit/c4283ec471bd3efdb114bc1ab30c7c7c5e5e0ee0.patch"; 79 + hash = "sha256-YyB5GY/ZqJQIhhGy0ICMPzfP/OUuyLnciiyv8Nscsec="; 80 + }) 81 + ]; 79 82 }; 80 83 81 84 fmt_10 = generic { ··· 86 89 fmt_11 = generic { 87 90 version = "11.0.2"; 88 91 hash = "sha256-IKNt4xUoVi750zBti5iJJcCk3zivTt7nU12RIf8pM+0="; 92 + patches = [ 93 + (fetchpatch { 94 + name = "get-rid-of-std-copy-fix-clang.patch"; 95 + url = "https://github.com/fmtlib/fmt/commit/6e462b89aa22fd5f737ed162d0150e145ccb1914.patch"; 96 + hash = "sha256-tRU1y1VCxtQ5J2yvFmwUx+YNcQs8izzLImD37KBiCFk="; 97 + }) 98 + ]; 89 99 }; 90 100 }
+21 -6
pkgs/development/libraries/gettext/default.nix
··· 8 8 9 9 stdenv.mkDerivation rec { 10 10 pname = "gettext"; 11 - version = "0.21.1"; 11 + version = "0.22.4"; 12 12 13 13 src = fetchurl { 14 14 url = "mirror://gnu/gettext/${pname}-${version}.tar.gz"; 15 - sha256 = "sha256-6MNlDh2M7odcTzVWQjgsHfgwWL1aEe6FVcDPJ21kbUU="; 15 + hash = "sha256-weC7KkQnqQJDkMZizVMtZkxLNrj/RE7V5UsRX9t6Guo="; 16 16 }; 17 17 patches = [ 18 18 ./absolute-paths.diff ··· 47 47 ]; 48 48 49 49 postPatch = '' 50 - substituteAllInPlace gettext-runtime/src/gettext.sh.in 51 - substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd 52 - substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd 53 - substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd 50 + # Older versions of gettext come with a copy of `extern-inline.m4` that is not compatible with clang 18. 51 + # When a project uses gettext + autoreconfPhase, autoreconfPhase will invoke `autopoint -f`, which will 52 + # replace whatever (probably compatible) version of `extern-inline.m4` with one that probalby won’t work 53 + # because `autopoint` will copy the autoconf macros from the project’s required version of gettext. 54 + # Fixing this requires replacing all the older copies of the problematic file with a new one. 55 + # 56 + # This is ugly, but it avoids requiring workarounds in every package using gettext and autoreconfPhase. 57 + declare -a oldFiles=($(tar tf gettext-tools/misc/archive.dir.tar | grep '^gettext-0\.[19].*/extern-inline.m4')) 58 + oldFilesDir=$(mktemp -d) 59 + for oldFile in "''${oldFiles[@]}"; do 60 + mkdir -p "$oldFilesDir/$(dirname "$oldFile")" 61 + cp gettext-tools/gnulib-m4/extern-inline.m4 "$oldFilesDir/$oldFile" 62 + done 63 + tar uf gettext-tools/misc/archive.dir.tar -C "$oldFilesDir" "''${oldFiles[@]}" 64 + 65 + substituteAllInPlace gettext-runtime/src/gettext.sh.in 66 + substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd 67 + substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd 68 + substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd 54 69 '' + lib.optionalString stdenv.hostPlatform.isCygwin '' 55 70 sed -i -e "s/\(cldr_plurals_LDADD = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in 56 71 sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in
+13 -17
pkgs/development/libraries/kompute/default.nix
··· 6 6 , vulkan-headers 7 7 , vulkan-loader 8 8 , fmt 9 + , spdlog 9 10 , glslang 10 11 , ninja 11 12 }: 12 13 13 14 stdenv.mkDerivation rec { 14 15 pname = "kompute"; 15 - version = "0.8.1"; 16 + version = "0.9.0"; 16 17 17 18 src = fetchFromGitHub { 18 19 owner = "KomputeProject"; 19 20 repo = "kompute"; 20 21 rev = "v${version}"; 21 - sha256 = "sha256-OkVGYh8QrD7JNqWFBLrDTYlk6IYHdvt4i7UtC4sQTzo="; 22 + hash = "sha256-cf9Ef85R+VKao286+WHLgBWUqgwvuRocgeCzVJOGbdc="; 22 23 }; 23 24 24 - patches = [ 25 - (fetchpatch { 26 - url = "https://github.com/KomputeProject/kompute/commit/9a791b161dd58ca927fe090f65fa2b0e5e85e7ca.diff"; 27 - sha256 = "OtFTN8sgPlyiMmVzUnqzCkVMKj6DWxbCXtYwkRdEprY="; 28 - }) 29 - (fetchpatch { 30 - name = "enum-class-fix-for-fmt-8-x.patch"; 31 - url = "https://github.com/KomputeProject/kompute/commit/f731f2e55c7aaaa804111106c3e469f9a642d4eb.patch"; 32 - sha256 = "sha256-scTCYqkgKQnH27xzuY4FVbiwRuwBvChmLPPU7ZUrrL0="; 33 - }) 34 - ]; 35 - 36 25 cmakeFlags = [ 26 + "-DKOMPUTE_OPT_USE_SPDLOG=ON" 27 + # Doesn’t work without the vendored `spdlog`, and is redundant. 28 + "-DKOMPUTE_OPT_LOG_LEVEL_DISABLED=ON" 29 + "-DKOMPUTE_OPT_USE_BUILT_IN_SPDLOG=OFF" 30 + "-DKOMPUTE_OPT_USE_BUILT_IN_FMT=OFF" 31 + "-DKOMPUTE_OPT_USE_BUILT_IN_GOOGLE_TEST=OFF" 32 + "-DKOMPUTE_OPT_USE_BUILT_IN_PYBIND11=OFF" 33 + "-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF" 34 + "-DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON" 37 35 "-DKOMPUTE_OPT_INSTALL=1" 38 - "-DRELEASE=1" 39 - "-DKOMPUTE_ENABLE_SPDLOG=1" 40 36 ]; 41 37 42 38 nativeBuildInputs = [ cmake ninja ]; 43 - buildInputs = [ fmt ]; 39 + buildInputs = [ fmt spdlog ]; 44 40 propagatedBuildInputs = [ glslang vulkan-headers vulkan-loader ]; 45 41 46 42 meta = with lib; {
+8
pkgs/development/libraries/poppler/default.nix
··· 69 69 url = "https://gitlab.freedesktop.org/poppler/poppler/-/commit/0554731052d1a97745cb179ab0d45620589dd9c4.patch"; 70 70 hash = "sha256-I78wJ4l1DSh+x/e00ZL8uvrGdBH+ufp+EDm0A1XWyCU="; 71 71 }) 72 + 73 + (fetchpatch { 74 + # fixes build on clang-19 75 + # https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/1526 76 + name = "char16_t-not-short.patch"; 77 + url = "https://gitlab.freedesktop.org/poppler/poppler/-/commit/b4ac7d9af7cb5edfcfcbda035ed8b8c218ba8564.patch"; 78 + hash = "sha256-2aEq3VDITJabvB/+bcdULBXbqVbDdL0xJr2TWLiWqX8="; 79 + }) 72 80 ]; 73 81 74 82 nativeBuildInputs = [
+3 -6
pkgs/development/libraries/qt-5/modules/qtbase.nix
··· 57 57 libxml2 libxslt openssl sqlite zlib 58 58 59 59 # Text rendering 60 - harfbuzz icu 60 + freetype harfbuzz icu 61 61 62 62 # Image formats 63 63 libjpeg libpng ··· 67 67 dbus glib udev 68 68 69 69 # Text rendering 70 - fontconfig freetype 70 + fontconfig 71 71 72 72 libdrm 73 73 ··· 323 323 "-system-sqlite" 324 324 ''-${if mysqlSupport then "plugin" else "no"}-sql-mysql'' 325 325 ''-${if postgresql != null then "plugin" else "no"}-sql-psql'' 326 + "-system-libpng" 326 327 327 328 "-make libs" 328 329 "-make tools" ··· 332 333 ++ ( 333 334 if stdenv.hostPlatform.isDarwin then [ 334 335 "-no-fontconfig" 335 - "-qt-freetype" 336 - "-qt-libpng" 337 336 "-no-framework" 338 337 "-no-rpath" 339 338 ] else [ ··· 351 350 ''-${lib.optionalString (cups == null) "no-"}cups'' 352 351 "-dbus-linked" 353 352 "-glib" 354 - ] ++ [ 355 - "-system-libpng" 356 353 ] ++ lib.optional withGtk3 "-gtk" 357 354 ++ lib.optional withLibinput "-libinput" 358 355 ++ [
+5
pkgs/development/libraries/qt-5/modules/qtlocation.nix
··· 4 4 pname = "qtlocation"; 5 5 propagatedBuildInputs = [ qtbase qtmultimedia ]; 6 6 outputs = [ "bin" "out" "dev" ]; 7 + # Clang 18 treats a non-const, narrowing conversion in an initializer list as an error, 8 + # which results in a failure building a 3rd party dependency of qtlocation. Just suppress it. 9 + env = lib.optionalAttrs (stdenv.cc.isClang && (lib.versionAtLeast (lib.getVersion stdenv.cc) "18")) { 10 + NIX_CFLAGS_COMPILE = "-Wno-c++11-narrowing-const-reference"; 11 + }; 7 12 qmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ 8 13 # boost uses std::auto_ptr which has been disabled in clang with libcxx 9 14 # This flag re-enables this feature
+9
pkgs/development/libraries/qt-6/modules/qtquick3d.nix
··· 2 2 , qtbase 3 3 , qtdeclarative 4 4 , openssl 5 + , fetchpatch 5 6 }: 6 7 7 8 qtModule { 8 9 pname = "qtquick3d"; 9 10 propagatedBuildInputs = [ qtbase qtdeclarative ]; 10 11 buildInputs = [ openssl ]; 12 + patches = [ 13 + # should be able to remove on next update 14 + (fetchpatch { 15 + name = "fix-clang-19-build.patch"; 16 + url = "https://github.com/qt/qtquick3d/commit/636a5558470ba0e0a4db1ca23dc72d96dfabeccf.patch"; 17 + hash = "sha256-xBzOoVWDWvpxbSHKWeeWY1ZVldsjoUeJqFcfpvjEWAg="; 18 + }) 19 + ]; 11 20 }
+3 -3
pkgs/development/libraries/wasilibc/default.nix
··· 8 8 9 9 let 10 10 pname = "wasilibc"; 11 - version = "21"; 11 + version = "22-unstable-2024-10-16"; 12 12 in 13 13 stdenv.mkDerivation { 14 14 inherit pname version; ··· 16 16 src = buildPackages.fetchFromGitHub { 17 17 owner = "WebAssembly"; 18 18 repo = "wasi-libc"; 19 - rev = "refs/tags/wasi-sdk-${version}"; 20 - hash = "sha256-1LsMpO29y79twVrUsuM/JvC7hK8O6Yey4Ard/S3Mvvc="; 19 + rev = "98897e29fcfc81e2b12e487e4154ac99188330c4"; 20 + hash = "sha256-NFKhMJj/quvN3mR7lmxzA9w46KhX92iG0rQA9qDeS8I="; 21 21 fetchSubmodules = true; 22 22 }; 23 23
+15 -8
pkgs/development/tools/documentation/doxygen/default.nix
··· 15 15 16 16 stdenv.mkDerivation rec { 17 17 pname = "doxygen"; 18 - version = "1.10.0"; 18 + version = "1.12.0"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "doxygen"; 22 22 repo = "doxygen"; 23 23 rev = "Release_${lib.replaceStrings [ "." ] [ "_" ] version}"; 24 - sha256 = "sha256-FPI5ICdn9Tne/g9SP6jAQS813AAyoDNooDR/Hyvq6R4="; 24 + hash = "sha256-4zSaM49TjOaZvrUChM4dNJLondCsQPSArOXZnTHS4yI="; 25 25 }; 26 26 27 27 patches = [ 28 + # fix clang-19 build. can drop on next update 29 + # https://github.com/doxygen/doxygen/pull/11064 28 30 (fetchpatch { 29 - name = "sys-spdlog-fix.patch"; 30 - url = "https://github.com/doxygen/doxygen/commit/0df6da616f01057d28b11c8bee28443c102dd424.patch"; 31 - hash = "sha256-7efkCQFYGslwqhIuPsLYTEiA1rq+mO0DuyQBMt0O+m0="; 31 + name = "fix-clang-19-build.patch"; 32 + url = "https://github.com/doxygen/doxygen/commit/cff64a87dea7596fd506a85521d4df4616dc845f.patch"; 33 + hash = "sha256-TtkVfV9Ep8/+VGbTjP4NOP8K3p1+A78M+voAIQ+lzOk="; 32 34 }) 33 35 ]; 34 36 37 + # https://github.com/doxygen/doxygen/issues/10928#issuecomment-2179320509 38 + postPatch = '' 39 + substituteInPlace CMakeLists.txt \ 40 + --replace-fail 'JAVACC_CHAR_TYPE=\"unsigned char\"' \ 41 + 'JAVACC_CHAR_TYPE=\"char8_t\"' \ 42 + --replace-fail "CMAKE_CXX_STANDARD 17" "CMAKE_CXX_STANDARD 20" 43 + ''; 44 + 35 45 nativeBuildInputs = [ 36 46 cmake 37 47 python3 ··· 48 58 "-Duse_sys_spdlog=ON" 49 59 "-Duse_sys_sqlite3=ON" 50 60 ] ++ lib.optional (qt5 != null) "-Dbuild_wizard=YES"; 51 - 52 - env.NIX_CFLAGS_COMPILE = 53 - lib.optionalString stdenv.hostPlatform.isDarwin "-mmacosx-version-min=10.9"; 54 61 55 62 # put examples in an output so people/tools can test against them 56 63 outputs = [ "out" "examples" ];
+23 -12
pkgs/development/web/nodejs/v18.nix
··· 1 - { callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python311, fetchpatch2, enableNpm ? true }: 1 + { callPackage, lib, openssl, python311, fetchpatch2, enableNpm ? true }: 2 2 3 3 let 4 - # Clang 16+ cannot build Node v18 due to -Wenum-constexpr-conversion errors. 5 - # Use an older version of clang with the current libc++ for compatibility (e.g., with icu). 6 - ensureCompatibleCC = packages: 7 - if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16" 8 - then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override { 9 - inherit (packages.llvmPackages) libcxx; 10 - }) 11 - else packages.stdenv; 12 - 13 4 buildNodejs = callPackage ./nodejs.nix { 14 5 inherit openssl; 15 - stdenv = ensureCompatibleCC pkgs; 16 - buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; }; 17 6 python = python311; 18 7 }; 19 8 ··· 46 35 (fetchpatch2 { 47 36 url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; 48 37 hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; 38 + }) 39 + # Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 18 on Darwin. 40 + (fetchpatch2 { 41 + url = "https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9.patch?full_index=1"; 42 + extraPrefix = "deps/v8/third_party/zlib/"; 43 + stripLen = 1; 44 + hash = "sha256-WVxsoEcJu0WBTyelNrVQFTZxJhnekQb1GrueeRBRdnY="; 45 + }) 46 + # Backport V8 fixes for LLVM 19. 47 + (fetchpatch2 { 48 + url = "https://chromium.googlesource.com/v8/v8/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f%5E%21/?format=TEXT"; 49 + decode = "base64 -d"; 50 + extraPrefix = "deps/v8/"; 51 + stripLen = 1; 52 + hash = "sha256-bDTwFbATPn5W4VifWz/SqaiigXYDWHq785C64VezuUE="; 53 + }) 54 + (fetchpatch2 { 55 + url = "https://chromium.googlesource.com/v8/v8/+/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7%5E%21/?format=TEXT"; 56 + decode = "base64 -d"; 57 + extraPrefix = "deps/v8/"; 58 + stripLen = 1; 59 + hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg="; 49 60 }) 50 61 ] ++ gypPatches; 51 62 }
+22
pkgs/development/web/nodejs/v20.nix
··· 48 48 url = "https://github.com/nodejs/node/commit/0f7bdcc17fbc7098b89f238f4bd8ecad9367887b.patch?full_index=1"; 49 49 hash = "sha256-lXx6QyD2anlY9qAwjNMFM2VcHckBshghUF1NaMoaNl4="; 50 50 }) 51 + # Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 18 on Darwin. 52 + (fetchpatch2 { 53 + url = "https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9.patch?full_index=1"; 54 + extraPrefix = "deps/v8/third_party/zlib/"; 55 + stripLen = 1; 56 + hash = "sha256-WVxsoEcJu0WBTyelNrVQFTZxJhnekQb1GrueeRBRdnY="; 57 + }) 58 + # Backport V8 fixes for LLVM 19. 59 + (fetchpatch2 { 60 + url = "https://chromium.googlesource.com/v8/v8/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f%5E%21/?format=TEXT"; 61 + decode = "base64 -d"; 62 + extraPrefix = "deps/v8/"; 63 + stripLen = 1; 64 + hash = "sha256-bDTwFbATPn5W4VifWz/SqaiigXYDWHq785C64VezuUE="; 65 + }) 66 + (fetchpatch2 { 67 + url = "https://chromium.googlesource.com/v8/v8/+/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7%5E%21/?format=TEXT"; 68 + decode = "base64 -d"; 69 + extraPrefix = "deps/v8/"; 70 + stripLen = 1; 71 + hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg="; 72 + }) 51 73 ] ++ gypPatches; 52 74 }
+2 -1
pkgs/os-specific/darwin/apple-source-releases/file_cmds/meson.build.in
··· 15 15 16 16 bzip2 = dependency('bzip2') 17 17 xz = dependency('liblzma') 18 + libmd = dependency('libmd') 18 19 libxo = dependency('libxo') 19 20 zlib = dependency('zlib') 20 21 ··· 173 174 174 175 executable( 175 176 'install-bin', # Meson reserves the name “install”, so use a different name and rename in install phase. 176 - dependencies : [ copyfile ], 177 + dependencies : [ copyfile, libmd ], 177 178 install : true, 178 179 sources: [ 179 180 'install/xinstall.c',
+2
pkgs/os-specific/darwin/apple-source-releases/file_cmds/package.nix
··· 4 4 bzip2, 5 5 copyfile, 6 6 less, 7 + libmd, 7 8 libutil, 8 9 libxo, 9 10 mkAppleDerivation, ··· 104 105 buildInputs = [ 105 106 bzip2 106 107 copyfile 108 + libmd 107 109 libutil 108 110 libxo 109 111 removefile
+3 -3
pkgs/servers/sql/mariadb/default.nix
··· 14 14 , bzip2, lz4, lzo, snappy, xz, zlib, zstd 15 15 , cracklib, judy, libevent, libxml2 16 16 , linux-pam, numactl 17 - , fmt_8 17 + , fmt_11 18 18 , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq 19 19 , withStorageRocks ? true 20 20 , withEmbedded ? false ··· 149 149 ]; 150 150 151 151 buildInputs = common.buildInputs 152 - ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; 152 + ++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ]; 153 153 154 154 cmakeFlags = common.cmakeFlags ++ [ 155 155 "-DPLUGIN_AUTH_PAM=NO" ··· 179 179 ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] 180 180 ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv 181 181 ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ] 182 - ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ]; 182 + ++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ]; 183 183 184 184 propagatedBuildInputs = lib.optional withNuma numactl; 185 185
+4 -1
pkgs/stdenv/linux/default.nix
··· 385 385 configureFlags = (a.configureFlags or []) ++ [ 386 386 "--with-native-system-header-dir=/include" 387 387 "--with-build-sysroot=${lib.getDev self.stdenv.cc.libc}" 388 + # Don't assume that `gettext` was built with iconv support, since we don't have 389 + # our own `glibc` yet. 390 + "--disable-nls" 388 391 ]; 389 392 390 393 # This is a separate phase because gcc assembles its phase scripts ··· 507 510 overrides = self: super: rec { 508 511 inherit (prevStage) 509 512 ccWrapperStdenv 510 - binutils coreutils gnugrep gettext 513 + binutils coreutils gnugrep 511 514 perl patchelf linuxHeaders gnum4 bison libidn2 libunistring libxcrypt; 512 515 # We build a special copy of libgmp which doesn't use libstdc++, because 513 516 # xgcc++'s libstdc++ references the bootstrap-files (which is what
+5
pkgs/tools/misc/fontforge/default.nix
··· 29 29 url = "https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429.patch"; 30 30 hash = "sha256-aRnir09FSQMT50keoB7z6AyhWAVBxjSQsTRvBzeBuHU="; 31 31 }) 32 + # Fixes translation compatibility with gettext 0.22 33 + (fetchpatch { 34 + url = "https://github.com/fontforge/fontforge/commit/55d58f87ab1440f628f2071a6f6cc7ef9626c641.patch"; 35 + hash = "sha256-rkYnKPXA8Ztvh9g0zjG2yTUCPd3lE1uqwvBuEd8+Oyw="; 36 + }) 32 37 33 38 # https://github.com/fontforge/fontforge/pull/5423 34 39 ./replace-distutils.patch
+4
pkgs/tools/misc/torrenttools/default.nix
··· 54 54 ]; 55 55 sourceRoot = "torrenttools"; 56 56 57 + patches = [ 58 + ./fmt-9.patch 59 + ]; 60 + 57 61 postUnpack = '' 58 62 cp -pr cliprogress torrenttools/external/cliprogress 59 63 cp -pr dottorrent torrenttools/external/dottorrent
+29
pkgs/tools/misc/torrenttools/fmt-9.patch
··· 1 + diff --git a/include/file_matcher.hpp b/include/file_matcher.hpp 2 + index c10c7be405..b67baec0ef 100644 3 + --- a/include/file_matcher.hpp 4 + +++ b/include/file_matcher.hpp 5 + @@ -47,7 +47,7 @@ 6 + } 7 + 8 + std::string error; 9 + - std::string pattern = ".*.{}$"_format(extension); 10 + + std::string pattern = fmt::format(".*.{}$", extension); 11 + file_include_list_.Add(pattern, &error); 12 + file_include_list_empty_ = false; 13 + Ensures(error.empty()); 14 + @@ -62,7 +62,7 @@ 15 + } 16 + 17 + std::string error; 18 + - std::string pattern = ".*\\.{}$"_format(extension); 19 + + std::string pattern = fmt::format(".*\\.{}$", extension); 20 + file_exclude_list_.Add(pattern, &error); 21 + file_exclude_list_empty_ = false; 22 + Ensures(error.empty()); 23 + @@ -243,4 +243,4 @@ 24 + }; 25 + 26 + 27 + -} // namespace torrenttools 28 + \ No newline at end of file 29 + +} // namespace torrenttools
+1
pkgs/top-level/aliases.nix
··· 382 382 flutter316 = throw "flutter316 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05 383 383 flutter322 = throw "flutter322 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05 384 384 flutter323 = throw "flutter323 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2024-10-05 385 + fmt_8 = throw "fmt_8 has been removed as it is obsolete and was no longer used in the tree"; # Added 2024-11-12 385 386 foldingathome = throw "'foldingathome' has been renamed to/replaced by 'fahclient'"; # Converted to throw 2024-10-17 386 387 forgejo-actions-runner = forgejo-runner; # Added 2024-04-04 387 388
+7 -18
pkgs/top-level/all-packages.nix
··· 3895 3895 stdenv = llvmPackages_13.libcxxStdenv; 3896 3896 libcxx = llvmPackages_13.libcxx; 3897 3897 boost = boost178.override { inherit stdenv; }; 3898 - fmt = fmt_8.override { inherit stdenv; }; 3898 + fmt = fmt_9.override { inherit stdenv; }; 3899 3899 nanodbc_llvm = nanodbc.override { inherit stdenv; }; 3900 3900 avro-cpp_llvm = avro-cpp.override { inherit stdenv boost; }; 3901 3901 spdlog_llvm = spdlog.override { inherit stdenv fmt; }; ··· 6743 6743 libllvm = llvmPackages.libllvm; 6744 6744 llvm-manpages = llvmPackages.llvm-manpages; 6745 6745 6746 - # Please remove all this logic when bumping to LLVM 19 and make this 6747 - # a simple alias. 6748 - llvmPackages = let 6749 - # This returns the minimum supported version for the platform. The 6750 - # assumption is that or any later version is good. 6751 - choose = platform: if platform.isDarwin then 16 else 18; 6752 - # We take the "max of the mins". Why? Since those are lower bounds of the 6753 - # supported version set, this is like intersecting those sets and then 6754 - # taking the min bound of that. 6755 - minSupported = toString (lib.trivial.max (choose stdenv.hostPlatform) (choose 6756 - stdenv.targetPlatform)); 6757 - in pkgs.${"llvmPackages_${minSupported}"}; 6746 + llvmPackages = llvmPackages_19; 6758 6747 6759 6748 inherit (rec { 6760 6749 llvmPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/llvm { }); ··· 6923 6912 6924 6913 rust_1_82 = callPackage ../development/compilers/rust/1_82.nix { 6925 6914 inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; 6926 - llvm_18 = llvmPackages_18.libllvm; 6915 + llvm_19 = llvmPackages_19.libllvm; 6927 6916 }; 6928 6917 rust = rust_1_82; 6929 6918 ··· 9199 9188 fltk = fltk13; 9200 9189 fltk-minimal = fltk13-minimal; 9201 9190 9202 - inherit (callPackages ../development/libraries/fmt { }) fmt_8 fmt_9 fmt_10 fmt_11; 9191 + inherit (callPackages ../development/libraries/fmt { }) fmt_9 fmt_10 fmt_11; 9203 9192 9204 9193 fmt = fmt_10; 9205 9194 ··· 11092 11081 harfbuzz = harfbuzzFull; 11093 11082 }; 11094 11083 11095 - termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_8; }; 11084 + termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_11; }; 11096 11085 11097 11086 texpresso = callPackage ../tools/typesetting/tex/texpresso { 11098 11087 texpresso-tectonic = callPackage ../tools/typesetting/tex/texpresso/tectonic.nix { }; ··· 16019 16008 }; 16020 16009 16021 16010 torrenttools = callPackage ../tools/misc/torrenttools { 16022 - fmt = fmt_8; 16011 + fmt = fmt_9; 16023 16012 }; 16024 16013 16025 16014 tony = libsForQt5.callPackage ../applications/audio/tony { }; ··· 18404 18393 kmonad = haskellPackages.kmonad.bin; 18405 18394 18406 18395 kompute = callPackage ../development/libraries/kompute { 18407 - fmt = fmt_8; 18396 + fmt = fmt_10; 18408 18397 }; 18409 18398 18410 18399 # In general we only want keep the last three minor versions around that