From a892ce396da8da9638e04310681438732a32ac81 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 9 Aug 2025 22:48:54 +0100 Subject: [PATCH] llvmPackages_16: drop --- doc/release-notes/rl-2511.section.md | 2 +- .../llvm/16/clang/gnu-install-dirs.patch | 109 --------- .../compilers/llvm/16/clang/purity.patch | 29 --- .../llvm/16/compiler-rt/asan-offset.patch | 11 - .../llvm/16/compiler-rt/freebsd-i386.patch | 21 -- .../16/compiler-rt/gnu-install-dirs.patch | 20 -- .../llvm/16/libunwind/gnu-install-dirs.patch | 22 -- .../llvm/16/lld/gnu-install-dirs.patch | 46 ---- .../compilers/llvm/16/lldb/resource-dir.patch | 14 -- .../llvm/16/llvm/gnu-install-dirs.patch | 161 ------------- .../llvm-lit-cfg-add-libs-to-dylib-path.patch | 79 ------- .../llvm/16/openmp/fix-find-tool.patch | 21 -- .../llvm/16/openmp/gnu-install-dirs.patch | 22 -- .../compiler-rt/X86-support-extension.patch | 0 .../compiler-rt/armv6-scudo-libatomic.patch | 0 .../darwin-targetconditionals.patch | 0 .../compiler-rt/normalize-var.patch | 0 .../{16 => 17}/libclc/gnu-install-dirs.patch | 0 .../llvm/{16 => 17}/lld/add-table-base.patch | 0 .../llvm/gnu-install-dirs-polly.patch | 0 ...-script-runner-set-dyld-library-path.patch | 0 ...polly-lit-cfg-add-libs-to-dylib-path.patch | 0 .../{16 => 17}/openmp/run-lit-directly.patch | 0 .../compilers/llvm/common/clang/default.nix | 18 +- .../compilers/llvm/common/default.nix | 15 +- .../compilers/llvm/common/libcxx/default.nix | 222 +++++++++--------- .../llvm/common/libunwind/default.nix | 149 ++++++------ .../compilers/llvm/common/lldb/default.nix | 19 +- .../compilers/llvm/common/llvm/default.nix | 33 +-- .../compilers/llvm/common/patches.nix | 41 +--- pkgs/development/compilers/llvm/default.nix | 1 - pkgs/test/default.nix | 1 + pkgs/top-level/aliases.nix | 11 +- pkgs/top-level/all-packages.nix | 7 - 34 files changed, 211 insertions(+), 863 deletions(-) delete mode 100644 pkgs/development/compilers/llvm/16/clang/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/16/clang/purity.patch delete mode 100644 pkgs/development/compilers/llvm/16/compiler-rt/asan-offset.patch delete mode 100644 pkgs/development/compilers/llvm/16/compiler-rt/freebsd-i386.patch delete mode 100644 pkgs/development/compilers/llvm/16/compiler-rt/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/16/libunwind/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/16/lld/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/16/lldb/resource-dir.patch delete mode 100644 pkgs/development/compilers/llvm/16/llvm/gnu-install-dirs.patch delete mode 100644 pkgs/development/compilers/llvm/16/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch delete mode 100644 pkgs/development/compilers/llvm/16/openmp/fix-find-tool.patch delete mode 100644 pkgs/development/compilers/llvm/16/openmp/gnu-install-dirs.patch rename pkgs/development/compilers/llvm/{16 => 17}/compiler-rt/X86-support-extension.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/compiler-rt/armv6-scudo-libatomic.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/compiler-rt/darwin-targetconditionals.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/compiler-rt/normalize-var.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/libclc/gnu-install-dirs.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/lld/add-table-base.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/llvm/gnu-install-dirs-polly.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/llvm/lit-shell-script-runner-set-dyld-library-path.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch (100%) rename pkgs/development/compilers/llvm/{16 => 17}/openmp/run-lit-directly.patch (100%) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 9c1b3029f8bc..b301b8f4507f 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -26,7 +26,7 @@ - GCC 9, 10, 11, and 12 have been removed, as they have reached end‐of‐life upstream and are no longer supported. -- LLVM 12, 13, 14, and 15 have been removed, as they have reached end‐of‐life upstream and are no longer supported. +- LLVM 12, 13, 14, 15, and 16 have been removed, as they have reached end‐of‐life upstream and are no longer supported. - GHCJS 8.10, exposed via `haskell.compiler.ghcjs` and `haskell.compiler.ghcjs810`, has been removed. Downstream users should migrate their projects to the new JavaScript backend of GHC proper which can be used via `pkgsCross.ghcjs` from Nixpkgs. Haskell packaging code, like `haskellPackages.mkDerivation`, `ghcWithPackages` and `hoogleWithPackages`, also no longer supports GHCJS. diff --git a/pkgs/development/compilers/llvm/16/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/16/clang/gnu-install-dirs.patch deleted file mode 100644 index e5465c9bf4f9..000000000000 --- a/pkgs/development/compilers/llvm/16/clang/gnu-install-dirs.patch +++ /dev/null @@ -1,109 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 090cfa352078..624b7c9f3400 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -38,12 +38,26 @@ if(CLANG_BUILT_STANDALONE) - find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}") - list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}") - -- # Turn into CACHE PATHs for overwritting -- set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") -- set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree") -- set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree") -- set(LLVM_TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin") -- set(LLVM_LIBRARY_DIR "${LLVM_LIBRARY_DIR}" CACHE PATH "Path to llvm/lib") -+ # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets -+ # LLVM_CONFIG. -+ if (NOT LLVM_CONFIG_FOUND) -+ # Pull values from LLVMConfig.cmake. We can drop this once the llvm-config -+ # path is removed. -+ set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) -+ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}") -+ # N.B. this is just a default value, the CACHE PATHs below can be overriden. -+ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm") -+ set(TOOLS_BINARY_DIR "${LLVM_TOOLS_BINARY_DIR}") -+ set(LIBRARY_DIR "${LLVM_LIBRARY_DIR}") -+ else() -+ set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}") -+ endif() -+ -+ set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") -+ set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree") -+ set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree") -+ set(LLVM_TOOLS_BINARY_DIR "${TOOLS_BINARY_DIR}" CACHE PATH "Path to llvm/bin") -+ set(LLVM_LIBRARY_DIR "${LIBRARY_DIR}" CACHE PATH "Path to llvm/lib") - - find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} - NO_DEFAULT_PATH) -diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake -index 75b0080f6715..c895b884cd27 100644 ---- a/cmake/modules/AddClang.cmake -+++ b/cmake/modules/AddClang.cmake -@@ -119,8 +119,8 @@ macro(add_clang_library name) - install(TARGETS ${lib} - COMPONENT ${lib} - ${export_to_clangtargets} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") - - if (NOT LLVM_ENABLE_IDE) -diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt -index bb9a11eabbef..e2de91c65fbb 100644 ---- a/lib/Headers/CMakeLists.txt -+++ b/lib/Headers/CMakeLists.txt -@@ -437,7 +437,7 @@ add_header_target("openmp-resource-headers" ${openmp_wrapper_files}) - add_header_target("windows-resource-headers" ${windows_only_files}) - add_header_target("utility-resource-headers" ${utility_files}) - --set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) -+set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR}/include) - - ############################################################# - # Install rules for the catch-all clang-resource-headers target -diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt -index 4f23065a2472..6a0f55991e24 100644 ---- a/tools/libclang/CMakeLists.txt -+++ b/tools/libclang/CMakeLists.txt -@@ -234,7 +234,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) - COMPONENT - libclang-python-bindings - DESTINATION -- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") -+ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") - endforeach() - if(NOT LLVM_ENABLE_IDE) - add_custom_target(libclang-python-bindings) -diff --git a/tools/scan-build-py/CMakeLists.txt b/tools/scan-build-py/CMakeLists.txt -index 3aca22c0b0a8..3115353e3fe3 100644 ---- a/tools/scan-build-py/CMakeLists.txt -+++ b/tools/scan-build-py/CMakeLists.txt -@@ -88,7 +88,7 @@ foreach(lib ${LibScanbuild}) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) - install(FILES lib/libscanbuild/${lib} -- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild" - COMPONENT scan-build-py) - endforeach() - -@@ -106,7 +106,7 @@ foreach(resource ${LibScanbuildResources}) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) - install(FILES lib/libscanbuild/resources/${resource} -- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libscanbuild/resources" - COMPONENT scan-build-py) - endforeach() - -@@ -122,7 +122,7 @@ foreach(lib ${LibEar}) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) - install(FILES lib/libear/${lib} -- DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/libear" - COMPONENT scan-build-py) - endforeach() - diff --git a/pkgs/development/compilers/llvm/16/clang/purity.patch b/pkgs/development/compilers/llvm/16/clang/purity.patch deleted file mode 100644 index 1c94f293eb93..000000000000 --- a/pkgs/development/compilers/llvm/16/clang/purity.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001 -From: Will Dietz -Date: Thu, 18 May 2017 11:56:12 -0500 -Subject: [PATCH] "purity" patch for 5.0 - ---- - lib/Driver/ToolChains/Gnu.cpp | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp -index fe3c0191bb..c6a482bece 100644 ---- a/lib/Driver/ToolChains/Gnu.cpp -+++ b/lib/Driver/ToolChains/Gnu.cpp -@@ -487,13 +487,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, - } else { - if (Args.hasArg(options::OPT_rdynamic)) - CmdArgs.push_back("-export-dynamic"); - -- if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE && -- !Args.hasArg(options::OPT_r)) { -- CmdArgs.push_back("-dynamic-linker"); -- CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) + -- ToolChain.getDynamicLinker(Args))); -- } - } - - CmdArgs.push_back("-o"); --- -2.11.0 diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/asan-offset.patch b/pkgs/development/compilers/llvm/16/compiler-rt/asan-offset.patch deleted file mode 100644 index 46afe5c00734..000000000000 --- a/pkgs/development/compilers/llvm/16/compiler-rt/asan-offset.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/lib/asan/CMakeLists.txt 2022-06-22 16:46:24.000000000 +0000 -+++ b/lib/asan/CMakeLists.txt -@@ -46,7 +46,7 @@ set(ASAN_STATIC_SOURCES - asan_rtl_static.cpp - ) - --if (NOT WIN32 AND NOT APPLE) -+if (LINUX) - list(APPEND ASAN_STATIC_SOURCES - asan_rtl_x86_64.S - ) diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/freebsd-i386.patch b/pkgs/development/compilers/llvm/16/compiler-rt/freebsd-i386.patch deleted file mode 100644 index 0a221750552a..000000000000 --- a/pkgs/development/compilers/llvm/16/compiler-rt/freebsd-i386.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/lib/builtins/fp_lib.h 1969-12-31 16:00:01.000000000 -0800 -+++ b/lib/builtins/fp_lib.h 2023-12-21 23:39:36.066927293 -0800 -@@ -26,18 +26,6 @@ - #include - #include - --// x86_64 FreeBSD prior v9.3 define fixed-width types incorrectly in --// 32-bit mode. --#if defined(__FreeBSD__) && defined(__i386__) --#include --#if __FreeBSD_version < 903000 // v9.3 --#define uint64_t unsigned long long --#define int64_t long long --#undef UINT64_C --#define UINT64_C(c) (c##ULL) --#endif --#endif -- - #if defined SINGLE_PRECISION - - typedef uint16_t half_rep_t; diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/16/compiler-rt/gnu-install-dirs.patch deleted file mode 100644 index f3b1f63a7d71..000000000000 --- a/pkgs/development/compilers/llvm/16/compiler-rt/gnu-install-dirs.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index 8a6219568b3f..30ee68a47ccf 100644 ---- a/cmake/base-config-ix.cmake -+++ b/cmake/base-config-ix.cmake -@@ -100,13 +100,13 @@ endif() - if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) - set(COMPILER_RT_OUTPUT_LIBRARY_DIR - ${COMPILER_RT_OUTPUT_DIR}/lib) -- extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib) -+ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}") - set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH - "Path where built compiler-rt libraries should be installed.") - else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) - set(COMPILER_RT_OUTPUT_LIBRARY_DIR - ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR}) -- extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}") -+ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}/${COMPILER_RT_OS_DIR}") - set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH - "Path where built compiler-rt libraries should be installed.") - endif() diff --git a/pkgs/development/compilers/llvm/16/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/16/libunwind/gnu-install-dirs.patch deleted file mode 100644 index edfb2a8760bd..000000000000 --- a/pkgs/development/compilers/llvm/16/libunwind/gnu-install-dirs.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5a06805f05f1..86a50329e6a8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -117,7 +117,7 @@ set(LIBUNWIND_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH - - if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) - set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) -- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH -+ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH - "Path where built libunwind libraries should be installed.") - if(LIBCXX_LIBDIR_SUBDIR) - string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR}) -@@ -129,7 +129,7 @@ else() - else() - set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX}) - endif() -- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH -+ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH - "Path where built libunwind libraries should be installed.") - endif() - diff --git a/pkgs/development/compilers/llvm/16/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/16/lld/gnu-install-dirs.patch deleted file mode 100644 index 86e76f4a16d8..000000000000 --- a/pkgs/development/compilers/llvm/16/lld/gnu-install-dirs.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3d6225646fe6..9b5d0b15af13 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -33,10 +33,22 @@ if(LLD_BUILT_STANDALONE) - find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_DIR}") - list(APPEND CMAKE_MODULE_PATH "${LLVM_DIR}") - -- # Turn into CACHE PATHs for overwriting -- set(LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") -- set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}" CACHE PATH "Path to LLVM build tree") -- set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree") -+ # We can't check LLVM_CONFIG here, because find_package(LLVM ...) also sets -+ # LLVM_CONFIG. -+ if (NOT LLVM_CONFIG_FOUND) -+ # Pull values from LLVMConfig.cmake. We can drop this once the llvm-config -+ # path is removed. -+ set(INCLUDE_DIRS ${LLVM_INCLUDE_DIRS}) -+ set(LLVM_OBJ_DIR "${LLVM_BINARY_DIR}") -+ # N.B. this is just a default value, the CACHE PATHs below can be overridden. -+ set(MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm") -+ else() -+ set(INCLUDE_DIRS "${LLVM_BINARY_DIR}/include" "${MAIN_INCLUDE_DIR}") -+ endif() -+ -+ set(LLVM_INCLUDE_DIRS ${INCLUDE_DIRS} CACHE PATH "Path to llvm/include and any other header dirs needed") -+ set(LLVM_BINARY_DIR "${LLVM_OBJ_ROOT}" CACHE PATH "Path to LLVM build tree") -+ set(LLVM_MAIN_SRC_DIR "${MAIN_SRC_DIR}" CACHE PATH "Path to LLVM source tree") - - find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} - NO_DEFAULT_PATH) -diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake -index d3924f7243d4..42a7cd62281c 100644 ---- a/cmake/modules/AddLLD.cmake -+++ b/cmake/modules/AddLLD.cmake -@@ -18,8 +18,8 @@ macro(add_lld_library name) - install(TARGETS ${name} - COMPONENT ${name} - ${export_to_lldtargets} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") - - if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) diff --git a/pkgs/development/compilers/llvm/16/lldb/resource-dir.patch b/pkgs/development/compilers/llvm/16/lldb/resource-dir.patch deleted file mode 100644 index 3e1a8b7d7142..000000000000 --- a/pkgs/development/compilers/llvm/16/lldb/resource-dir.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake -index ec06ba285f27..286162f098fb 100644 ---- a/cmake/modules/LLDBConfig.cmake -+++ b/cmake/modules/LLDBConfig.cmake -@@ -290,7 +290,8 @@ if (NOT TARGET clang-resource-headers) - # could be and pick the first that exists. - foreach(CANDIDATE "${Clang_DIR}/../.." "${LLVM_DIR}" "${LLVM_LIBRARY_DIRS}" - "${LLVM_BUILD_LIBRARY_DIR}" -- "${LLVM_LIBRARY_DIR}") -+ "${LLVM_LIBRARY_DIR}" -+ "@clangLibDir@") - # Build the resource directory path by appending 'clang/'. - set(CANDIDATE_RESOURCE_DIR "${CANDIDATE}/clang/${LLDB_CLANG_RESOURCE_DIR_NAME}") - if (IS_DIRECTORY "${CANDIDATE_RESOURCE_DIR}") diff --git a/pkgs/development/compilers/llvm/16/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/16/llvm/gnu-install-dirs.patch deleted file mode 100644 index 1c2d52d59ef2..000000000000 --- a/pkgs/development/compilers/llvm/16/llvm/gnu-install-dirs.patch +++ /dev/null @@ -1,161 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7e25e0407db2..72f031a82b75 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -995,7 +995,7 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") - add_subdirectory(${TENSORFLOW_AOT_PATH}/xla_aot_runtime_src - ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/tf_runtime) - install(TARGETS tf_xla_runtime EXPORT LLVMExports -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT tf_xla_runtime) - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS tf_xla_runtime) - # Once we add more modules, we should handle this more automatically. - if (DEFINED LLVM_OVERRIDE_MODEL_HEADER_INLINERSIZEMODEL) -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index 93e6d67551de..8d367457af5a 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -874,8 +874,8 @@ macro(add_llvm_library name) - get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella}) - install(TARGETS ${name} - ${export_to_llvmexports} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} -+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) - - if (NOT LLVM_ENABLE_IDE) -@@ -2043,7 +2043,7 @@ function(llvm_install_library_symlink name dest type) - set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) - set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) - -- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) -+ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(WIN32 AND "${type}" STREQUAL "SHARED") - set(output_dir "${CMAKE_INSTALL_BINDIR}") - endif() -@@ -2312,16 +2312,37 @@ function(llvm_setup_rpath name) - - if (APPLE) - set(_install_name_dir INSTALL_NAME_DIR "@rpath") -- set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS) - # $ORIGIN is not interpreted at link time by aix ld. - # Since BUILD_SHARED_LIBS is only recommended for use by developers, - # hardcode the rpath to build/install lib dir first in this mode. - # FIXME: update this when there is better solution. -- set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) - elseif(UNIX) -- set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}") -+ # Note that we add `extra_libdir` (aka `LLVM_LIBRARY_DIR` in our case) back -+ # to `_install_rpath` here. -+ # -+ # In nixpkgs we do not build and install LLVM alongside rdeps of LLVM (i.e. -+ # clang); instead LLVM is its own package and thus lands at its own nix -+ # store path. This makes it so that the default relative rpath (`../lib/`) -+ # does not point at the LLVM shared objects. -+ # -+ # More discussion here: -+ # - https://github.com/NixOS/nixpkgs/pull/235624#discussion_r1220150329 -+ # - https://reviews.llvm.org/D146918 (16.0.5+) -+ # -+ # Note that we leave `extra_libdir` in `_build_rpath`: without FHS there is -+ # no potential that this will result in us pulling in the "wrong" LLVM. -+ # Adding this to the build rpath means we aren't forced to use -+ # `installCheckPhase` instead of `checkPhase` (i.e. binaries in the build -+ # dir, pre-install, will have the right rpath for LLVM). -+ # -+ # As noted in the differential above, an alternative solution is to have -+ # all rdeps of nixpkgs' LLVM (that use the AddLLVM.cmake machinery) set -+ # `CMAKE_INSTALL_RPATH`. -+ set(_build_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) -+ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) - if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") - set_property(TARGET ${name} APPEND_STRING PROPERTY - LINK_FLAGS " -Wl,-z,origin ") -diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake -index 891c9e6d618c..8d963f3b0069 100644 ---- a/cmake/modules/AddOCaml.cmake -+++ b/cmake/modules/AddOCaml.cmake -@@ -147,9 +147,9 @@ function(add_ocaml_library name) - endforeach() - - if( APPLE ) -- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - elseif( UNIX ) -- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") -+ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - endif() - list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") - -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index d99af79aa38e..21e794224b99 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -127,7 +127,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS - ) - list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS) - --extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "lib\${LLVM_LIBDIR_SUFFIX}") -+extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") - set(LLVM_CONFIG_LIBRARY_DIRS - "${LLVM_CONFIG_LIBRARY_DIR}" - # FIXME: Should there be other entries here? -diff --git a/docs/CMake.rst b/docs/CMake.rst -index 7926de258ec8..5ae01adc3905 100644 ---- a/docs/CMake.rst -+++ b/docs/CMake.rst -@@ -250,7 +250,7 @@ description is in `LLVM-related variables`_ below. - **LLVM_LIBDIR_SUFFIX**:STRING - Extra suffix to append to the directory where libraries are to be - installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` -- to install libraries to ``/usr/lib64``. -+ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``. - - **LLVM_PARALLEL_{COMPILE,LINK}_JOBS**:STRING - Building the llvm toolchain can use a lot of resources, particularly -@@ -284,6 +284,10 @@ manual, or execute ``cmake --help-variable VARIABLE_NAME``. - The path to install executables, relative to the *CMAKE_INSTALL_PREFIX*. - Defaults to "bin". - -+**CMAKE_INSTALL_LIBDIR**:PATH -+ The path to install libraries, relative to the *CMAKE_INSTALL_PREFIX*. -+ Defaults to "lib". -+ - **CMAKE_INSTALL_INCLUDEDIR**:PATH - The path to install header files, relative to the *CMAKE_INSTALL_PREFIX*. - Defaults to "include". -diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in -index 370005cd8d7d..7e790bc52111 100644 ---- a/tools/llvm-config/BuildVariables.inc.in -+++ b/tools/llvm-config/BuildVariables.inc.in -@@ -23,6 +23,7 @@ - #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" - #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" -+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" - #define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" - #define LLVM_INSTALL_PACKAGE_DIR "@LLVM_INSTALL_PACKAGE_DIR@" - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index b1d795a0a349..de6cb1514f05 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -366,7 +366,11 @@ int main(int argc, char **argv) { - sys::fs::make_absolute(ActivePrefix, Path); - ActiveBinDir = std::string(Path.str()); - } -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -+ { -+ SmallString<256> Path(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX); -+ sys::fs::make_absolute(ActivePrefix, Path); -+ ActiveLibDir = std::string(Path.str()); -+ } - { - SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR); - sys::fs::make_absolute(ActivePrefix, Path); diff --git a/pkgs/development/compilers/llvm/16/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/16/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch deleted file mode 100644 index d824516c0a16..000000000000 --- a/pkgs/development/compilers/llvm/16/llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/test/Unit/lit.cfg.py b/test/Unit/lit.cfg.py -index 81e8dc04acea..479ff95681e2 100644 ---- a/test/Unit/lit.cfg.py -+++ b/test/Unit/lit.cfg.py -@@ -3,6 +3,7 @@ - # Configuration file for the 'lit' test runner. - - import os -+import platform - import subprocess - - import lit.formats -@@ -55,3 +56,26 @@ if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir): - # Win32 may use %SYSTEMDRIVE% during file system shell operations, so propogate. - if sys.platform == 'win32' and 'SYSTEMDRIVE' in os.environ: - config.environment['SYSTEMDRIVE'] = os.environ['SYSTEMDRIVE'] -+ -+# Add the LLVM dynamic libs to the platform-specific loader search path env var: -+# -+# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify.. -+def find_shlibpath_var(): -+ if platform.system() in ['Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'SunOS']: -+ yield 'LD_LIBRARY_PATH' -+ elif platform.system() == 'Darwin': -+ yield 'DYLD_LIBRARY_PATH' -+ elif platform.system() == 'Windows': -+ yield 'PATH' -+ elif platform.system() == 'AIX': -+ yield 'LIBPATH' -+ -+for shlibpath_var in find_shlibpath_var(): -+ shlibpath = os.path.pathsep.join( -+ (config.shlibdir, -+ config.environment.get(shlibpath_var, ''))) -+ config.environment[shlibpath_var] = shlibpath -+ break -+else: -+ lit_config.warning("unable to inject shared library path on '{}'" -+ .format(platform.system())) -diff --git a/test/lit.cfg.py b/test/lit.cfg.py -index 75a38b4c5dad..856fc75c9d74 100644 ---- a/test/lit.cfg.py -+++ b/test/lit.cfg.py -@@ -42,6 +42,26 @@ llvm_config.with_environment('PATH', config.llvm_tools_dir, append_path=True) - llvm_config.with_system_environment( - ['HOME', 'INCLUDE', 'LIB', 'TMP', 'TEMP']) - -+# Add the LLVM dynamic libs to the platform-specific loader search path env var: -+# -+# TODO: this is copied from `clang`'s `lit.cfg.py`; should unify.. -+def find_shlibpath_var(): -+ if platform.system() in ['Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'SunOS']: -+ yield 'LD_LIBRARY_PATH' -+ elif platform.system() == 'Darwin': -+ yield 'DYLD_LIBRARY_PATH' -+ elif platform.system() == 'Windows': -+ yield 'PATH' -+ elif platform.system() == 'AIX': -+ yield 'LIBPATH' -+ -+for shlibpath_var in find_shlibpath_var(): -+ shlibpath = config.llvm_shlib_dir -+ llvm_config.with_environment(shlibpath_var, shlibpath, append_path = True) -+ break -+else: -+ lit_config.warning("unable to inject shared library path on '{}'" -+ .format(platform.system())) - - # Set up OCAMLPATH to include newly built OCaml libraries. - top_ocaml_lib = os.path.join(config.llvm_lib_dir, 'ocaml') -@@ -318,7 +338,7 @@ def have_cxx_shared_library(): - - try: - readobj_cmd = subprocess.Popen( -- [readobj_exe, '--needed-libs', readobj_exe], stdout=subprocess.PIPE) -+ [readobj_exe, '--needed-libs', readobj_exe], stdout=subprocess.PIPE, env=config.environment) - except OSError: - print('could not exec llvm-readobj') - return False diff --git a/pkgs/development/compilers/llvm/16/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/16/openmp/fix-find-tool.patch deleted file mode 100644 index dd0a79f1d325..000000000000 --- a/pkgs/development/compilers/llvm/16/openmp/fix-find-tool.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt -index 49b398c9f765..6f1dd1340010 100644 ---- a/libomptarget/DeviceRTL/CMakeLists.txt -+++ b/libomptarget/DeviceRTL/CMakeLists.txt -@@ -27,11 +27,11 @@ endif() - if (LLVM_DIR) - # Builds that use pre-installed LLVM have LLVM_DIR set. - # A standalone or LLVM_ENABLE_RUNTIMES=openmp build takes this route -- find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) -- find_program(PACKAGER_TOOL clang-offload-packager PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) -- find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) -- find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) -- find_program(EXTRACT_TOOL llvm-extract PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) -+ find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR}) -+ find_program(PACKAGER_TOOL clang-offload-packager PATHS ${LLVM_TOOLS_BINARY_DIR}) -+ find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR}) -+ find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR}) -+ find_program(EXTRACT_TOOL llvm-extract PATHS ${LLVM_TOOLS_BINARY_DIR}) - if ((NOT CLANG_TOOL) OR (NOT LINK_TOOL) OR (NOT OPT_TOOL) OR (NOT EXTRACT_TOOL) OR (NOT PACKAGER_TOOL)) - libomptarget_say("Not building DeviceRTL. Missing clang: ${CLANG_TOOL}, llvm-link: ${LINK_TOOL}, opt: ${OPT_TOOL}, llvm-extract: ${EXTRACT_TOOL}, or clang-offload-packager: ${PACKAGER_TOOL}") - return() diff --git a/pkgs/development/compilers/llvm/16/openmp/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/16/openmp/gnu-install-dirs.patch deleted file mode 100644 index 77a93208832a..000000000000 --- a/pkgs/development/compilers/llvm/16/openmp/gnu-install-dirs.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b6ddbe90516d..311ab1d50e7f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,7 +29,7 @@ if (OPENMP_STANDALONE_BUILD) - set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING - "Suffix of lib installation directory, e.g. 64 => lib64") - # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. -- set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}") -+ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}") - - # Group test settings. - set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING -@@ -40,7 +40,7 @@ if (OPENMP_STANDALONE_BUILD) - else() - set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) - # If building in tree, we honor the same install suffix LLVM uses. -- set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}") -+ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - - if (NOT MSVC) - set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/17/compiler-rt/X86-support-extension.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/compiler-rt/X86-support-extension.patch rename to pkgs/development/compilers/llvm/17/compiler-rt/X86-support-extension.patch diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/armv6-scudo-libatomic.patch b/pkgs/development/compilers/llvm/17/compiler-rt/armv6-scudo-libatomic.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/compiler-rt/armv6-scudo-libatomic.patch rename to pkgs/development/compilers/llvm/17/compiler-rt/armv6-scudo-libatomic.patch diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/17/compiler-rt/darwin-targetconditionals.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/compiler-rt/darwin-targetconditionals.patch rename to pkgs/development/compilers/llvm/17/compiler-rt/darwin-targetconditionals.patch diff --git a/pkgs/development/compilers/llvm/16/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/17/compiler-rt/normalize-var.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/compiler-rt/normalize-var.patch rename to pkgs/development/compilers/llvm/17/compiler-rt/normalize-var.patch diff --git a/pkgs/development/compilers/llvm/16/libclc/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/17/libclc/gnu-install-dirs.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/libclc/gnu-install-dirs.patch rename to pkgs/development/compilers/llvm/17/libclc/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/16/lld/add-table-base.patch b/pkgs/development/compilers/llvm/17/lld/add-table-base.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/lld/add-table-base.patch rename to pkgs/development/compilers/llvm/17/lld/add-table-base.patch diff --git a/pkgs/development/compilers/llvm/16/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs-polly.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/llvm/gnu-install-dirs-polly.patch rename to pkgs/development/compilers/llvm/17/llvm/gnu-install-dirs-polly.patch diff --git a/pkgs/development/compilers/llvm/16/llvm/lit-shell-script-runner-set-dyld-library-path.patch b/pkgs/development/compilers/llvm/17/llvm/lit-shell-script-runner-set-dyld-library-path.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/llvm/lit-shell-script-runner-set-dyld-library-path.patch rename to pkgs/development/compilers/llvm/17/llvm/lit-shell-script-runner-set-dyld-library-path.patch diff --git a/pkgs/development/compilers/llvm/16/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch b/pkgs/development/compilers/llvm/17/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch rename to pkgs/development/compilers/llvm/17/llvm/polly-lit-cfg-add-libs-to-dylib-path.patch diff --git a/pkgs/development/compilers/llvm/16/openmp/run-lit-directly.patch b/pkgs/development/compilers/llvm/17/openmp/run-lit-directly.patch similarity index 100% rename from pkgs/development/compilers/llvm/16/openmp/run-lit-directly.patch rename to pkgs/development/compilers/llvm/17/openmp/run-lit-directly.patch diff --git a/pkgs/development/compilers/llvm/common/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix index cdd18429007b..741c122db094 100644 --- a/pkgs/development/compilers/llvm/common/clang/default.nix +++ b/pkgs/development/compilers/llvm/common/clang/default.nix @@ -52,27 +52,12 @@ stdenv.mkDerivation ( # libraries. eg: `clang -munsupported hello.c -lc` ./clang-unsupported-option.patch ] - ++ lib.optional (lib.versionOlder release_version "17") (fetchpatch { - name = "ignore-nostd-link.patch"; - url = "https://github.com/llvm/llvm-project/commit/5b77e752dcd073846b89559d6c0e1a7699e58615.patch"; - relative = "clang"; - hash = "sha256-qzSAmoGY+7POkDhcGgQRPaNQ3+7PIcIc9cZuiE/eLkc="; - }) # Pass the correct path to libllvm ++ [ (replaceVars ./clang-at-least-16-LLVMgold-path.patch { libllvmLibdir = "${libllvm.lib}/lib"; }) ] - # Backport `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__` support from Clang 17. - # This is needed by newer SDKs (14+). - ++ lib.optional (lib.versionOlder (lib.versions.major release_version) "17") (fetchpatch { - name = "clang-darwin-An-OS-version-preprocessor-define.patch"; - url = "https://github.com/llvm/llvm-project/commit/c8e2dd8c6f490b68e41fe663b44535a8a21dfeab.patch?full_index=1"; - includes = [ "lib/Basic/Targets/OSTargets.cpp" ]; - stripLen = 1; - hash = "sha256-Vs32kql7N6qtLqc12FtZHURcbenA7+N3E/nRRX3jdig="; - }) # Fixes a bunch of lambda-related crashes # https://github.com/llvm/llvm-project/pull/93206 ++ lib.optional (lib.versions.major release_version == "18") (fetchpatch { @@ -116,7 +101,8 @@ stdenv.mkDerivation ( ++ lib.optionals (lib.versionAtLeast release_version "21") [ (lib.cmakeFeature "CLANG_RESOURCE_DIR" "${placeholder "lib"}/lib/clang/${lib.versions.major release_version}") ] - ++ lib.optionals (lib.versionAtLeast release_version "17") [ + # TODO: Clean up on `staging`. + ++ [ (lib.cmakeBool "LLVM_INCLUDE_TESTS" false) ] ++ lib.optionals enableManpages [ diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 4944ee75990c..12d8143da385 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -238,20 +238,7 @@ let lib.recurseIntoAttrs { llef = callPackage ./lldb-plugins/llef.nix { }; } ); - lldb = callPackage ./lldb ( - { - } - // lib.optionalAttrs (lib.versions.major metadata.release_version == "16") { - src = callPackage ( - { runCommand }: - runCommand "lldb-src-${metadata.version}" { } '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/lldb "$out" - '' - ) { }; - } - ); + lldb = callPackage ./lldb { }; lldb-manpages = lowPrio ( tools.lldb.override { diff --git a/pkgs/development/compilers/llvm/common/libcxx/default.nix b/pkgs/development/compilers/llvm/common/libcxx/default.nix index 73eee5aa84f0..073c63d63c91 100644 --- a/pkgs/development/compilers/llvm/common/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/common/libcxx/default.nix @@ -121,126 +121,116 @@ let in -stdenv.mkDerivation ( - finalAttrs: - { - pname = "libcxx"; - inherit version cmakeFlags; +stdenv.mkDerivation (finalAttrs: { + pname = "libcxx"; + inherit version cmakeFlags; - src = - if monorepoSrc != null then - runCommand "libcxx-src-${version}" { inherit (monorepoSrc) passthru; } ( - '' - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libcxx "$out" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/third-party "$out" - '' - + (lib.optionalString (lib.versionAtLeast release_version "20") '' - cp -r ${monorepoSrc}/libc "$out" - '') - + '' - cp -r ${monorepoSrc}/runtimes "$out" - '' - + (lib.optionalString (cxxabi == null) '' - cp -r ${monorepoSrc}/libcxxabi "$out" - '') - ) - else - src; + src = + if monorepoSrc != null then + runCommand "libcxx-src-${version}" { inherit (monorepoSrc) passthru; } ( + '' + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/libcxx "$out" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + cp -r ${monorepoSrc}/llvm/utils "$out/llvm" + cp -r ${monorepoSrc}/third-party "$out" + '' + + (lib.optionalString (lib.versionAtLeast release_version "20") '' + cp -r ${monorepoSrc}/libc "$out" + '') + + '' + cp -r ${monorepoSrc}/runtimes "$out" + '' + + (lib.optionalString (cxxabi == null) '' + cp -r ${monorepoSrc}/libcxxabi "$out" + '') + ) + else + src; - outputs = [ - "out" - "dev" - ]; + outputs = [ + "out" + "dev" + ]; - preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' - patchShebangs utils/cat_files.py + preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' + patchShebangs utils/cat_files.py + ''; + + # TODO: Remove on `staging`. + patches = [ ]; + + nativeBuildInputs = [ + cmake + ninja + python3 + ] + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames + ++ lib.optional (cxxabi != null) lndir; + + buildInputs = [ + cxxabi + ] + ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm && !stdenv.hostPlatform.isFreeBSD) [ + libunwind + ]; + + # TODO: Possibly move back to `sourceRoot` on `staging`? + postPatch = '' + cd runtimes + ''; + + # libc++.so is a linker script which expands to multiple libraries, + # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't + # support linker scripts so the external cxxabi needs to be symlinked in + postInstall = + lib.optionalString (cxxabi != null) '' + lndir ${lib.getDev cxxabi}/include $dev/include/c++/v1 + lndir ${lib.getLib cxxabi}/lib $out/lib + libcxxabi=$out/lib/lib${cxxabi.libName}.a + '' + # LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON doesn't work for + # external cxxabi libraries so merge libc++abi.a into libc++.a ourselves. + + # GNU binutils emits objects in LIFO order in MRI scripts so after the merge + # the objects are in reversed order so a second MRI script is required so the + # objects in the archive are listed in proper order (libc++.a, libc++abi.a) + + lib.optionalString (cxxabi != null) '' + libcxxabi=''${libcxxabi-$out/lib/libc++abi.a} + if [[ -f $out/lib/libc++.a && -e $libcxxabi ]]; then + $AR -M < 0; - in - { - pname = "libunwind"; +stdenv.mkDerivation (finalAttrs: { + pname = "libunwind"; - inherit version; + inherit version; - patches = lib.optional (lib.versionOlder release_version "17") ( - getVersionFile "libunwind/gnu-install-dirs.patch" - ); + # TODO: Remove on `staging`. + patches = [ ]; - src = - if monorepoSrc != null then - runCommand "libunwind-src-${version}" { inherit (monorepoSrc) passthru; } '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/libunwind "$out" - mkdir -p "$out/libcxx" - cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx" - cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx" - mkdir -p "$out/llvm" - cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" - cp -r ${monorepoSrc}/llvm/utils "$out/llvm" - cp -r ${monorepoSrc}/runtimes "$out" - '' - else - src; + src = + if monorepoSrc != null then + runCommand "libunwind-src-${version}" { inherit (monorepoSrc) passthru; } '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/libunwind "$out" + mkdir -p "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx" + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + cp -r ${monorepoSrc}/llvm/utils "$out/llvm" + cp -r ${monorepoSrc}/runtimes "$out" + '' + else + src; - sourceRoot = "${finalAttrs.src.name}/runtimes"; + sourceRoot = "${finalAttrs.src.name}/runtimes"; - outputs = [ - "out" - "dev" - ]; + outputs = [ + "out" + "dev" + ]; - nativeBuildInputs = [ - cmake - ninja - python3 - ]; + nativeBuildInputs = [ + cmake + ninja + python3 + ]; - cmakeFlags = [ - (lib.cmakeBool "LIBUNWIND_ENABLE_SHARED" enableShared) - (lib.cmakeFeature "LLVM_ENABLE_RUNTIMES" "libunwind") - ] - ++ devExtraCmakeFlags; + cmakeFlags = [ + (lib.cmakeBool "LIBUNWIND_ENABLE_SHARED" enableShared) + (lib.cmakeFeature "LLVM_ENABLE_RUNTIMES" "libunwind") + ] + ++ devExtraCmakeFlags; - prePatch = lib.optionalString (hasPatches || lib.versionOlder release_version "18") '' - cd ../libunwind - chmod -R u+w . + prePatch = lib.optionalString (lib.versionOlder release_version "18") '' + cd ../libunwind + chmod -R u+w . + ''; + + postPatch = lib.optionalString (lib.versionOlder release_version "18") '' + cd ../runtimes + ''; + + postInstall = + lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isWindows) + '' + # libcxxabi wants to link to libunwind_shared.so (?). + ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so + '' + + lib.optionalString (enableShared && stdenv.hostPlatform.isWindows) '' + ln -s $out/lib/libunwind.dll.a $out/lib/libunwind_shared.dll.a + '' + + lib.optionalString (doFakeLibgcc && !stdenv.hostPlatform.isWindows) '' + ln -s $out/lib/libunwind.so $out/lib/libgcc_s.so + ln -s $out/lib/libunwind.so $out/lib/libgcc_s.so.1 + '' + + lib.optionalString (doFakeLibgcc && stdenv.hostPlatform.isWindows) '' + ln -s $out/lib/libunwind.dll.a $out/lib/libgcc_s.dll.a ''; - postPatch = lib.optionalString (hasPatches || lib.versionOlder release_version "18") '' - cd ../runtimes + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. ''; - - postInstall = - lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isWindows) - '' - # libcxxabi wants to link to libunwind_shared.so (?). - ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so - '' - + lib.optionalString (enableShared && stdenv.hostPlatform.isWindows) '' - ln -s $out/lib/libunwind.dll.a $out/lib/libunwind_shared.dll.a - '' - + lib.optionalString (doFakeLibgcc && !stdenv.hostPlatform.isWindows) '' - ln -s $out/lib/libunwind.so $out/lib/libgcc_s.so - ln -s $out/lib/libunwind.so $out/lib/libgcc_s.so.1 - '' - + lib.optionalString (doFakeLibgcc && stdenv.hostPlatform.isWindows) '' - ln -s $out/lib/libunwind.dll.a $out/lib/libgcc_s.dll.a - ''; - - meta = llvm_meta // { - # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst - homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; - description = "LLVM's unwinder library"; - longDescription = '' - The unwind library provides a family of _Unwind_* functions implementing - the language-neutral stack unwinding portion of the Itanium C++ ABI (Level - I). It is a dependency of the C++ ABI library, and sometimes is a - dependency of other runtimes. - ''; - }; - } -) + }; +}) diff --git a/pkgs/development/compilers/llvm/common/lldb/default.nix b/pkgs/development/compilers/llvm/common/lldb/default.nix index 01461c352e7d..62f5c249ea4a 100644 --- a/pkgs/development/compilers/llvm/common/lldb/default.nix +++ b/pkgs/development/compilers/llvm/common/lldb/default.nix @@ -71,28 +71,12 @@ stdenv.mkDerivation ( sourceRoot = "${finalAttrs.src.name}/lldb"; patches = - let - resourceDirPatch = - (replaceVars (getVersionFile "lldb/resource-dir.patch") { - clangLibDir = "${lib.getLib libclang}/lib"; - }).overrideAttrs - (_: _: { name = "resource-dir.patch"; }); - in lib.optional (lib.versionOlder 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.optionals (lib.versionOlder 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="; - }) - ] ++ [ ./gnu-install-dirs.patch ]; nativeBuildInputs = [ @@ -147,7 +131,8 @@ stdenv.mkDerivation ( ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ (lib.cmakeFeature "LLDB_CODESIGN_IDENTITY" "") # codesigning makes nondeterministic ] - ++ lib.optionals (lib.versionAtLeast release_version "17") [ + # TODO: Clean up on `staging`. + ++ [ (lib.cmakeFeature "CLANG_RESOURCE_DIR" "../../../../${lib.getLib libclang}") ] ++ lib.optionals enableManpages [ diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index 104bd84aa455..3c0b27938463 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -178,15 +178,6 @@ stdenv.mkDerivation ( stripLen = 1; } ) - ++ lib.optionals (lib.versionOlder (lib.versions.major release_version) "17") [ - # fix RuntimeDyld usage on aarch64-linux (e.g. python312Packages.numba tests) - # See also: https://github.com/numba/numba/issues/9109 - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/2e1b838a889f9793d4bcd5dbfe10db9796b77143.patch"; - relative = "llvm"; - hash = "sha256-Ot45P/iwaR4hkcM3xtLwfryQNgHI6pv6ADjv98tgdZA="; - }) - ] ++ lib.optional (lib.versions.major release_version == "17") # Fixes a crash with -fzero-call-used-regs=used-gpr @@ -216,16 +207,14 @@ stdenv.mkDerivation ( hash = "sha256-fqw5gTSEOGs3kAguR4tINFG7Xja1RAje+q67HJt2nGg="; }) ] - ++ - lib.optionals (lib.versionAtLeast release_version "17" && lib.versionOlder release_version "19") - [ - # Fixes test-suite on glibc 2.40 (https://github.com/llvm/llvm-project/pull/100804) - (fetchpatch { - url = "https://github.com/llvm/llvm-project/commit/1e8df9e85a1ff213e5868bd822877695f27504ad.patch"; - hash = "sha256-mvBlG2RxpZPFnPI7jvCMz+Fc8JuM15Ye3th1FVZMizE="; - stripLen = 1; - }) - ] + ++ lib.optionals (lib.versionOlder release_version "19") [ + # Fixes test-suite on glibc 2.40 (https://github.com/llvm/llvm-project/pull/100804) + (fetchpatch { + url = "https://github.com/llvm/llvm-project/commit/1e8df9e85a1ff213e5868bd822877695f27504ad.patch"; + hash = "sha256-mvBlG2RxpZPFnPI7jvCMz+Fc8JuM15Ye3th1FVZMizE="; + stripLen = 1; + }) + ] ++ lib.optionals enablePolly [ # Just like the `gnu-install-dirs` patch, but for `polly`. (getVersionFile "llvm/gnu-install-dirs-polly.patch") @@ -392,12 +381,6 @@ stdenv.mkDerivation ( '' rm test/tools/llvm-objcopy/ELF/strip-preserve-atime.test '' - + - # timing-based tests are trouble - lib.optionalString (lib.versionOlder release_version "17") '' - - rm utils/lit/tests/googletest-timeout.py - '' + # valgrind unhappy with musl or glibc, but fails w/musl only optionalString stdenv.hostPlatform.isMusl '' diff --git a/pkgs/development/compilers/llvm/common/patches.nix b/pkgs/development/compilers/llvm/common/patches.nix index 735aa7b82b22..773084379719 100644 --- a/pkgs/development/compilers/llvm/common/patches.nix +++ b/pkgs/development/compilers/llvm/common/patches.nix @@ -10,21 +10,16 @@ after = "18"; path = ../18; } - { - before = "17"; - path = ../16; - } ]; "clang/aarch64-tblgen.patch" = [ { - after = "17"; before = "18"; path = ../17; } ]; "lld/add-table-base.patch" = [ { - path = ../16; + path = ../17; } ]; "lld/gnu-install-dirs.patch" = [ @@ -66,16 +61,11 @@ } { before = "18"; - path = ../16; + path = ../17; } ]; "llvm/llvm-lit-cfg-add-libs-to-dylib-path.patch" = [ { - before = "17"; - path = ../16; - } - { - after = "17"; path = ../17; } ]; @@ -86,23 +76,17 @@ } { before = "18"; - path = ../16; + path = ../17; } ]; "llvm/polly-lit-cfg-add-libs-to-dylib-path.patch" = [ { - path = ../16; - } - ]; - "libunwind/gnu-install-dirs.patch" = [ - { - before = "17"; - path = ../16; + path = ../17; } ]; "compiler-rt/X86-support-extension.patch" = [ { - path = ../16; + path = ../17; } ]; "compiler-rt/armv6-scudo-libatomic.patch" = [ @@ -112,38 +96,33 @@ } { before = "19"; - path = ../16; + path = ../17; } ]; "compiler-rt/gnu-install-dirs.patch" = [ - { - before = "17"; - path = ../16; - } { path = ../17; } ]; "compiler-rt/darwin-targetconditionals.patch" = [ { - path = ../16; + path = ../17; } ]; "compiler-rt/normalize-var.patch" = [ { - path = ../16; + path = ../17; } ]; "openmp/fix-find-tool.patch" = [ { - after = "17"; before = "19"; path = ../17; } ]; "openmp/run-lit-directly.patch" = [ { - path = ../16; + path = ../17; } ]; "libclc/use-default-paths.patch" = [ @@ -160,7 +139,7 @@ "libclc/gnu-install-dirs.patch" = [ { before = "21"; - path = ../16; + path = ../17; } { after = "21"; diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 014246d25bb2..2f10bcc90134 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -22,7 +22,6 @@ }@packageSetArgs: let versions = { - "16.0.6".officialRelease.sha256 = "sha256-fspqSReX+VD+Nl/Cfq+tDcdPtnQPV1IRopNDfd5VtUs="; "17.0.6".officialRelease.sha256 = "sha256-8MEDLLhocshmxoEBRSKlJ/GzJ8nfuzQ8qn0X/vLA+ag="; "18.1.8".officialRelease.sha256 = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE="; "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index b2cdbd98e990..89972848d86b 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -20,6 +20,7 @@ with pkgs; (filter (n: n != "llvmPackages_13")) (filter (n: n != "llvmPackages_14")) (filter (n: n != "llvmPackages_15")) + (filter (n: n != "llvmPackages_16")) ]; tests = lib.genAttrs pkgSets ( name: diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 557cc191c0c1..5fd7139832a0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -698,12 +698,10 @@ mapAliases { cyber = throw "cyber has been removed, as it does not build with supported Zig versions"; # Added 2025-08-09 # these are for convenience, not for backward compat., and shouldn't expire until the package is deprecated. - clang16Stdenv = lowPrio llvmPackages_16.stdenv; # preserve, reason: see above clang17Stdenv = lowPrio llvmPackages_17.stdenv; # preserve, reason: see above clang18Stdenv = lowPrio llvmPackages_18.stdenv; # preserve, reason: see above clang19Stdenv = lowPrio llvmPackages_19.stdenv; # preserve, reason: see above - clang-tools_16 = llvmPackages_16.clang-tools; # Added 2024-04-22 clang-tools_17 = llvmPackages_17.clang-tools; # Added 2024-04-22 clang-tools_18 = llvmPackages_18.clang-tools; # Added 2024-04-22 clang-tools_19 = llvmPackages_19.clang-tools; # Added 2024-08-21 @@ -1513,6 +1511,15 @@ mapAliases { clang15Stdenv = throw "clang15Stdenv has been removed, as it is unmaintained and obsolete"; # Added 2025-08-12 clang-tools_15 = throw "clang-tools_15 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-12 + llvmPackages_16 = throw "llvmPackages_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + llvm_16 = throw "llvm_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + lld_16 = throw "lld_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + lldb_16 = throw "lldb_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + mlir_16 = throw "mlir_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + clang_16 = throw "clang_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + clang16Stdenv = throw "clang16Stdenv has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + clang-tools_16 = throw "clang-tools_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + lobster-two = throw "'lobster-two' has been renamed to/replaced by 'google-fonts'"; # Converted to throw 2024-10-17 loc = throw "'loc' has been removed due to lack of upstream maintenance. Consider 'tokei' as an alternative."; # Added 2025-01-25 loco-cli = loco; # Added 2025-02-24 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d096292c909..b36115d7da9c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4633,7 +4633,6 @@ with pkgs; clang-manpages = llvmPackages.clang-manpages; clang = llvmPackages.clang; - clang_16 = llvmPackages_16.clang; clang_17 = llvmPackages_17.clang; clang-tools = llvmPackages.clang-tools; @@ -5361,18 +5360,14 @@ with pkgs; }; lld = llvmPackages.lld; - lld_16 = llvmPackages_16.lld; lld_17 = llvmPackages_17.lld; lldb = llvmPackages.lldb; - lldb_16 = llvmPackages_16.lldb; lldb_17 = llvmPackages_17.lldb; llvm = llvmPackages.llvm; - llvm_16 = llvmPackages_16.llvm; llvm_17 = llvmPackages_17.llvm; - mlir_16 = llvmPackages_16.mlir; mlir_17 = llvmPackages_17.mlir; flang = llvmPackages_20.flang; @@ -5386,7 +5381,6 @@ with pkgs; (rec { llvmPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/llvm { }); - llvmPackages_16 = llvmPackagesSet."16"; llvmPackages_17 = llvmPackagesSet."17"; llvmPackages_18 = llvmPackagesSet."18"; @@ -5420,7 +5414,6 @@ with pkgs; mkLLVMPackages = llvmPackagesSet.mkPackage; }) - llvmPackages_16 llvmPackages_17 llvmPackages_18 clang_18