From 357745da8ae18c71f110ec3db71b654c5deaa412 Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Tue, 14 Jan 2025 21:33:03 -0800 Subject: [PATCH 1/3] llvmPackages_{12,13,14,15,16,17}.lldb: fix build with libcxx-19 https://github.com/llvm/llvm-project/commit/68744ffbdd7daac41da274eef9ac0d191e11c16d --- pkgs/development/compilers/llvm/common/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 102a43161e3d..9a8b795bdea2 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -701,6 +701,12 @@ let # FIXME: do we need this after 15? (metadata.getVersionFile "lldb/procfs.patch") ] + ++ lib.optional (lib.versionOlder metadata.release_version "18") (fetchpatch { + name = "libcxx-19-char_traits.patch"; + url = "https://github.com/llvm/llvm-project/commit/68744ffbdd7daac41da274eef9ac0d191e11c16d.patch"; + stripLen = 1; + hash = "sha256-QCGhsL/mi7610ZNb5SqxjRGjwJeK2rwtsFVGeG3PUGc="; + }) ++ lib.optional (lib.versionOlder metadata.release_version "17") resourceDirPatch ++ lib.optional (lib.versionOlder metadata.release_version "14") ( metadata.getVersionFile "lldb/gnu-install-dirs.patch" From 7bb07f13a6b988c5e1eb7b88800a0e07d465e7f8 Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Tue, 14 Jan 2025 21:34:50 -0800 Subject: [PATCH 2/3] llvmPackages_{12,13,14,15,16}.lldb: fix build with clang-19 https://github.com/llvm/llvm-project/commit/73e15b5edb4fa4a77e68c299a6e3b21e610d351f --- pkgs/development/compilers/llvm/common/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 9a8b795bdea2..76dc2944ba49 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -707,7 +707,15 @@ let stripLen = 1; hash = "sha256-QCGhsL/mi7610ZNb5SqxjRGjwJeK2rwtsFVGeG3PUGc="; }) - ++ lib.optional (lib.versionOlder metadata.release_version "17") resourceDirPatch + ++ lib.optionals (lib.versionOlder metadata.release_version "17") [ + resourceDirPatch + (fetchpatch { + name = "add-cstdio.patch"; + url = "https://github.com/llvm/llvm-project/commit/73e15b5edb4fa4a77e68c299a6e3b21e610d351f.patch"; + stripLen = 1; + hash = "sha256-eFcvxZaAuBsY/bda1h9212QevrXyvCHw8Cr9ngetDr0="; + }) + ] ++ lib.optional (lib.versionOlder metadata.release_version "14") ( metadata.getVersionFile "lldb/gnu-install-dirs.patch" ) From 57febece67be9cc2b195caf13c645277104f8537 Mon Sep 17 00:00:00 2001 From: Reno Dakota Date: Tue, 14 Jan 2025 21:35:47 -0800 Subject: [PATCH 3/3] llvmPackages{12,13,14}.lldb: fix installCheckPhase on darwin darwin doesn't have a lib output so use `${!outputLib}` --- pkgs/development/compilers/llvm/common/lldb.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/lldb.nix b/pkgs/development/compilers/llvm/common/lldb.nix index 01969b4c5bd5..f4a131c47620 100644 --- a/pkgs/development/compilers/llvm/common/lldb.nix +++ b/pkgs/development/compilers/llvm/common/lldb.nix @@ -127,13 +127,13 @@ stdenv.mkDerivation (rec { # TODO: cleanup with mass-rebuild installCheckPhase = '' - if [ ! -e $lib/${python3.sitePackages}/lldb/_lldb*.so ] ; then + if [ ! -e ''${!outputLib}/${python3.sitePackages}/lldb/_lldb*.so ] ; then echo "ERROR: python files not installed where expected!"; return 1; fi '' # Something lua is built on older versions but this file doesn't exist. + lib.optionalString (lib.versionAtLeast release_version "14") '' - if [ ! -e "$lib/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then + if [ ! -e "''${!outputLib}/lib/lua/${lua5_3.luaversion}/lldb.so" ] ; then echo "ERROR: lua files not installed where expected!"; return 1; fi