diff --git a/pkgs/development/web/playwright/webkit.nix b/pkgs/development/web/playwright/webkit.nix index a068c052825f..1254070e6f6f 100644 --- a/pkgs/development/web/playwright/webkit.nix +++ b/pkgs/development/web/playwright/webkit.nix @@ -106,6 +106,14 @@ let # Fix multiple definition errors by using C++17 instead of C++11 substituteInPlace CMakeLists.txt \ --replace "set(CMAKE_CXX_STANDARD 11)" "set(CMAKE_CXX_STANDARD 17)" + # Fix the build with CMake 4. + # See: + # * + # * + substituteInPlace third_party/sjpeg/CMakeLists.txt \ + --replace-fail \ + 'cmake_minimum_required(VERSION 2.8.7)' \ + 'cmake_minimum_required(VERSION 3.5...3.10)' ''; postInstall = ""; diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 916dc2255576..d82686d98c3e 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -31,6 +31,9 @@ stdenv.mkDerivation rec { # https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00021.html # Multiple upstream commits squashed with adjustments, see header ./gnulib-float-h-tests-port-to-C23-PowerPC-GCC.patch + ] + ++ lib.optionals stdenv.hostPlatform.useLLVM [ + ./musl-llvm.patch ]; nativeBuildInputs = [ diff --git a/pkgs/tools/text/diffutils/musl-llvm.patch b/pkgs/tools/text/diffutils/musl-llvm.patch new file mode 100644 index 000000000000..535a64d1ab79 --- /dev/null +++ b/pkgs/tools/text/diffutils/musl-llvm.patch @@ -0,0 +1,15 @@ +--- + gnulib-tests/test-c32ispunct.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gnulib-tests/test-c32ispunct.c ++++ b/gnulib-tests/test-c32ispunct.c +@@ -255,7 +255,7 @@ main (int argc, char *argv[]) + is = for_character ("\360\235\204\200", 4); + ASSERT (is != 0); + #endif +- #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__) ++ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__) + /* U+E003A TAG COLON */ + is = for_character ("\363\240\200\272", 4); + ASSERT (is == 0);