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

This commit is contained in:
Emily
2024-11-20 14:47:14 +00:00
committed by GitHub
49 changed files with 1062 additions and 142 deletions
@@ -254,6 +254,25 @@ buildStdenv.mkDerivation {
hash = "sha256-2IpdSyye3VT4VB95WurnyRFtdN1lfVtYpgEiUVhfNjw=";
})
]
++ [
# LLVM 19 turned on WASM reference types by default, exposing a bug
# that broke the Mozilla WASI build. Supposedly, it has been fixed
# upstream in LLVM, but the build fails in the same way for us even
# with LLVM 19 versions that contain the upstream patch.
#
# Apply the temporary patch Mozilla used to work around this bug
# for now until someone can investigate whats going on here.
#
# TODO: Please someone figure out whats up with this.
#
# See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1905251>
# See: <https://github.com/llvm/llvm-project/pull/97451>
(fetchpatch {
name = "wasi-sdk-disable-reference-types.patch";
url = "https://hg.mozilla.org/integration/autoland/raw-rev/23a9f6555c7c";
hash = "sha256-CRywalJlRMFVLITEYXxpSq3jLPbUlWKNRHuKLwXqQfU=";
})
]
++ extraPatches;
postPatch = ''
@@ -343,10 +343,6 @@ stdenvNoCC.mkDerivation {
done
''
+ optionalString targetPlatform.isDarwin ''
echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags
''
##
## GNU specific extra strip flags
##
@@ -696,10 +696,6 @@ stdenvNoCC.mkDerivation {
done
''
+ optionalString targetPlatform.isDarwin ''
echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags
''
+ optionalString targetPlatform.isAndroid ''
echo "-D__ANDROID_API__=${targetPlatform.androidSdkVersion}" >> $out/nix-support/cc-cflags
''
+4
View File
@@ -1,6 +1,8 @@
{ lib
, stdenv
, fetchurl
, autoreconfHook
, gtk-doc
, withShishi ? !stdenv.hostPlatform.isDarwin
, shishi
}:
@@ -20,6 +22,8 @@ stdenv.mkDerivation rec {
rm tests/krb5context.c
'';
nativeBuildInputs = [ autoreconfHook gtk-doc ];
buildInputs = lib.optional withShishi shishi;
# ./stdint.h:89:5: error: expected value in expression
+9 -3
View File
@@ -16,9 +16,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-sYBTbX2ZYLBeACOhl7ANyxAJKaSaq3HRnVX0obIQ9Jo=";
};
# Clang 16 defaults to C++17. `std::auto_ptr` has been removed from C++17, and the
# `register` type class specifier is no longer allowed.
patches = [ ./c++-17-fixes.patch ];
patches = [
# Clang 16 defaults to C++17. `std::auto_ptr` has been removed from C++17,
# and the `register` type class specifier is no longer allowed.
./c++-17-fixes.patch
# Clang-19 errors out for dead code (in header) which accesses undefined
# class members
./remove-subtract-and-union-debug.diff
];
hardeningDisable = [ "format" ];
@@ -0,0 +1,347 @@
diff --git a/y4mdenoise/Region2D.hh b/y4mdenoise/Region2D.hh
index b44e93f..ebc2821 100644
--- a/y4mdenoise/Region2D.hh
+++ b/y4mdenoise/Region2D.hh
@@ -97,35 +97,11 @@ public:
// Add the given horizontal extent to the region. Note that
// a_tnXEnd is technically one past the end of the extent.
- template <class REGION, class REGION_TEMP>
- void UnionDebug (Status_t &a_reStatus, INDEX a_tnY,
- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp);
- // Add the given horizontal extent to the region. Note that
- // a_tnXEnd is technically one past the end of the extent.
- // Exhaustively (i.e. slowly) verifies the results, using a
- // much simpler algorithm.
- // Requires the use of a temporary region, usually of the
- // final subclass' type, in order to work. (Since that can't
- // be known at this level, a template parameter is included for
- // it.)
-
template <class REGION>
void Union (Status_t &a_reStatus, const REGION &a_rOther);
// Make the current region represent the union between itself
// and the other given region.
- template <class REGION, class REGION_O, class REGION_TEMP>
- void UnionDebug (Status_t &a_reStatus,
- REGION_O &a_rOther, REGION_TEMP &a_rTemp);
- // Make the current region represent the union between itself
- // and the other given region.
- // Exhaustively (i.e. slowly) verifies the results, using a
- // much simpler algorithm.
- // Requires the use of a temporary region, usually of the
- // final subclass' type, in order to work. (Since that can't
- // be known at this level, a template parameter is included for
- // it.)
-
//void Merge (Status_t &a_reStatus, INDEX a_tnY, INDEX a_tnXStart,
// INDEX a_tnXEnd);
// Merge this extent into the current region.
@@ -166,37 +142,12 @@ public:
// Subtract the given horizontal extent from the region. Note
// that a_tnXEnd is technically one past the end of the extent.
- template <class REGION_TEMP>
- void SubtractDebug (Status_t &a_reStatus, INDEX a_tnY,
- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp);
- // Subtract the given horizontal extent from the region. Note
- // that a_tnXEnd is technically one past the end of the extent.
- // Exhaustively (i.e. slowly) verifies the results, using a
- // much simpler algorithm.
- // Requires the use of a temporary region, usually of the
- // final subclass' type, in order to work. (Since that can't
- // be known at this level, a template parameter is included for
- // it.)
-
template <class REGION>
void Subtract (Status_t &a_reStatus, const REGION &a_rOther);
// Subtract the other region from the current region, i.e.
// remove from the current region any extents that exist in the
// other region.
- template <class REGION, class REGION_O, class REGION_TEMP>
- void SubtractDebug (Status_t &a_reStatus, REGION_O &a_rOther,
- REGION_TEMP &a_rTemp);
- // Subtract the other region from the current region, i.e.
- // remove from the current region any extents that exist in the
- // other region.
- // Exhaustively (i.e. slowly) verifies the results, using a
- // much simpler algorithm.
- // Requires the use of a temporary region, usually of the
- // final subclass' type, in order to work. (Since that can't
- // be known at this level, a template parameter is included for
- // it.)
-
//typedef ... ConstIterator;
//ConstIterator Begin (void) const { return m_setExtents.Begin(); }
//ConstIterator End (void) const { return m_setExtents.End(); }
@@ -404,85 +355,6 @@ Region2D<INDEX,SIZE>::~Region2D()
-// Add the given horizontal extent to the region.
-template <class INDEX, class SIZE>
-template <class REGION, class REGION_TEMP>
-void
-Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus, INDEX a_tnY,
- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp)
-{
- typename REGION::ConstIterator itHere;
- typename REGION_TEMP::ConstIterator itHereO;
- INDEX tnX;
- // Used to loop through points.
-
- // Make sure they didn't start us off with an error.
- assert (a_reStatus == g_kNoError);
-
- // Calculate the union.
- a_rTemp.Assign (a_reStatus, *this);
- if (a_reStatus != g_kNoError)
- return;
- a_rTemp.Union (a_reStatus, a_tnY, a_tnXStart, a_tnXEnd);
- if (a_reStatus != g_kNoError)
- return;
-
- // Loop through every point in the result, make sure it's in
- // one of the two input regions.
- for (itHereO = a_rTemp.Begin(); itHereO != a_rTemp.End(); ++itHereO)
- {
- const Extent &rHere = *itHereO;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!((rHere.m_tnY == a_tnY
- && (tnX >= a_tnXStart && tnX < a_tnXEnd))
- || this->DoesContainPoint (rHere.m_tnY, tnX)))
- goto error;
- }
- }
-
- // Loop through every point in the original region, make sure
- // it's in the result.
- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
- {
- const Extent &rHere = *itHere;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
- goto error;
- }
- }
-
- // Loop through every point in the added extent, make sure it's in
- // the result.
- for (tnX = a_tnXStart; tnX < a_tnXEnd; ++tnX)
- {
- if (!a_rTemp.DoesContainPoint (a_tnY, tnX))
- goto error;
- }
-
- // The operation succeeded. Commit it.
- Assign (a_reStatus, a_rTemp);
- if (a_reStatus != g_kNoError)
- return;
-
- // All done.
- return;
-
-error:
- // Handle deviations.
- fprintf (stderr, "Region2D::Union() failed\n");
- fprintf (stderr, "Input region:\n");
- PrintRegion (*this);
- fprintf (stderr, "Input extent: [%d,%d-%d]\n",
- int (a_tnY), int (a_tnXStart), int (a_tnXEnd));
- fprintf (stderr, "Result:\n");
- PrintRegion (a_rTemp);
- assert (false);
-}
-
-
-
// Make the current region represent the union between itself
// and the other given region.
template <class INDEX, class SIZE>
@@ -513,182 +385,6 @@ Region2D<INDEX,SIZE>::Union (Status_t &a_reStatus,
-// Make the current region represent the union between itself
-// and the other given region.
-template <class INDEX, class SIZE>
-template <class REGION, class REGION_O, class REGION_TEMP>
-void
-Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus,
- REGION_O &a_rOther, REGION_TEMP &a_rTemp)
-{
- typename REGION::ConstIterator itHere;
- typename REGION_O::ConstIterator itHereO;
- typename REGION_TEMP::ConstIterator itHereT;
- INDEX tnX;
- // Used to loop through points.
-
- // Make sure they didn't start us off with an error.
- assert (a_reStatus == g_kNoError);
-
- // Calculate the union.
- a_rTemp.Assign (a_reStatus, *this);
- if (a_reStatus != g_kNoError)
- return;
- a_rTemp.Union (a_reStatus, a_rOther);
- if (a_reStatus != g_kNoError)
- return;
-
- // Loop through every point in the result, make sure it's in
- // one of the two input regions.
- for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT)
- {
- const Extent &rHere = *itHereT;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX)
- && !this->DoesContainPoint (rHere.m_tnY, tnX))
- goto error;
- }
- }
-
- // Loop through every point in the first input region, make sure
- // it's in the result.
- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
- {
- const Extent &rHere = *itHere;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
- goto error;
- }
- }
-
- // Loop through every point in the second input region, make sure
- // it's in the result.
- for (itHereO = a_rOther.Begin();
- itHereO != a_rOther.End();
- ++itHereO)
- {
- const Extent &rHere = *itHereO;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
- goto error;
- }
- }
-
- // The operation succeeded. Commit it.
- Assign (a_reStatus, a_rTemp);
- if (a_reStatus != g_kNoError)
- return;
-
- // All done.
- return;
-
-error:
- // Handle deviations.
- fprintf (stderr, "Region2D::Union() failed\n");
- fprintf (stderr, "First input region:\n");
- PrintRegion (*this);
- fprintf (stderr, "Second input region:\n");
- PrintRegion (a_rOther);
- fprintf (stderr, "Result:\n");
- PrintRegion (a_rTemp);
- assert (false);
-}
-
-
-
-// Subtract the other region from the current region, i.e.
-// remove from the current region any areas that exist in the
-// other region.
-template <class INDEX, class SIZE>
-template <class REGION, class REGION_O, class REGION_TEMP>
-void
-Region2D<INDEX,SIZE>::SubtractDebug (Status_t &a_reStatus,
- REGION_O &a_rOther, REGION_TEMP &a_rTemp)
-{
- typename REGION::ConstIterator itHere;
- typename REGION_O::ConstIterator itHereO;
- typename REGION_TEMP::ConstIterator itHereT;
- INDEX tnX;
- // Used to loop through points.
-
- // Make sure they didn't start us off with an error.
- assert (a_reStatus == g_kNoError);
-
- // Calculate the difference.
- a_rTemp.Assign (a_reStatus, *this);
- if (a_reStatus != g_kNoError)
- return;
- a_rTemp.Subtract (a_reStatus, a_rOther);
- if (a_reStatus != g_kNoError)
- return;
-
- // Loop through every point in the result, make sure it's in
- // the first input region but not the second.
- for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT)
- {
- const Extent &rHere = *itHereT;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!(this->DoesContainPoint (rHere.m_tnY, tnX)
- && !a_rOther.DoesContainPoint (rHere.m_tnY, tnX)))
- goto error;
- }
- }
-
- // Loop through every point in the first input region, and if it's
- // not in the second input region, make sure it's in the result.
- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
- {
- const Extent &rHere = *itHere;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX))
- {
- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
- goto error;
- }
- }
- }
-
- // Loop through every point in the second input region, make sure
- // it's not in the result.
- for (itHereO = a_rOther.Begin();
- itHereO != a_rOther.End();
- ++itHereO)
- {
- const Extent &rHere = *itHere;
- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
- {
- if (a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
- goto error;
- }
- }
-
- // The operation succeeded. Commit it.
- Assign (a_reStatus, a_rTemp);
- if (a_reStatus != g_kNoError)
- return;
-
- // All done.
- return;
-
-error:
- // Handle deviations.
- fprintf (stderr, "Region2D::Subtract() failed\n");
- fprintf (stderr, "First input region:\n");
- PrintRegion (*this);
- fprintf (stderr, "Second input region:\n");
- PrintRegion (a_rOther);
- fprintf (stderr, "Result:\n");
- PrintRegion (a_rTemp);
- assert (false);
-}
-
-
-
// Flood-fill the current region.
template <class INDEX, class SIZE>
template <class CONTROL>
@@ -0,0 +1,98 @@
diff --git a/tests/src/unit-bson.cpp b/tests/src/unit-bson.cpp
index 13216f2..fdfc350 100644
--- a/tests/src/unit-bson.cpp
+++ b/tests/src/unit-bson.cpp
@@ -621,7 +621,7 @@ TEST_CASE("BSON input/output_adapters")
{
SECTION("std::ostringstream")
{
- std::basic_ostringstream<std::uint8_t> ss;
+ std::basic_ostringstream<char> ss;
json::to_bson(json_representation, ss);
json j3 = json::from_bson(ss.str());
CHECK(json_representation == j3);
diff --git a/tests/src/unit-cbor.cpp b/tests/src/unit-cbor.cpp
index be94d2f..2b396b7 100644
--- a/tests/src/unit-cbor.cpp
+++ b/tests/src/unit-cbor.cpp
@@ -1881,7 +1881,7 @@ TEST_CASE("single CBOR roundtrip")
{
SECTION("std::ostringstream")
{
- std::basic_ostringstream<std::uint8_t> ss;
+ std::basic_ostringstream<char> ss;
json::to_cbor(j1, ss);
json j3 = json::from_cbor(ss.str());
CHECK(j1 == j3);
diff --git a/tests/src/unit-deserialization.cpp b/tests/src/unit-deserialization.cpp
index 3bc161f..e4918b0 100644
--- a/tests/src/unit-deserialization.cpp
+++ b/tests/src/unit-deserialization.cpp
@@ -1131,13 +1131,11 @@ TEST_CASE("deserialization")
}
}
+
TEST_CASE_TEMPLATE("deserialization of different character types (ASCII)", T,
- char, unsigned char, signed char,
+ char,
wchar_t,
- char16_t, char32_t,
- std::uint8_t, std::int8_t,
- std::int16_t, std::uint16_t,
- std::int32_t, std::uint32_t)
+ char16_t, char32_t)
{
std::vector<T> const v = {'t', 'r', 'u', 'e'};
CHECK(json::parse(v) == json(true));
@@ -1163,7 +1161,7 @@ TEST_CASE_TEMPLATE("deserialization of different character types (UTF-8)", T,
}
TEST_CASE_TEMPLATE("deserialization of different character types (UTF-16)", T,
- char16_t, std::uint16_t)
+ char16_t)
{
// a star emoji
std::vector<T> const v = {static_cast<T>('"'), static_cast<T>(0x2b50), static_cast<T>(0xfe0f), static_cast<T>('"')};
@@ -1176,7 +1174,7 @@ TEST_CASE_TEMPLATE("deserialization of different character types (UTF-16)", T,
}
TEST_CASE_TEMPLATE("deserialization of different character types (UTF-32)", T,
- char32_t, std::uint32_t)
+ char32_t)
{
// a star emoji
std::vector<T> const v = {static_cast<T>('"'), static_cast<T>(0x2b50), static_cast<T>(0xfe0f), static_cast<T>('"')};
diff --git a/tests/src/unit-msgpack.cpp b/tests/src/unit-msgpack.cpp
index 61162af..cfbb1fa 100644
--- a/tests/src/unit-msgpack.cpp
+++ b/tests/src/unit-msgpack.cpp
@@ -1604,7 +1604,7 @@ TEST_CASE("single MessagePack roundtrip")
{
SECTION("std::ostringstream")
{
- std::basic_ostringstream<std::uint8_t> ss;
+ std::basic_ostringstream<char> ss;
json::to_msgpack(j1, ss);
json j3 = json::from_msgpack(ss.str());
CHECK(j1 == j3);
diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp
index fab9aae..98947c5 100644
--- a/tests/src/unit-regression2.cpp
+++ b/tests/src/unit-regression2.cpp
@@ -674,6 +674,7 @@ TEST_CASE("regression tests 2")
CHECK(j.dump() == "{}");
}
+#if 0
#ifdef JSON_HAS_CPP_20
#if __has_include(<span>)
SECTION("issue #2546 - parsing containers of std::byte")
@@ -684,6 +685,7 @@ TEST_CASE("regression tests 2")
CHECK(j.dump() == "\"Hello, world!\"");
}
#endif
+#endif
#endif
SECTION("issue #2574 - Deserialization to std::array, std::pair, and std::tuple with non-default constructable types fails")
@@ -21,6 +21,12 @@ in stdenv.mkDerivation (finalAttrs: {
hash = "sha256-7F0Jon+1oWL7uqet5i1IgHX0fUw/+z0QwEcA3zs5xHg=";
};
patches = lib.optionals stdenv.cc.isClang [
# tests fail to compile on clang-19
# https://github.com/nlohmann/json/issues/4490
./make-tests-build-clang-19.diff
];
nativeBuildInputs = [ cmake ];
cmakeFlags = [
+52
View File
@@ -0,0 +1,52 @@
NR-C1P0-p0_04.j2k-compare2base
NR-C1P0-p0_05.j2k-compare2base
NR-C1P0-p0_06.j2k-compare2base
NR-C1P1-p1_02.j2k-compare2base
NR-C1P1-p1_03.j2k-compare2base
NR-C1P1-p1_04.j2k-compare2base
NR-C1P1-p1_05.j2k-compare2base
NR-JP2-file2.jp2-compare2base
NR-RIC-subsampling_1.jp2-compare2base
NR-RIC-subsampling_2.jp2-compare2base
NR-RIC-zoo1.jp2-compare2base
NR-RIC-zoo2.jp2-compare2base
NR-DEC-_00042.j2k-2-decode-md5
NR-DEC-buxI.j2k-9-decode-md5
NR-DEC-CT_Phillips_JPEG2K_Decompr_Problem.j2k-13-decode-md5
NR-DEC-Marrin.jp2-18-decode-md5
NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5
NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5
NR-DEC-file409752.jp2-40-decode-md5
NR-DEC-issue188_beach_64bitsbox.jp2-41-decode-md5
NR-DEC-issue206_image-000.jp2-42-decode-md5
NR-DEC-issue205.jp2-43-decode-md5
NR-DEC-issue228.j2k-60-decode-md5
NR-DEC-issue142.j2k-66-decode-md5
NR-DEC-issue134.jp2-67-decode-md5
NR-DEC-issue135.j2k-68-decode-md5
NR-DEC-issue208.jp2-69-decode-md5
NR-DEC-issue211.jp2-70-decode-md5
NR-DEC-issue226.j2k-74-decode
NR-DEC-issue226.j2k-74-decode-md5
NR-DEC-p1_04.j2k-124-decode-md5
NR-DEC-p1_04.j2k-125-decode-md5
NR-DEC-p1_04.j2k-126-decode-md5
NR-DEC-p1_04.j2k-127-decode-md5
NR-DEC-p1_04.j2k-128-decode-md5
NR-DEC-p1_04.j2k-129-decode-md5
NR-DEC-p1_04.j2k-131-decode-md5
NR-DEC-p1_04.j2k-138-decode-md5
NR-DEC-p1_04.j2k-140-decode-md5
NR-DEC-p0_04.j2k-166-decode-md5
NR-DEC-p0_04.j2k-167-decode-md5
NR-DEC-p0_04.j2k-168-decode-md5
NR-DEC-p0_04.j2k-172-decode-md5
NR-DEC-issue205.jp2-253-decode-md5
NR-DEC-issue236-ESYCC-CDEF.jp2-254-decode-md5
NR-DEC-issue559-eci-090-CIELab.jp2-255-decode-md5
NR-DEC-issue559-eci-091-CIELab.jp2-256-decode-md5
NR-DEC-db11217111510058.jp2-306-decode-md5
NR-DEC-tnsot_zero.jp2-307-decode-md5
NR-DEC-Bretagne1_ht_lossy.j2k-311-decode-md5
Found-But-No-Test-issue1472-bigloop.j2k
Found-But-No-Test-small_world_non_consecutive_tilepart_tlm.jp2
+22 -14
View File
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
, libpng, libtiff, zlib, lcms2, jpylyzer
, libpng, libtiff, zlib, lcms2
, jpipLibSupport ? false # JPIP library & executables
, jpipServerSupport ? false, curl, fcgi # JPIP Server
, jdk
@@ -18,9 +18,15 @@
}:
let
mkFlag = optSet: flag: "-D${flag}=${if optSet then "ON" else "OFF"}";
# may need to get updated with package
# https://github.com/uclouvain/openjpeg-data
test-data = fetchFromGitHub {
owner = "uclouvain";
repo = "openjpeg-data";
rev = "a428429db695fccfc6d698bd13b6937dffd9d005";
hash = "sha256-udUi7sPNQJ5uCIAM8SqMGee6vRj1QbF9pLjdpNTQE5k=";
};
in
stdenv.mkDerivation rec {
pname = "openjpeg";
version = "2.5.2";
@@ -35,16 +41,15 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
cmakeFlags = [
"-DCMAKE_INSTALL_NAME_DIR=\${CMAKE_INSTALL_PREFIX}/lib"
"-DBUILD_SHARED_LIBS=ON"
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
"-DBUILD_CODEC=ON"
"-DBUILD_THIRDPARTY=OFF"
(mkFlag jpipLibSupport "BUILD_JPIP")
(mkFlag jpipServerSupport "BUILD_JPIP_SERVER")
(lib.cmakeBool "BUILD_JPIP" jpipLibSupport)
(lib.cmakeBool "BUILD_JPIP_SERVER" jpipServerSupport)
"-DBUILD_VIEWER=OFF"
"-DBUILD_JAVA=OFF"
(mkFlag doCheck "BUILD_TESTING")
];
(lib.cmakeBool "BUILD_TESTING" doCheck)
] ++ lib.optional doCheck "-DOPJ_DATA_ROOT=${test-data}";
nativeBuildInputs = [ cmake pkg-config ];
@@ -52,12 +57,15 @@ stdenv.mkDerivation rec {
++ lib.optionals jpipServerSupport [ curl fcgi ]
++ lib.optional (jpipLibSupport) jdk;
doCheck = (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isPower64); # tests fail on aarch64-linux and powerpc64
nativeCheckInputs = [ jpylyzer ];
# tests did fail on powerpc64
doCheck = !stdenv.hostPlatform.isPower64
&& stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkPhase = ''
substituteInPlace ../tools/ctest_scripts/travis-ci.cmake \
--replace "JPYLYZER_EXECUTABLE=" "JPYLYZER_EXECUTABLE=\"$(command -v jpylyzer)\" # "
OPJ_SOURCE_DIR=.. ctest -S ../tools/ctest_scripts/travis-ci.cmake
runHook preCheck
ctest -j $NIX_BUILD_CORES \
-E '.*jpylyser' --exclude-from-file ${./exclude-tests}
runHook postCheck
'';
passthru = {
@@ -0,0 +1,22 @@
diff --git a/test/unittest/writertest.cpp b/test/unittest/writertest.cpp
index 4c24121..66c9087 100644
--- a/test/unittest/writertest.cpp
+++ b/test/unittest/writertest.cpp
@@ -386,6 +386,9 @@ TEST(Writer, InvalidEncoding) {
writer.EndArray();
}
+
+ // does not compile on clang-19
+#if 0
// Fail in encoding
{
StringBuffer buffer;
@@ -401,6 +404,7 @@ TEST(Writer, InvalidEncoding) {
static const UTF32<>::Ch s[] = { 0x110000, 0 }; // Out of U+0000 to U+10FFFF
EXPECT_FALSE(writer.String(s));
}
+#endif
}
TEST(Writer, ValidateEncoding) {
+4
View File
@@ -29,6 +29,10 @@ stdenv.mkDerivation (finalAttrs: {
./use-nixpkgs-gtest.patch
# https://github.com/Tencent/rapidjson/issues/2214
./suppress-valgrind-failures.patch
# disable tests which don't build on clang-19
# https://github.com/Tencent/rapidjson/issues/2318
./char_traits-clang-19-errors.diff
];
postPatch = ''
+11 -13
View File
@@ -6,13 +6,11 @@
fetchCrate,
pkg-config,
cargo-c,
darwin,
libgit2,
libiconv,
nasm,
libgit2,
zlib,
nix-update-script,
testers,
zlib,
rav1e,
}:
@@ -25,22 +23,22 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-Db7qb7HBAy6lniIiN07iEzURmbfNtuhmgJRv7OUagUM=";
};
cargoHash = "sha256-VyQ6n2kIJ7OjK6Xlf0T0GNsBvgESRETzKZDZzAn8ZuY=";
# update built to be able to use the system libgit2
cargoPatches = [ ./update-built.diff ];
cargoHash = "sha256-Ud9Vw31y8nLo0aC3j7XY1+mN/pRvH9gJ0uIq73hKy3Y=";
depsBuildBuild = [ pkg-config ];
depsBuildBuild = [
pkg-config
libgit2
zlib
];
nativeBuildInputs = [
cargo-c
libgit2
nasm
];
buildInputs =
[ zlib ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
darwin.apple_sdk.frameworks.Security
];
env.LIBGIT2_NO_VENDOR = 1;
# Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library
# and linking it with cctools ld64.
+40
View File
@@ -0,0 +1,40 @@
diff --git a/Cargo.lock b/Cargo.lock
index 6825377..8512eba 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -242,9 +242,9 @@ dependencies = [
[[package]]
name = "built"
-version = "0.7.1"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53"
+checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b"
dependencies = [
"git2",
]
@@ -633,9 +633,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "git2"
-version = "0.18.1"
+version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd"
+checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724"
dependencies = [
"bitflags 2.4.1",
"libc",
@@ -845,9 +845,9 @@ dependencies = [
[[package]]
name = "libgit2-sys"
-version = "0.16.1+1.7.1"
+version = "0.17.0+1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c"
+checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224"
dependencies = [
"cc",
"libc",
+5
View File
@@ -41,6 +41,11 @@ stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $out/share/doc/spdlog
cp -rv ../example $out/share/doc/spdlog
substituteInPlace $dev/include/spdlog/tweakme.h \
--replace-fail \
'// #define SPDLOG_FMT_EXTERNAL' \
'#define SPDLOG_FMT_EXTERNAL'
'';
doCheck = true;
@@ -12,7 +12,7 @@ diff -Naur a/Libraries/xcsdk/Tools/xcrun.cpp b/Libraries/xcsdk/Tools/xcrun.cpp
using libutil::FSUtil;
+namespace {
+ const std::vector<const std::string> kSystemDeveloperDirs = {
+ const std::vector<std::string> kSystemDeveloperDirs = {
+ "/private/var/select/developer_dir",
+ "/private/var/db/xcode_select_link"
+ };
+3
View File
@@ -26,6 +26,9 @@ stdenv.mkDerivation (finalAttrs: {
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
# https://github.com/xtensor-stack/xsimd/issues/1030
./disable-test_error_gamma.patch
# https://github.com/xtensor-stack/xsimd/issues/1063
./relax-asin-precision.diff
];
# strictDeps raises the chance that xsimd will be able to be cross compiled
@@ -0,0 +1,14 @@
diff --git a/test/test_xsimd_api.cpp b/test/test_xsimd_api.cpp
index f416ae9..1f8253e 100644
--- a/test/test_xsimd_api.cpp
+++ b/test/test_xsimd_api.cpp
@@ -468,7 +468,8 @@ struct xsimd_api_float_types_functions
void test_asin()
{
value_type val(1);
- CHECK_EQ(extract(xsimd::asin(T(val))), std::asin(val));
+ CHECK(extract(xsimd::asin(T(val)))
+ == doctest::Approx(std::asin(val)).epsilon(1e-7));
}
void test_asinh()
{
+6
View File
@@ -18,6 +18,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-teFspdATn9M7Z1vSr/7PdJx/xAv+TVai8rIekxqpBZk=";
};
# c++ 20 needed for char8_t or clang-19 build fails
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "CMAKE_CXX_STANDARD 17" "CMAKE_CXX_STANDARD 20"
'';
nativeBuildInputs = [
cmake
pkg-config
@@ -0,0 +1,16 @@
this patch fixes build for clang-18+
diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S
index d3235bc33..1a56eb61c 100644
--- a/libgcc/config/aarch64/lse.S
+++ b/libgcc/config/aarch64/lse.S
@@ -170,8 +170,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
.globl \name
.hidden \name
.type \name, %function
- .cfi_startproc
\name:
+ .cfi_startproc
BTI_C
.endm
@@ -0,0 +1,16 @@
this patch fixes build for clang-18+
diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S
index ecef47086..b478dd4d9 100644
--- a/libgcc/config/aarch64/lse.S
+++ b/libgcc/config/aarch64/lse.S
@@ -174,8 +174,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
.globl \name
HIDDEN(\name)
SYMBOL_TYPE(\name, %function)
- .cfi_startproc
\name:
+ .cfi_startproc
.endm
.macro ENDFN name
@@ -0,0 +1,16 @@
this patch fixes build for clang-18+
diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S
index d3235bc33..1a56eb61c 100644
--- a/libgcc/config/aarch64/lse.S
+++ b/libgcc/config/aarch64/lse.S
@@ -197,8 +197,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
.text
.balign 16
.private_extern _\name
- .cfi_startproc
_\name:
+ .cfi_startproc
BTI_C
.endm
@@ -40,6 +40,15 @@ let
is9 = majorVersion == "9";
is8 = majorVersion == "8";
is7 = majorVersion == "7";
# We only apply these patches when building a native toolchain for
# aarch64-darwin, as it breaks building a foreign one:
# https://github.com/iains/gcc-12-branch/issues/18
canApplyIainsDarwinPatches = stdenv.hostPlatform.isDarwin
&& stdenv.hostPlatform.isAarch64
&& buildPlatform == hostPlatform
&& hostPlatform == targetPlatform;
inherit (lib) optionals optional;
in
@@ -71,6 +80,8 @@ in
++ optional langFortran (if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch)
++ [ ./ppc-musl.patch ]
++ optional (atLeast9 && langD) ./libphobos.patch
++ optional (atLeast9 && !atLeast14) ./cfi_startproc-reorder-label-09-1.diff
++ optional (atLeast14 && !canApplyIainsDarwinPatches) ./cfi_startproc-reorder-label-14-1.diff
@@ -135,9 +146,7 @@ in
"12" = [ ./gnat-darwin-dylib-install-name.patch ];
}.${majorVersion} or [])
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
++ optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && buildPlatform == hostPlatform && hostPlatform == targetPlatform) ({
++ optionals canApplyIainsDarwinPatches ({
"14" = [
(fetchpatch {
name = "gcc-14-darwin-aarch64-support.patch";
@@ -159,24 +168,24 @@ in
name = "gcc-13-darwin-aarch64-support.patch";
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/bda0faddfbfb392e7b9c9101056b2c5ab2500508/gcc/gcc-13.3.0.diff";
sha256 = "sha256-RBTCBXIveGwuQGJLzMW/UexpUZdDgdXprp/G2NHkmQo=";
}) ];
}) ./cfi_startproc-reorder-label-2.diff ];
"12" = [ (fetchurl {
name = "gcc-12-darwin-aarch64-support.patch";
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/1ed9eaea059f1677d27382c62f21462b476b37fe/gcc/gcc-12.4.0.diff";
sha256 = "sha256-wOjpT79lps4TKG5/E761odhLGCphBIkCbOPiQg/D1Fw=";
}) ];
}) ./cfi_startproc-reorder-label-2.diff ];
"11" = [ (fetchpatch {
# There are no upstream release tags in https://github.com/iains/gcc-11-branch.
# 5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-11.5.0
url = "https://github.com/iains/gcc-11-branch/compare/5cc4c42a0d4de08715c2eef8715ad5b2e92a23b6..gcc-11.5-darwin-r0.diff";
hash = "sha256-7lH+GkgkrE6nOp9PMdIoqlQNWK31s6oW+lDt1LIkadE=";
}) ];
}) ./cfi_startproc-reorder-label-2.diff ];
"10" = [ (fetchpatch {
# There are no upstream release tags in https://github.com/iains/gcc-10-branch.
# d04fe55 is the commit from https://github.com/gcc-mirror/gcc/releases/tag/releases%2Fgcc-10.5.0
url = "https://github.com/iains/gcc-10-branch/compare/d04fe5541c53cb16d1ca5c80da044b4c7633dbc6...gcc-10-5Dr0-pre-0.diff";
hash = "sha256-kVUHZKtYqkWIcqxHG7yAOR2B60w4KWLoxzaiFD/FWYk=";
}) ];
}) ./cfi_startproc-reorder-label-2.diff ];
}.${majorVersion} or [])
# Work around newer AvailabilityInternal.h when building older versions of GCC.
@@ -0,0 +1,75 @@
From 7ef5ed98cc6666f64db2f155ded2077ce038e1e4 Mon Sep 17 00:00:00 2001
From: Reno Dakota <paparodeo@proton.me>
Date: Sat, 16 Nov 2024 05:57:40 +0000
Subject: [PATCH] [Clang][Driver] report unsupported option error regardless of
argument order
This change updates clang to report unsupported option errors regardless
of the command line argument order.
When clang with a source file and without `-c` it will both compile and
link. When an unsupported option is also part of the command line clang
should generated an error. However, if the source file name comes before
an object file, eg: `-lc`, the error is ignored.
```
$ clang --target=x86_64 -lc hello.c -mhtm
clang: error: unsupported option '-mhtm' for target 'x86_64'
$ echo $?
1
```
but if `-lc` comes after `hello.c` the error is dropped
```
$ clang --target=x86_64 hello.c -mhtm -lc
$ echo $?
0
```
after this change clang will report the error regardless of the command
line argument order.
---
clang/lib/Driver/Driver.cpp | 13 ++++++-------
clang/test/Driver/unsupported-option.c | 10 ++++++++++
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 93e85f7dffe35a..8e784a7b130ac3 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -4064,17 +4064,18 @@ void Driver::handleArguments(Compilation &C, DerivedArgList &Args,
YcArg = YuArg = nullptr;
}
- unsigned LastPLSize = 0;
+ bool LinkOnly = phases::Link == FinalPhase && Inputs.size() > 0;
for (auto &I : Inputs) {
types::ID InputType = I.first;
const Arg *InputArg = I.second;
auto PL = types::getCompilationPhases(InputType);
- LastPLSize = PL.size();
+
+ phases::ID InitialPhase = PL[0];
+ LinkOnly = LinkOnly && phases::Link == InitialPhase && PL.size() == 1;
// If the first step comes after the final phase we are doing as part of
// this compilation, warn the user about it.
- phases::ID InitialPhase = PL[0];
if (InitialPhase > FinalPhase) {
if (InputArg->isClaimed())
continue;
@@ -4129,10 +4130,8 @@ void Driver::handleArguments(Compilation &C, DerivedArgList &Args,
}
}
- // If we are linking, claim any options which are obviously only used for
- // compilation.
- // FIXME: Understand why the last Phase List length is used here.
- if (FinalPhase == phases::Link && LastPLSize == 1) {
+ // claim any options which are obviously only used for compilation.
+ if (LinkOnly) {
Args.ClaimAllArgs(options::OPT_CompileOnly_Group);
Args.ClaimAllArgs(options::OPT_cl_compile_Group);
}
@@ -521,6 +521,12 @@ let
(metadata.getVersionFile "clang/purity.patch")
# https://reviews.llvm.org/D51899
(metadata.getVersionFile "clang/gnu-install-dirs.patch")
# https://github.com/llvm/llvm-project/pull/116476
# prevent clang ignoring warnings / errors for unsuppored
# options when building & linking a source file with trailing
# libraries. eg: `clang -munsupported hello.c -lc`
./clang/clang-unsupported-option.patch
]
++ lib.optional (lib.versions.major metadata.release_version == "13")
# Revert of https://reviews.llvm.org/D100879
@@ -974,6 +980,15 @@ let
lib.versionAtLeast metadata.release_version "14" && lib.versionOlder metadata.release_version "18"
)
) (metadata.getVersionFile "compiler-rt/gnu-install-dirs.patch")
++
lib.optional
(lib.versionAtLeast metadata.release_version "13" && lib.versionOlder metadata.release_version "18")
(fetchpatch {
name = "cfi_startproc-after-label.patch";
url = "https://github.com/llvm/llvm-project/commit/7939ce39dac0078fef7183d6198598b99c652c88.patch";
stripLen = 1;
hash = "sha256-tGqXsYvUllFrPa/r/dsKVlwx5IrcJGccuR1WAtUg7/o=";
})
++ [
# ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the
# extra `/`.
+10 -10
View File
@@ -24,8 +24,8 @@
pkgsTargetTarget,
makeRustPlatform,
wrapRustcWith,
llvmPackages_18,
llvm_18,
llvmPackages_19,
llvm_19,
wrapCCWith,
overrideCC,
fetchpatch,
@@ -33,7 +33,7 @@
let
llvmSharedFor =
pkgSet:
pkgSet.llvmPackages_18.libllvm.override (
pkgSet.llvmPackages_19.libllvm.override (
{
enableSharedLibraries = true;
}
@@ -41,7 +41,7 @@ let
# Force LLVM to compile using clang + LLVM libs when targeting pkgsLLVM
stdenv = pkgSet.stdenv.override {
allowedRequisites = null;
cc = pkgSet.pkgsBuildHost.llvmPackages_18.clangUseLLVM;
cc = pkgSet.pkgsBuildHost.llvmPackages_19.clangUseLLVM;
};
}
);
@@ -68,14 +68,14 @@ import ./default.nix
bootBintools ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintools,
}:
let
llvmPackages = llvmPackages_18;
llvmPackages = llvmPackages_19;
setStdenv =
pkg:
pkg.override {
stdenv = stdenv.override {
allowedRequisites = null;
cc = pkgsBuildHost.llvmPackages_18.clangUseLLVM;
cc = pkgsBuildHost.llvmPackages_19.clangUseLLVM;
};
};
in
@@ -88,7 +88,7 @@ import ./default.nix
libcxx = llvmPackages.libcxx.override {
stdenv = stdenv.override {
allowedRequisites = null;
cc = pkgsBuildHost.llvmPackages_18.clangNoLibcxx;
cc = pkgsBuildHost.llvmPackages_19.clangNoLibcxx;
hostPlatform = stdenv.hostPlatform // {
useLLVM = !stdenv.hostPlatform.isDarwin;
};
@@ -102,7 +102,7 @@ import ./default.nix
}
) { }
else
llvmPackages_18;
llvmPackages_19;
# Note: the version MUST be the same version that we are building. Upstream
# ensures that each released compiler can compile itself:
@@ -139,8 +139,8 @@ import ./default.nix
(
builtins.removeAttrs args [
"llvmPackages_18"
"llvm_18"
"llvmPackages_19"
"llvm_19"
"wrapCCWith"
"overrideCC"
"fetchpatch"
@@ -2578,9 +2578,36 @@ self: super: {
testTarget = "tests";
}) super.conduit-aeson;
# Upper bounds are too strict:
# https://github.com/velveteer/hermes/pull/22
hermes-json = doJailbreak super.hermes-json;
hermes-json = overrideCabal (drv: {
# Upper bounds are too strict:
# https://github.com/velveteer/hermes/pull/22
jailbreak = true;
# vendored simdjson breaks with clang-19. apply patches that work with
# a more recent simdjson so we can un-vendor it
patches = drv.patches or [] ++ [
(fetchpatch {
url = "https://github.com/velveteer/hermes/commit/6fd9904d93a5c001aadb27c114345a6958904d71.patch";
hash = "sha256-Pv09XP0/VjUiAFp237Adj06PIZU21mQRh7guTlKksvA=";
excludes = [
".github/*"
"hermes-bench/*"
];
})
(fetchpatch {
url = "https://github.com/velveteer/hermes/commit/ca8dddbf52f9d7788460a056fefeb241bcd09190.patch";
hash = "sha256-tDDGS0QZ3YWe7+SP09wnxx6lIWL986ce5Zhqr7F2sBk=";
excludes = [
"README.md"
".github/*"
"hermes-bench/*"
];
})
];
postPatch = drv.postPatch or "" + ''
ln -fs ${pkgs.simdjson.src} simdjson
'';
}) super.hermes-json;
# Disabling doctests.
regex-tdfa = overrideCabal {
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchzip, perl, ncurses
{ lib, stdenv, fetchpatch, fetchurl, fetchzip, perl, ncurses
# for tests
, aspell, glibc, runCommand
@@ -27,7 +27,14 @@ stdenv.mkDerivation rec {
hash = "sha256-1toSs01C1Ff6YE5DWtSEp0su/80SD/QKzWuz+yiH0hs=";
};
patches = lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
patches = [
# fix gcc-15 / clang-19 build. can remove on next update
(fetchpatch {
name = "fix-gcc-15-build.patch";
url = "https://github.com/GNUAspell/aspell/commit/ee6cbb12ff36a1e6618d7388a78dd4e0a2b44041.patch";
hash = "sha256-rW1FcfARdtT4wX+zGd2x/1K8zRp9JZhdR/zRd8RwPZA=";
})
] ++ lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
postPatch = ''
patch interfaces/cc/aspell.h < ${./clang.patch}
+1
View File
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DCATCH_DEVELOPMENT_BUILD=ON"
"-DCATCH_BUILD_TESTING=${if doCheck then "ON" else "OFF"}"
"-DCATCH_ENABLE_WERROR=OFF"
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && doCheck) [
# test has a faulty path normalization technique that won't work in
# our darwin build environment https://github.com/catchorg/Catch2/issues/1691
+16 -6
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
enableShared ? !stdenv.hostPlatform.isStatic,
@@ -39,7 +40,7 @@ let
nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}" ];
cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" enableShared) ];
doCheck = true;
@@ -68,14 +69,16 @@ let
};
in
{
fmt_8 = generic {
version = "8.1.1";
hash = "sha256-leb2800CwdZMJRWF5b1Y9ocK0jXpOX/nwo95icDf308=";
};
fmt_9 = generic {
version = "9.1.0";
hash = "sha256-rP6ymyRc7LnKxUXwPpzhHOQvpJkpnRFOt2ctvUNlYI0=";
patches = [
# Fixes the build with Clang ≥ 18.
(fetchpatch {
url = "https://github.com/fmtlib/fmt/commit/c4283ec471bd3efdb114bc1ab30c7c7c5e5e0ee0.patch";
hash = "sha256-YyB5GY/ZqJQIhhGy0ICMPzfP/OUuyLnciiyv8Nscsec=";
})
];
};
fmt_10 = generic {
@@ -86,5 +89,12 @@ in
fmt_11 = generic {
version = "11.0.2";
hash = "sha256-IKNt4xUoVi750zBti5iJJcCk3zivTt7nU12RIf8pM+0=";
patches = [
(fetchpatch {
name = "get-rid-of-std-copy-fix-clang.patch";
url = "https://github.com/fmtlib/fmt/commit/6e462b89aa22fd5f737ed162d0150e145ccb1914.patch";
hash = "sha256-tRU1y1VCxtQ5J2yvFmwUx+YNcQs8izzLImD37KBiCFk=";
})
];
};
}
+21 -6
View File
@@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "gettext";
version = "0.21.1";
version = "0.22.4";
src = fetchurl {
url = "mirror://gnu/gettext/${pname}-${version}.tar.gz";
sha256 = "sha256-6MNlDh2M7odcTzVWQjgsHfgwWL1aEe6FVcDPJ21kbUU=";
hash = "sha256-weC7KkQnqQJDkMZizVMtZkxLNrj/RE7V5UsRX9t6Guo=";
};
patches = [
./absolute-paths.diff
@@ -47,10 +47,25 @@ stdenv.mkDerivation rec {
];
postPatch = ''
substituteAllInPlace gettext-runtime/src/gettext.sh.in
substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd
substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd
substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd
# Older versions of gettext come with a copy of `extern-inline.m4` that is not compatible with clang 18.
# When a project uses gettext + autoreconfPhase, autoreconfPhase will invoke `autopoint -f`, which will
# replace whatever (probably compatible) version of `extern-inline.m4` with one that probalby wont work
# because `autopoint` will copy the autoconf macros from the projects required version of gettext.
# Fixing this requires replacing all the older copies of the problematic file with a new one.
#
# This is ugly, but it avoids requiring workarounds in every package using gettext and autoreconfPhase.
declare -a oldFiles=($(tar tf gettext-tools/misc/archive.dir.tar | grep '^gettext-0\.[19].*/extern-inline.m4'))
oldFilesDir=$(mktemp -d)
for oldFile in "''${oldFiles[@]}"; do
mkdir -p "$oldFilesDir/$(dirname "$oldFile")"
cp gettext-tools/gnulib-m4/extern-inline.m4 "$oldFilesDir/$oldFile"
done
tar uf gettext-tools/misc/archive.dir.tar -C "$oldFilesDir" "''${oldFiles[@]}"
substituteAllInPlace gettext-runtime/src/gettext.sh.in
substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd
substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd
substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd
'' + lib.optionalString stdenv.hostPlatform.isCygwin ''
sed -i -e "s/\(cldr_plurals_LDADD = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in
sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in
+13 -17
View File
@@ -6,41 +6,37 @@
, vulkan-headers
, vulkan-loader
, fmt
, spdlog
, glslang
, ninja
}:
stdenv.mkDerivation rec {
pname = "kompute";
version = "0.8.1";
version = "0.9.0";
src = fetchFromGitHub {
owner = "KomputeProject";
repo = "kompute";
rev = "v${version}";
sha256 = "sha256-OkVGYh8QrD7JNqWFBLrDTYlk6IYHdvt4i7UtC4sQTzo=";
hash = "sha256-cf9Ef85R+VKao286+WHLgBWUqgwvuRocgeCzVJOGbdc=";
};
patches = [
(fetchpatch {
url = "https://github.com/KomputeProject/kompute/commit/9a791b161dd58ca927fe090f65fa2b0e5e85e7ca.diff";
sha256 = "OtFTN8sgPlyiMmVzUnqzCkVMKj6DWxbCXtYwkRdEprY=";
})
(fetchpatch {
name = "enum-class-fix-for-fmt-8-x.patch";
url = "https://github.com/KomputeProject/kompute/commit/f731f2e55c7aaaa804111106c3e469f9a642d4eb.patch";
sha256 = "sha256-scTCYqkgKQnH27xzuY4FVbiwRuwBvChmLPPU7ZUrrL0=";
})
];
cmakeFlags = [
"-DKOMPUTE_OPT_USE_SPDLOG=ON"
# Doesnt work without the vendored `spdlog`, and is redundant.
"-DKOMPUTE_OPT_LOG_LEVEL_DISABLED=ON"
"-DKOMPUTE_OPT_USE_BUILT_IN_SPDLOG=OFF"
"-DKOMPUTE_OPT_USE_BUILT_IN_FMT=OFF"
"-DKOMPUTE_OPT_USE_BUILT_IN_GOOGLE_TEST=OFF"
"-DKOMPUTE_OPT_USE_BUILT_IN_PYBIND11=OFF"
"-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF"
"-DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON"
"-DKOMPUTE_OPT_INSTALL=1"
"-DRELEASE=1"
"-DKOMPUTE_ENABLE_SPDLOG=1"
];
nativeBuildInputs = [ cmake ninja ];
buildInputs = [ fmt ];
buildInputs = [ fmt spdlog ];
propagatedBuildInputs = [ glslang vulkan-headers vulkan-loader ];
meta = with lib; {
@@ -69,6 +69,14 @@ stdenv.mkDerivation (finalAttrs: rec {
url = "https://gitlab.freedesktop.org/poppler/poppler/-/commit/0554731052d1a97745cb179ab0d45620589dd9c4.patch";
hash = "sha256-I78wJ4l1DSh+x/e00ZL8uvrGdBH+ufp+EDm0A1XWyCU=";
})
(fetchpatch {
# fixes build on clang-19
# https://gitlab.freedesktop.org/poppler/poppler/-/merge_requests/1526
name = "char16_t-not-short.patch";
url = "https://gitlab.freedesktop.org/poppler/poppler/-/commit/b4ac7d9af7cb5edfcfcbda035ed8b8c218ba8564.patch";
hash = "sha256-2aEq3VDITJabvB/+bcdULBXbqVbDdL0xJr2TWLiWqX8=";
})
];
nativeBuildInputs = [
@@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: ({
libxml2 libxslt openssl sqlite zlib
# Text rendering
harfbuzz icu
freetype harfbuzz icu
# Image formats
libjpeg libpng
@@ -67,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: ({
dbus glib udev
# Text rendering
fontconfig freetype
fontconfig
libdrm
@@ -323,6 +323,7 @@ stdenv.mkDerivation (finalAttrs: ({
"-system-sqlite"
''-${if mysqlSupport then "plugin" else "no"}-sql-mysql''
''-${if postgresql != null then "plugin" else "no"}-sql-psql''
"-system-libpng"
"-make libs"
"-make tools"
@@ -332,8 +333,6 @@ stdenv.mkDerivation (finalAttrs: ({
++ (
if stdenv.hostPlatform.isDarwin then [
"-no-fontconfig"
"-qt-freetype"
"-qt-libpng"
"-no-framework"
"-no-rpath"
] else [
@@ -351,8 +350,6 @@ stdenv.mkDerivation (finalAttrs: ({
''-${lib.optionalString (cups == null) "no-"}cups''
"-dbus-linked"
"-glib"
] ++ [
"-system-libpng"
] ++ lib.optional withGtk3 "-gtk"
++ lib.optional withLibinput "-libinput"
++ [
@@ -4,6 +4,11 @@ qtModule {
pname = "qtlocation";
propagatedBuildInputs = [ qtbase qtmultimedia ];
outputs = [ "bin" "out" "dev" ];
# Clang 18 treats a non-const, narrowing conversion in an initializer list as an error,
# which results in a failure building a 3rd party dependency of qtlocation. Just suppress it.
env = lib.optionalAttrs (stdenv.cc.isClang && (lib.versionAtLeast (lib.getVersion stdenv.cc) "18")) {
NIX_CFLAGS_COMPILE = "-Wno-c++11-narrowing-const-reference";
};
qmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
# boost uses std::auto_ptr which has been disabled in clang with libcxx
# This flag re-enables this feature
@@ -2,10 +2,19 @@
, qtbase
, qtdeclarative
, openssl
, fetchpatch
}:
qtModule {
pname = "qtquick3d";
propagatedBuildInputs = [ qtbase qtdeclarative ];
buildInputs = [ openssl ];
patches = [
# should be able to remove on next update
(fetchpatch {
name = "fix-clang-19-build.patch";
url = "https://github.com/qt/qtquick3d/commit/636a5558470ba0e0a4db1ca23dc72d96dfabeccf.patch";
hash = "sha256-xBzOoVWDWvpxbSHKWeeWY1ZVldsjoUeJqFcfpvjEWAg=";
})
];
}
@@ -8,7 +8,7 @@
let
pname = "wasilibc";
version = "21";
version = "22-unstable-2024-10-16";
in
stdenv.mkDerivation {
inherit pname version;
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
src = buildPackages.fetchFromGitHub {
owner = "WebAssembly";
repo = "wasi-libc";
rev = "refs/tags/wasi-sdk-${version}";
hash = "sha256-1LsMpO29y79twVrUsuM/JvC7hK8O6Yey4Ard/S3Mvvc=";
rev = "98897e29fcfc81e2b12e487e4154ac99188330c4";
hash = "sha256-NFKhMJj/quvN3mR7lmxzA9w46KhX92iG0rQA9qDeS8I=";
fetchSubmodules = true;
};
@@ -15,23 +15,33 @@
stdenv.mkDerivation rec {
pname = "doxygen";
version = "1.10.0";
version = "1.12.0";
src = fetchFromGitHub {
owner = "doxygen";
repo = "doxygen";
rev = "Release_${lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "sha256-FPI5ICdn9Tne/g9SP6jAQS813AAyoDNooDR/Hyvq6R4=";
hash = "sha256-4zSaM49TjOaZvrUChM4dNJLondCsQPSArOXZnTHS4yI=";
};
patches = [
# fix clang-19 build. can drop on next update
# https://github.com/doxygen/doxygen/pull/11064
(fetchpatch {
name = "sys-spdlog-fix.patch";
url = "https://github.com/doxygen/doxygen/commit/0df6da616f01057d28b11c8bee28443c102dd424.patch";
hash = "sha256-7efkCQFYGslwqhIuPsLYTEiA1rq+mO0DuyQBMt0O+m0=";
name = "fix-clang-19-build.patch";
url = "https://github.com/doxygen/doxygen/commit/cff64a87dea7596fd506a85521d4df4616dc845f.patch";
hash = "sha256-TtkVfV9Ep8/+VGbTjP4NOP8K3p1+A78M+voAIQ+lzOk=";
})
];
# https://github.com/doxygen/doxygen/issues/10928#issuecomment-2179320509
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'JAVACC_CHAR_TYPE=\"unsigned char\"' \
'JAVACC_CHAR_TYPE=\"char8_t\"' \
--replace-fail "CMAKE_CXX_STANDARD 17" "CMAKE_CXX_STANDARD 20"
'';
nativeBuildInputs = [
cmake
python3
@@ -49,9 +59,6 @@ stdenv.mkDerivation rec {
"-Duse_sys_sqlite3=ON"
] ++ lib.optional (qt5 != null) "-Dbuild_wizard=YES";
env.NIX_CFLAGS_COMPILE =
lib.optionalString stdenv.hostPlatform.isDarwin "-mmacosx-version-min=10.9";
# put examples in an output so people/tools can test against them
outputs = [ "out" "examples" ];
postInstall = ''
+23 -12
View File
@@ -1,19 +1,8 @@
{ callPackage, lib, overrideCC, pkgs, buildPackages, openssl, python311, fetchpatch2, enableNpm ? true }:
{ callPackage, lib, openssl, python311, fetchpatch2, enableNpm ? true }:
let
# Clang 16+ cannot build Node v18 due to -Wenum-constexpr-conversion errors.
# Use an older version of clang with the current libc++ for compatibility (e.g., with icu).
ensureCompatibleCC = packages:
if packages.stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion packages.stdenv.cc.cc) "16"
then overrideCC packages.llvmPackages_15.stdenv (packages.llvmPackages_15.stdenv.cc.override {
inherit (packages.llvmPackages) libcxx;
})
else packages.stdenv;
buildNodejs = callPackage ./nodejs.nix {
inherit openssl;
stdenv = ensureCompatibleCC pkgs;
buildPackages = buildPackages // { stdenv = ensureCompatibleCC buildPackages; };
python = python311;
};
@@ -47,5 +36,27 @@ buildNodejs {
url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch";
hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k=";
})
# Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 18 on Darwin.
(fetchpatch2 {
url = "https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9.patch?full_index=1";
extraPrefix = "deps/v8/third_party/zlib/";
stripLen = 1;
hash = "sha256-WVxsoEcJu0WBTyelNrVQFTZxJhnekQb1GrueeRBRdnY=";
})
# Backport V8 fixes for LLVM 19.
(fetchpatch2 {
url = "https://chromium.googlesource.com/v8/v8/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f%5E%21/?format=TEXT";
decode = "base64 -d";
extraPrefix = "deps/v8/";
stripLen = 1;
hash = "sha256-bDTwFbATPn5W4VifWz/SqaiigXYDWHq785C64VezuUE=";
})
(fetchpatch2 {
url = "https://chromium.googlesource.com/v8/v8/+/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7%5E%21/?format=TEXT";
decode = "base64 -d";
extraPrefix = "deps/v8/";
stripLen = 1;
hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg=";
})
] ++ gypPatches;
}
+22
View File
@@ -48,5 +48,27 @@ buildNodejs {
url = "https://github.com/nodejs/node/commit/0f7bdcc17fbc7098b89f238f4bd8ecad9367887b.patch?full_index=1";
hash = "sha256-lXx6QyD2anlY9qAwjNMFM2VcHckBshghUF1NaMoaNl4=";
})
# Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 18 on Darwin.
(fetchpatch2 {
url = "https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9.patch?full_index=1";
extraPrefix = "deps/v8/third_party/zlib/";
stripLen = 1;
hash = "sha256-WVxsoEcJu0WBTyelNrVQFTZxJhnekQb1GrueeRBRdnY=";
})
# Backport V8 fixes for LLVM 19.
(fetchpatch2 {
url = "https://chromium.googlesource.com/v8/v8/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f%5E%21/?format=TEXT";
decode = "base64 -d";
extraPrefix = "deps/v8/";
stripLen = 1;
hash = "sha256-bDTwFbATPn5W4VifWz/SqaiigXYDWHq785C64VezuUE=";
})
(fetchpatch2 {
url = "https://chromium.googlesource.com/v8/v8/+/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7%5E%21/?format=TEXT";
decode = "base64 -d";
extraPrefix = "deps/v8/";
stripLen = 1;
hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg=";
})
] ++ gypPatches;
}
@@ -15,6 +15,7 @@ core_foundation = dependency('appleframeworks', modules : 'CoreFoundation')
bzip2 = dependency('bzip2')
xz = dependency('liblzma')
libmd = dependency('libmd')
libxo = dependency('libxo')
zlib = dependency('zlib')
@@ -173,7 +174,7 @@ install_symlink(
executable(
'install-bin', # Meson reserves the name “install”, so use a different name and rename in install phase.
dependencies : [ copyfile ],
dependencies : [ copyfile, libmd ],
install : true,
sources: [
'install/xinstall.c',
@@ -4,6 +4,7 @@
bzip2,
copyfile,
less,
libmd,
libutil,
libxo,
mkAppleDerivation,
@@ -104,6 +105,7 @@ mkAppleDerivation {
buildInputs = [
bzip2
copyfile
libmd
libutil
libxo
removefile
+3 -3
View File
@@ -14,7 +14,7 @@ let
, bzip2, lz4, lzo, snappy, xz, zlib, zstd
, cracklib, judy, libevent, libxml2
, linux-pam, numactl
, fmt_8
, fmt_11
, withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq
, withStorageRocks ? true
, withEmbedded ? false
@@ -149,7 +149,7 @@ let
];
buildInputs = common.buildInputs
++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ];
++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ];
cmakeFlags = common.cmakeFlags ++ [
"-DPLUGIN_AUTH_PAM=NO"
@@ -179,7 +179,7 @@ let
++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ]
++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv
++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ]
++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ];
++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ];
propagatedBuildInputs = lib.optional withNuma numactl;
+4 -1
View File
@@ -385,6 +385,9 @@ in
configureFlags = (a.configureFlags or []) ++ [
"--with-native-system-header-dir=/include"
"--with-build-sysroot=${lib.getDev self.stdenv.cc.libc}"
# Don't assume that `gettext` was built with iconv support, since we don't have
# our own `glibc` yet.
"--disable-nls"
];
# This is a separate phase because gcc assembles its phase scripts
@@ -507,7 +510,7 @@ in
overrides = self: super: rec {
inherit (prevStage)
ccWrapperStdenv
binutils coreutils gnugrep gettext
binutils coreutils gnugrep
perl patchelf linuxHeaders gnum4 bison libidn2 libunistring libxcrypt;
# We build a special copy of libgmp which doesn't use libstdc++, because
# xgcc++'s libstdc++ references the bootstrap-files (which is what
+5
View File
@@ -29,6 +29,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429.patch";
hash = "sha256-aRnir09FSQMT50keoB7z6AyhWAVBxjSQsTRvBzeBuHU=";
})
# Fixes translation compatibility with gettext 0.22
(fetchpatch {
url = "https://github.com/fontforge/fontforge/commit/55d58f87ab1440f628f2071a6f6cc7ef9626c641.patch";
hash = "sha256-rkYnKPXA8Ztvh9g0zjG2yTUCPd3lE1uqwvBuEd8+Oyw=";
})
# https://github.com/fontforge/fontforge/pull/5423
./replace-distutils.patch
+4
View File
@@ -54,6 +54,10 @@ stdenv.mkDerivation rec {
];
sourceRoot = "torrenttools";
patches = [
./fmt-9.patch
];
postUnpack = ''
cp -pr cliprogress torrenttools/external/cliprogress
cp -pr dottorrent torrenttools/external/dottorrent
+29
View File
@@ -0,0 +1,29 @@
diff --git a/include/file_matcher.hpp b/include/file_matcher.hpp
index c10c7be405..b67baec0ef 100644
--- a/include/file_matcher.hpp
+++ b/include/file_matcher.hpp
@@ -47,7 +47,7 @@
}
std::string error;
- std::string pattern = ".*.{}$"_format(extension);
+ std::string pattern = fmt::format(".*.{}$", extension);
file_include_list_.Add(pattern, &error);
file_include_list_empty_ = false;
Ensures(error.empty());
@@ -62,7 +62,7 @@
}
std::string error;
- std::string pattern = ".*\\.{}$"_format(extension);
+ std::string pattern = fmt::format(".*\\.{}$", extension);
file_exclude_list_.Add(pattern, &error);
file_exclude_list_empty_ = false;
Ensures(error.empty());
@@ -243,4 +243,4 @@
};
-} // namespace torrenttools
\ No newline at end of file
+} // namespace torrenttools
+1
View File
@@ -382,6 +382,7 @@ mapAliases {
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
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
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
fmt_8 = throw "fmt_8 has been removed as it is obsolete and was no longer used in the tree"; # Added 2024-11-12
foldingathome = throw "'foldingathome' has been renamed to/replaced by 'fahclient'"; # Converted to throw 2024-10-17
forgejo-actions-runner = forgejo-runner; # Added 2024-04-04
+7 -18
View File
@@ -3895,7 +3895,7 @@ with pkgs;
stdenv = llvmPackages_13.libcxxStdenv;
libcxx = llvmPackages_13.libcxx;
boost = boost178.override { inherit stdenv; };
fmt = fmt_8.override { inherit stdenv; };
fmt = fmt_9.override { inherit stdenv; };
nanodbc_llvm = nanodbc.override { inherit stdenv; };
avro-cpp_llvm = avro-cpp.override { inherit stdenv boost; };
spdlog_llvm = spdlog.override { inherit stdenv fmt; };
@@ -6743,18 +6743,7 @@ with pkgs;
libllvm = llvmPackages.libllvm;
llvm-manpages = llvmPackages.llvm-manpages;
# Please remove all this logic when bumping to LLVM 19 and make this
# a simple alias.
llvmPackages = let
# This returns the minimum supported version for the platform. The
# assumption is that or any later version is good.
choose = platform: if platform.isDarwin then 16 else 18;
# We take the "max of the mins". Why? Since those are lower bounds of the
# supported version set, this is like intersecting those sets and then
# taking the min bound of that.
minSupported = toString (lib.trivial.max (choose stdenv.hostPlatform) (choose
stdenv.targetPlatform));
in pkgs.${"llvmPackages_${minSupported}"};
llvmPackages = llvmPackages_19;
inherit (rec {
llvmPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/llvm { });
@@ -6923,7 +6912,7 @@ with pkgs;
rust_1_82 = callPackage ../development/compilers/rust/1_82.nix {
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
llvm_18 = llvmPackages_18.libllvm;
llvm_19 = llvmPackages_19.libllvm;
};
rust = rust_1_82;
@@ -9199,7 +9188,7 @@ with pkgs;
fltk = fltk13;
fltk-minimal = fltk13-minimal;
inherit (callPackages ../development/libraries/fmt { }) fmt_8 fmt_9 fmt_10 fmt_11;
inherit (callPackages ../development/libraries/fmt { }) fmt_9 fmt_10 fmt_11;
fmt = fmt_10;
@@ -11092,7 +11081,7 @@ with pkgs;
harfbuzz = harfbuzzFull;
};
termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_8; };
termbench-pro = callPackage ../development/libraries/termbench-pro { fmt = fmt_11; };
texpresso = callPackage ../tools/typesetting/tex/texpresso {
texpresso-tectonic = callPackage ../tools/typesetting/tex/texpresso/tectonic.nix { };
@@ -16019,7 +16008,7 @@ with pkgs;
};
torrenttools = callPackage ../tools/misc/torrenttools {
fmt = fmt_8;
fmt = fmt_9;
};
tony = libsForQt5.callPackage ../applications/audio/tony { };
@@ -18404,7 +18393,7 @@ with pkgs;
kmonad = haskellPackages.kmonad.bin;
kompute = callPackage ../development/libraries/kompute {
fmt = fmt_8;
fmt = fmt_10;
};
# In general we only want keep the last three minor versions around that