diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index a98d2f468196..1d8f32f41d45 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -26,6 +26,8 @@ - GCC 9, 10, 11, and 12 have been removed, as they have reached end‐of‐life upstream and are no longer supported. +- LLVM 12 has been removed, as it has reached end‐of‐life upstream and is 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. - GHC 8.6, 8.10, 9.0, 9.2, and their package sets have been removed. diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/12/compiler-rt/armv7l.patch deleted file mode 100644 index 120cfe6feb2a..000000000000 --- a/pkgs/development/compilers/llvm/12/compiler-rt/armv7l.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -ur compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake ---- compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake 2020-03-24 00:01:02.000000000 +0900 -+++ compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:42:00.883450706 +0900 -@@ -24,7 +24,7 @@ - - - set(ARM64 aarch64) --set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) -+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) - set(HEXAGON hexagon) - set(X86 i386) - set(X86_64 x86_64) -diff -ur compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt ---- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt 2020-03-24 00:01:02.000000000 +0900 -+++ compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:44:49.468579650 +0900 -@@ -474,6 +474,7 @@ - set(armv7_SOURCES ${arm_SOURCES}) - set(armv7s_SOURCES ${arm_SOURCES}) - set(armv7k_SOURCES ${arm_SOURCES}) -+set(armv7l_SOURCES ${arm_SOURCES}) - set(arm64_SOURCES ${aarch64_SOURCES}) - - # macho_embedded archs -@@ -595,7 +596,7 @@ - foreach (arch ${BUILTIN_SUPPORTED_ARCH}) - if (CAN_TARGET_${arch}) - # For ARM archs, exclude any VFP builtins if VFP is not supported -- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") -+ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") - string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") - check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP) - if(NOT COMPILER_RT_HAS_${arch}_VFP) diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/codesign.patch b/pkgs/development/compilers/llvm/12/compiler-rt/codesign.patch deleted file mode 100644 index 3cc12b94b200..000000000000 --- a/pkgs/development/compilers/llvm/12/compiler-rt/codesign.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 -From: Will Dietz -Date: Tue, 19 Sep 2017 13:13:06 -0500 -Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that - needs it - ---- - cmake/Modules/AddCompilerRT.cmake | 8 ------ - test/asan/CMakeLists.txt | 52 --------------------------------------- - test/tsan/CMakeLists.txt | 47 ----------------------------------- - 3 files changed, 107 deletions(-) - -diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake -index bc5fb9ff7..b64eb4246 100644 ---- a/cmake/Modules/AddCompilerRT.cmake -+++ b/cmake/Modules/AddCompilerRT.cmake -@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type) - set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") - set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") - endif() -- if(APPLE) -- # Ad-hoc sign the dylibs -- add_custom_command(TARGET ${libname} -- POST_BUILD -- COMMAND codesign --sign - $ -- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR} -- ) -- endif() - endif() - install(TARGETS ${libname} - ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR} -2.14.1 - diff --git a/pkgs/development/compilers/llvm/12/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/12/libunwind/gnu-install-dirs.patch deleted file mode 100644 index a791d6c43231..000000000000 --- a/pkgs/development/compilers/llvm/12/libunwind/gnu-install-dirs.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48cb8e004e08..fec8144fb95a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,6 +23,8 @@ set(LIBUNWIND_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBUNWIND_STANDALONE_BUILD) - project(libunwind LANGUAGES C CXX ASM) - -+ include(GNUInstallDirs) -+ - set(PACKAGE_NAME libunwind) - set(PACKAGE_VERSION 12.0.0) - set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -@@ -115,17 +117,17 @@ set(CMAKE_MODULE_PATH - - if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) - set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) -- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) -+ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++) - if(LIBCXX_LIBDIR_SUBDIR) - string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR}) - string(APPEND LIBUNWIND_INSTALL_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR}) - endif() - elseif(LLVM_LIBRARY_OUTPUT_INTDIR) - set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) -- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX}) -+ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX}) - else() - set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX}) -- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX}) -+ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX}) - endif() - - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBUNWIND_LIBRARY_DIR}) diff --git a/pkgs/development/compilers/llvm/12/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/12/lldb/gnu-install-dirs.patch deleted file mode 100644 index 9a4d2b272acb..000000000000 --- a/pkgs/development/compilers/llvm/12/lldb/gnu-install-dirs.patch +++ /dev/null @@ -1,110 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b5633e21c56a..f2f1035e9238 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -10,6 +10,8 @@ set(CMAKE_MODULE_PATH - # If we are not building as part of LLVM, build LLDB as a standalone project, - # using LLVM as an external library. - if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) -+ include(GNUInstallDirs) -+ - project(lldb) - include(LLDBStandalone) - -diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake -index 4ed5c647c5d2..89f96e710d55 100644 ---- a/cmake/modules/AddLLDB.cmake -+++ b/cmake/modules/AddLLDB.cmake -@@ -107,13 +107,13 @@ function(add_lldb_library name) - endif() - - if(PARAM_SHARED) -- set(install_dest lib${LLVM_LIBDIR_SUFFIX}) -+ set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(PARAM_INSTALL_PREFIX) - set(install_dest ${PARAM_INSTALL_PREFIX}) - endif() - # RUNTIME is relevant for DLL platforms, FRAMEWORK for macOS - install(TARGETS ${name} COMPONENT ${name} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${install_dest} - ARCHIVE DESTINATION ${install_dest} - FRAMEWORK DESTINATION ${install_dest}) -diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake -index 2fdf1502d055..37364341ff8b 100644 ---- a/cmake/modules/LLDBConfig.cmake -+++ b/cmake/modules/LLDBConfig.cmake -@@ -225,7 +225,7 @@ include_directories(BEFORE - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ - COMPONENT lldb-headers -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".cmake" EXCLUDE -@@ -233,7 +233,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/ - COMPONENT lldb-headers -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN ".cmake" EXCLUDE -diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt -index 734167e51bc5..f95761b5df58 100644 ---- a/tools/intel-features/CMakeLists.txt -+++ b/tools/intel-features/CMakeLists.txt -@@ -65,4 +65,4 @@ if (LLDB_ENABLE_PYTHON AND LLDB_BUILD_INTEL_PT) - endif() - - install(TARGETS lldbIntelFeatures -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) -diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake -index 752113b..010f187 100644 ---- a/cmake/modules/LLDBStandalone.cmake -+++ b/cmake/modules/LLDBStandalone.cmake -@@ -62,7 +62,7 @@ endif() - - # They are used as destination of target generators. - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) --set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) -+set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) - if(WIN32 OR CYGWIN) - # DLL platform -- put DLLs into bin. - set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b5633e2..86e4738 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -79,7 +79,7 @@ if (LLDB_ENABLE_PYTHON) - if(LLDB_BUILD_FRAMEWORK) - set(lldb_python_target_dir "${LLDB_FRAMEWORK_ABSOLUTE_BUILD_DIR}/LLDB.framework/Resources/Python/lldb") - else() -- set(lldb_python_target_dir "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${LLDB_PYTHON_RELATIVE_PATH}/lldb") -+ set(lldb_python_target_dir "${CMAKE_INSTALL_LIBDIR}/../${LLDB_PYTHON_RELATIVE_PATH}/lldb") - endif() - get_target_property(lldb_python_bindings_dir swig_wrapper_python BINARY_DIR) - finish_swig_python("lldb-python" "${lldb_python_bindings_dir}" "${lldb_python_target_dir}") -diff --git a/source/API/CMakeLists.txt b/source/API/CMakeLists.txt -index b5633e2..86e4738 100644 ---- a/source/API/CMakeLists.txt 2024-05-30 19:08:14.241656491 -0700 -+++ b/source/API/CMakeLists.txt 2024-05-30 19:08:48.218219667 -0700 -@@ -113,14 +113,6 @@ - ${option_install_prefix} - ) - --# lib/pythonX.Y/dist-packages/lldb/_lldb.so is a symlink to lib/liblldb.so, --# which depends on lib/libLLVM*.so (BUILD_SHARED_LIBS) or lib/libLLVM-10git.so --# (LLVM_LINK_LLVM_DYLIB). Add an additional rpath $ORIGIN/../../../../lib so --# that _lldb.so can be loaded from Python. --if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX AND NOT APPLE) -- set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}") --endif() -- - if(Python3_RPATH) - set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}") - set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH "${Python3_RPATH}") diff --git a/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch b/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch deleted file mode 100644 index b515583a0c42..000000000000 --- a/pkgs/development/compilers/llvm/12/llvm/fix-llvm-issue-49955.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lib/CodeGen/AsmPrinter/CMakeLists.txt b/lib/CodeGen/AsmPrinter/CMakeLists.txt -index eb924282..c77c140b 100644 ---- a/lib/CodeGen/AsmPrinter/CMakeLists.txt -+++ b/lib/CodeGen/AsmPrinter/CMakeLists.txt -@@ -44,3 +44,8 @@ add_llvm_component_library(LLVMAsmPrinter - Support - Target - ) -+ -+if (CMAKE_COMPILER_IS_GNUCXX) -+ set_source_files_properties(DwarfCompileUnit.cpp PROPERTIES -+ COMPILE_FLAGS -fno-strict-aliasing) -+endif() diff --git a/pkgs/development/compilers/llvm/12/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/12/llvm/gnu-install-dirs-polly.patch deleted file mode 100644 index 68f3c45396f6..000000000000 --- a/pkgs/development/compilers/llvm/12/llvm/gnu-install-dirs-polly.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt -index ca7c04c565bb..6ed5db5dd4f8 100644 ---- a/tools/polly/CMakeLists.txt -+++ b/tools/polly/CMakeLists.txt -@@ -2,7 +2,11 @@ - if (NOT DEFINED LLVM_MAIN_SRC_DIR) - project(Polly) - cmake_minimum_required(VERSION 3.13.4) -+endif() -+ -+include(GNUInstallDirs) - -+if (NOT DEFINED LLVM_MAIN_SRC_DIR) - # Where is LLVM installed? - find_package(LLVM CONFIG REQUIRED) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) -@@ -122,13 +126,13 @@ include_directories( - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - ) - - install(DIRECTORY ${POLLY_BINARY_DIR}/include/ -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "CMakeFiles" EXCLUDE -diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt -index 7cc129ba2e90..137be25e4b80 100644 ---- a/tools/polly/cmake/CMakeLists.txt -+++ b/tools/polly/cmake/CMakeLists.txt -@@ -79,18 +79,18 @@ file(GENERATE - - # Generate PollyConfig.cmake for the install tree. - unset(POLLY_EXPORTS) --set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") -+set(POLLY_INSTALL_PREFIX "") - set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") --set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") --set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") -+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") -+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") - if (POLLY_BUNDLED_ISL) - set(POLLY_CONFIG_INCLUDE_DIRS -- "${POLLY_INSTALL_PREFIX}/include" -- "${POLLY_INSTALL_PREFIX}/include/polly" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" - ) - else() - set(POLLY_CONFIG_INCLUDE_DIRS -- "${POLLY_INSTALL_PREFIX}/include" -+ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" - ${ISL_INCLUDE_DIRS} - ) - endif() -@@ -100,12 +100,12 @@ endif() - foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) - get_target_property(tgt_type ${tgt} TYPE) - if (tgt_type STREQUAL "EXECUTABLE") -- set(tgt_prefix "bin/") -+ set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") - else() -- set(tgt_prefix "lib/") -+ set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") - endif() - -- set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$") -+ set(tgt_path "${tgt_prefix}$") - file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) - - if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") -diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake -index 518a09b45a42..bd9d6f5542ad 100644 ---- a/tools/polly/cmake/polly_macros.cmake -+++ b/tools/polly/cmake/polly_macros.cmake -@@ -44,8 +44,8 @@ macro(add_polly_library name) - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly") - install(TARGETS ${name} - EXPORT LLVMExports -- 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}) - endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) - endmacro(add_polly_library) -diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt -index 8991094d92c7..178d8ad606bb 100644 ---- a/tools/polly/lib/External/CMakeLists.txt -+++ b/tools/polly/lib/External/CMakeLists.txt -@@ -275,7 +275,7 @@ if (POLLY_BUNDLED_ISL) - install(DIRECTORY - ${ISL_SOURCE_DIR}/include/ - ${ISL_BINARY_DIR}/include/ -- DESTINATION include/polly -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly - FILES_MATCHING - PATTERN "*.h" - PATTERN "CMakeFiles" EXCLUDE diff --git a/pkgs/development/compilers/llvm/12/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/12/llvm/gnu-install-dirs.patch deleted file mode 100644 index da8dc1445171..000000000000 --- a/pkgs/development/compilers/llvm/12/llvm/gnu-install-dirs.patch +++ /dev/null @@ -1,417 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 277d0fe54d7b..af69c8be8745 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -256,15 +256,21 @@ if (CMAKE_BUILD_TYPE AND - message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") - endif() - -+include(GNUInstallDirs) -+ - set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" ) - --set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')") -+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING -+ "Path for binary subdirectory (defaults to 'bin')") - mark_as_advanced(LLVM_TOOLS_INSTALL_DIR) - - set(LLVM_UTILS_INSTALL_DIR "${LLVM_TOOLS_INSTALL_DIR}" CACHE STRING - "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)") - mark_as_advanced(LLVM_UTILS_INSTALL_DIR) - -+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING -+ "Path for CMake subdirectory (defaults to lib/cmake/llvm)" ) -+ - # They are used as destination of target generators. - set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) - set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) -@@ -567,9 +573,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) - option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON) - option (LLVM_ENABLE_BINDINGS "Build bindings." ON) - --set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html" -+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html" - CACHE STRING "Doxygen-generated HTML documentation install directory") --set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html" -+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html" - CACHE STRING "OCamldoc-generated HTML documentation install directory") - - option (LLVM_BUILD_EXTERNAL_COMPILER_RT -@@ -1027,7 +1033,7 @@ endif() - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/llvm include/llvm-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "*.def" -@@ -1038,7 +1044,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "*.def" -@@ -1052,13 +1058,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - - if (LLVM_INSTALL_MODULEMAPS) - install(DIRECTORY include/llvm include/llvm-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT llvm-headers - FILES_MATCHING - PATTERN "module.modulemap" - ) - install(FILES include/llvm/module.install.modulemap -- DESTINATION include/llvm -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm - COMPONENT llvm-headers - RENAME "module.extern.modulemap" - ) -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index 97c9980c7de3..409e8b615f75 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -804,9 +804,9 @@ macro(add_llvm_library name) - - install(TARGETS ${name} - ${export_to_llvmexports} -- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} -- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} -- RUNTIME DESTINATION bin 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) - add_llvm_install_targets(install-${name} -@@ -1022,7 +1022,7 @@ function(process_llvm_pass_plugins) - "set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})") - install(FILES - ${llvm_cmake_builddir}/LLVMConfigExtensions.cmake -- DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} -+ DESTINATION ${LLVM_INSTALL_CMAKE_DIR} - COMPONENT cmake-exports) - - set(ExtensionDef "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def") -@@ -1242,7 +1242,7 @@ macro(add_llvm_example name) - endif() - add_llvm_executable(${name} ${ARGN}) - if( LLVM_BUILD_EXAMPLES ) -- install(TARGETS ${name} RUNTIME DESTINATION examples) -+ install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) - endif() - set_target_properties(${name} PROPERTIES FOLDER "Examples") - endmacro(add_llvm_example name) -@@ -1854,7 +1854,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 bin) - endif() -@@ -1871,7 +1871,7 @@ function(llvm_install_library_symlink name dest type) - endif() - endfunction() - --function(llvm_install_symlink name dest) -+function(llvm_install_symlink name dest output_dir) - cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN}) - foreach(path ${CMAKE_MODULE_PATH}) - if(EXISTS ${path}/LLVMInstallSymlink.cmake) -@@ -1894,7 +1894,7 @@ function(llvm_install_symlink name dest) - set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) - - install(SCRIPT ${INSTALL_SYMLINK} -- CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" -+ CODE "install_symlink(${full_name} ${full_dest} ${output_dir})" - COMPONENT ${component}) - - if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE) -@@ -1977,7 +1977,8 @@ function(add_llvm_tool_symlink link_name target) - endif() - - if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS) -- llvm_install_symlink(${link_name} ${target}) -+ GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR) -+ llvm_install_symlink(${link_name} ${target} ${output_dir}) - endif() - endif() - endfunction() -@@ -2100,9 +2101,9 @@ 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(UNIX) -- set(_install_rpath "\$ORIGIN/../lib${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 554046b20edf..4d1ad980641e 100644 ---- a/cmake/modules/AddOCaml.cmake -+++ b/cmake/modules/AddOCaml.cmake -@@ -144,9 +144,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/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake -index e80c3b5c1cac..482f6d715ef5 100644 ---- a/cmake/modules/AddSphinxTarget.cmake -+++ b/cmake/modules/AddSphinxTarget.cmake -@@ -90,7 +90,7 @@ function (add_sphinx_target builder project) - endif() - elseif (builder STREQUAL html) - string(TOUPPER "${project}" project_upper) -- set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html" -+ set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html" - CACHE STRING "HTML documentation install directory for ${project}") - - # '/.' indicates: copy the contents of the directory directly into -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index 505dc9a29d70..36e6c63af3f4 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -1,4 +1,4 @@ --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')") - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - # First for users who use an installed LLVM, create the LLVMExports.cmake file. -@@ -107,13 +107,13 @@ foreach(p ${_count}) - set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE} - get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)") - endforeach(p) --set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include") -+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") - set(LLVM_CONFIG_INCLUDE_DIR "${LLVM_CONFIG_INCLUDE_DIRS}") - set(LLVM_CONFIG_MAIN_INCLUDE_DIR "${LLVM_CONFIG_INCLUDE_DIRS}") --set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}") -+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") - set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}") - set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") --set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") -+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") - - # Generate a default location for lit - if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS) -diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake -index 09fed8085c23..aa79f192abf0 100644 ---- a/cmake/modules/LLVMInstallSymlink.cmake -+++ b/cmake/modules/LLVMInstallSymlink.cmake -@@ -10,7 +10,7 @@ function(install_symlink name target outdir) - set(LINK_OR_COPY copy) - endif() - -- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/") -+ set(bindir "${DESTDIR}${outdir}/") - - message(STATUS "Creating ${name}") - -diff --git a/docs/CMake.rst b/docs/CMake.rst -index bb821b417ad9..6a528f7c2ad3 100644 ---- a/docs/CMake.rst -+++ b/docs/CMake.rst -@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``. - **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``. - - **CMAKE_C_FLAGS**:STRING - Extra flags to use when compiling C source files. -@@ -550,8 +550,8 @@ LLVM-specific variables - - **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING - The path to install Doxygen-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/doxygen-html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`. - - **LLVM_ENABLE_SPHINX**:BOOL - If specified, CMake will search for the ``sphinx-build`` executable and will make -@@ -582,13 +582,33 @@ LLVM-specific variables - - **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING - The path to install Sphinx-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/html`. - - **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING - The path to install OCamldoc-generated HTML documentation to. This path can -- either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to -- `share/doc/llvm/ocaml-html`. -+ either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to -+ `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`. -+ -+**CMAKE_INSTALL_BINDIR**:STRING -+ The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `bin`. -+ -+**CMAKE_INSTALL_LIBDIR**:STRING -+ The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `lib`. -+ -+**CMAKE_INSTALL_INCLUDEDIR**:STRING -+ The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `include`. -+ -+**CMAKE_INSTALL_DOCDIR**:STRING -+ The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `share/doc`. -+ -+**CMAKE_INSTALL_MANDIR**:STRING -+ The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``. -+ Defaults to `share/man`. - - **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL - macOS Only: If enabled CMake will generate a target named -@@ -786,9 +806,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``). - - This file is available in two different locations. - --* ``/lib/cmake/llvm/LLVMConfig.cmake`` where -- ```` is the install prefix of an installed version of LLVM. -- On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. -+* ``LLVMConfig.cmake`` where -+ ```` is the location where LLVM CMake modules are -+ installed as part of an installed version of LLVM. This is typically -+ ``cmake/llvm/`` within the lib directory. On Linux, this is typically -+ ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. - - * ``/lib/cmake/llvm/LLVMConfig.cmake`` where - ```` is the root of the LLVM build tree. **Note: this is only -diff --git a/examples/Bye/CMakeLists.txt b/examples/Bye/CMakeLists.txt -index bb96edb4b4bf..678c22fb43c8 100644 ---- a/examples/Bye/CMakeLists.txt -+++ b/examples/Bye/CMakeLists.txt -@@ -14,6 +14,6 @@ if (NOT WIN32) - BUILDTREE_ONLY - ) - -- install(TARGETS ${name} RUNTIME DESTINATION examples) -+ install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples) - set_target_properties(${name} PROPERTIES FOLDER "Examples") - endif() -diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt -index b46319f24fc8..2feabd1954e4 100644 ---- a/include/llvm/CMakeLists.txt -+++ b/include/llvm/CMakeLists.txt -@@ -5,5 +5,5 @@ add_subdirectory(Frontend) - # If we're doing an out-of-tree build, copy a module map for generated - # header files into the build area. - if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -- configure_file(module.modulemap.build module.modulemap COPYONLY) -+ configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY) - endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") -diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in -index ebe5b73a5c65..70c497be12f5 100644 ---- a/tools/llvm-config/BuildVariables.inc.in -+++ b/tools/llvm-config/BuildVariables.inc.in -@@ -23,6 +23,10 @@ - #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" - #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" - #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" -+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@" -+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" -+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" -+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@" - #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" - #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" - #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@" -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 1a2f04552d13..44fa7d3eec6b 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -357,12 +357,26 @@ int main(int argc, char **argv) { - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { - ActivePrefix = CurrentExecPrefix; -- ActiveIncludeDir = ActivePrefix + "/include"; -- SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); -- sys::fs::make_absolute(ActivePrefix, path); -- ActiveBinDir = std::string(path.str()); -- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; -- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveIncludeDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveBinDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveLibDir = std::string(path.str()); -+ } -+ { -+ SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR)); -+ sys::fs::make_absolute(ActivePrefix, path); -+ ActiveCMakeDir = std::string(path.str()); -+ } - ActiveIncludeOption = "-I" + ActiveIncludeDir; - } - -diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt -index 2963f97cad88..69d66c9c9ca1 100644 ---- a/tools/lto/CMakeLists.txt -+++ b/tools/lto/CMakeLists.txt -@@ -25,7 +25,7 @@ add_llvm_library(LTO SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES} DEPENDS - intrinsics_gen) - - install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h -- DESTINATION include/llvm-c -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c - COMPONENT LTO) - - if (APPLE) -diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt -index ead73ec13a8f..250362021f17 100644 ---- a/tools/opt-viewer/CMakeLists.txt -+++ b/tools/opt-viewer/CMakeLists.txt -@@ -8,7 +8,7 @@ set (files - - foreach (file ${files}) - install(PROGRAMS ${file} -- DESTINATION share/opt-viewer -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer - COMPONENT opt-viewer) - endforeach (file) - -diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt -index 865436247270..ce1daa62f6ab 100644 ---- a/tools/remarks-shlib/CMakeLists.txt -+++ b/tools/remarks-shlib/CMakeLists.txt -@@ -19,7 +19,7 @@ if(LLVM_ENABLE_PIC) - endif() - - install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/Remarks.h -- DESTINATION include/llvm-c -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c - COMPONENT Remarks) - - if (APPLE) diff --git a/pkgs/development/compilers/llvm/12/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/13/clang/gnu-install-dirs.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/clang/gnu-install-dirs.patch rename to pkgs/development/compilers/llvm/13/clang/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/12/clang/purity.patch b/pkgs/development/compilers/llvm/13/clang/purity.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/clang/purity.patch rename to pkgs/development/compilers/llvm/13/clang/purity.patch diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/13/compiler-rt/X86-support-extension.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/compiler-rt/X86-support-extension.patch rename to pkgs/development/compilers/llvm/13/compiler-rt/X86-support-extension.patch diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/13/compiler-rt/gnu-install-dirs.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/compiler-rt/gnu-install-dirs.patch rename to pkgs/development/compilers/llvm/13/compiler-rt/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/13/compiler-rt/normalize-var.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/compiler-rt/normalize-var.patch rename to pkgs/development/compilers/llvm/13/compiler-rt/normalize-var.patch diff --git a/pkgs/development/compilers/llvm/12/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/13/lld/gnu-install-dirs.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/lld/gnu-install-dirs.patch rename to pkgs/development/compilers/llvm/13/lld/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/12/lldb/procfs.patch b/pkgs/development/compilers/llvm/13/lldb/procfs.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/lldb/procfs.patch rename to pkgs/development/compilers/llvm/13/lldb/procfs.patch diff --git a/pkgs/development/compilers/llvm/12/lldb/resource-dir.patch b/pkgs/development/compilers/llvm/13/lldb/resource-dir.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/lldb/resource-dir.patch rename to pkgs/development/compilers/llvm/13/lldb/resource-dir.patch diff --git a/pkgs/development/compilers/llvm/12/llvm/no-pipes.patch b/pkgs/development/compilers/llvm/13/llvm/no-pipes.patch similarity index 100% rename from pkgs/development/compilers/llvm/12/llvm/no-pipes.patch rename to pkgs/development/compilers/llvm/13/llvm/no-pipes.patch diff --git a/pkgs/development/compilers/llvm/common/bintools.nix b/pkgs/development/compilers/llvm/common/bintools.nix index 24af8c618e91..fa3228ecff28 100644 --- a/pkgs/development/compilers/llvm/common/bintools.nix +++ b/pkgs/development/compilers/llvm/common/bintools.nix @@ -22,42 +22,38 @@ runCommand "llvm-binutils-${version}" inherit llvm lld; }; } - ( - '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${targetPrefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${targetPrefix}$(basename $prog) - done + '' + mkdir -p $out/bin + for prog in ${lld}/bin/*; do + ln -s $prog $out/bin/${targetPrefix}$(basename $prog) + done + for prog in ${llvm}/bin/*; do + ln -sf $prog $out/bin/${targetPrefix}$(basename $prog) + done - llvmBin="${llvm}/bin" + llvmBin="${llvm}/bin" - ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}ar - ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}dlltool - ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}ranlib - ln -s $llvmBin/llvm-cxxfilt $out/bin/${targetPrefix}c++filt - ln -s $llvmBin/llvm-dwp $out/bin/${targetPrefix}dwp - ln -s $llvmBin/llvm-nm $out/bin/${targetPrefix}nm - ln -s $llvmBin/llvm-objcopy $out/bin/${targetPrefix}objcopy - ln -s $llvmBin/llvm-objcopy $out/bin/${targetPrefix}strip - ln -s $llvmBin/llvm-objdump $out/bin/${targetPrefix}objdump - ln -s $llvmBin/llvm-readobj $out/bin/${targetPrefix}readelf - ln -s $llvmBin/llvm-size $out/bin/${targetPrefix}size - ln -s $llvmBin/llvm-strings $out/bin/${targetPrefix}strings - ln -s $llvmBin/llvm-symbolizer $out/bin/${targetPrefix}addr2line + ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}ar + ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}dlltool + ln -s $llvmBin/llvm-ar $out/bin/${targetPrefix}ranlib + ln -s $llvmBin/llvm-cxxfilt $out/bin/${targetPrefix}c++filt + ln -s $llvmBin/llvm-dwp $out/bin/${targetPrefix}dwp + ln -s $llvmBin/llvm-nm $out/bin/${targetPrefix}nm + ln -s $llvmBin/llvm-objcopy $out/bin/${targetPrefix}objcopy + ln -s $llvmBin/llvm-objcopy $out/bin/${targetPrefix}strip + ln -s $llvmBin/llvm-objdump $out/bin/${targetPrefix}objdump + ln -s $llvmBin/llvm-readobj $out/bin/${targetPrefix}readelf + ln -s $llvmBin/llvm-size $out/bin/${targetPrefix}size + ln -s $llvmBin/llvm-strings $out/bin/${targetPrefix}strings + ln -s $llvmBin/llvm-symbolizer $out/bin/${targetPrefix}addr2line - if [ -e "$llvmBin/llvm-debuginfod" ]; then - ln -s $llvmBin/llvm-debuginfod $out/bin/${targetPrefix}debuginfod - ln -s $llvmBin/llvm-debuginfod-find $out/bin/${targetPrefix}debuginfod-find - fi + if [ -e "$llvmBin/llvm-debuginfod" ]; then + ln -s $llvmBin/llvm-debuginfod $out/bin/${targetPrefix}debuginfod + ln -s $llvmBin/llvm-debuginfod-find $out/bin/${targetPrefix}debuginfod-find + fi - ln -s ${lld}/bin/lld $out/bin/${targetPrefix}ld + ln -s ${lld}/bin/lld $out/bin/${targetPrefix}ld - # Only >=13 show GNU windres compatible in help - '' - + lib.optionalString (lib.versionAtLeast release_version "13") '' - ln -s $llvmBin/llvm-rc $out/bin/${targetPrefix}windres - '' - ) + # Only >=13 show GNU windres compatible in help + ln -s $llvmBin/llvm-rc $out/bin/${targetPrefix}windres + '' diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix index 40ff633527ae..66878a5c2776 100644 --- a/pkgs/development/compilers/llvm/common/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/common/compiler-rt/default.nix @@ -84,27 +84,17 @@ stdenv.mkDerivation (finalAttrs: { # Fix build on armv6l ./armv6-no-ldrexd-strexd.patch ] - ++ lib.optional (lib.versions.major release_version == "12") (fetchpatch { - # fixes the parallel build on aarch64 darwin - name = "fix-symlink-race-aarch64-darwin.patch"; - url = "https://github.com/llvm/llvm-project/commit/b31080c596246bc26d2493cfd5e07f053cf9541c.patch"; - relative = "compiler-rt"; - hash = "sha256-Cv2NC8402yU7QaTR6TzdH+qyWRy+tTote7KKWtKRWFQ="; + ++ lib.optional (lib.versionAtLeast release_version "14" && lib.versionOlder release_version "18") ( + getVersionFile "compiler-rt/gnu-install-dirs.patch" + ) + ++ lib.optional (lib.versionOlder 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="; }) - ++ lib.optional ( - lib.versions.major release_version == "12" - || (lib.versionAtLeast release_version "14" && lib.versionOlder release_version "18") - ) (getVersionFile "compiler-rt/gnu-install-dirs.patch") ++ - lib.optional (lib.versionAtLeast release_version "13" && lib.versionOlder 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="; - }) - ++ - lib.optional (lib.versionAtLeast release_version "13" && lib.versionOlder release_version "18") + lib.optional (lib.versionOlder release_version "18") # Prevent a compilation error on darwin (getVersionFile "compiler-rt/darwin-targetconditionals.patch") # TODO: make unconditional and remove in <15 section below. Causes rebuilds. @@ -123,13 +113,11 @@ stdenv.mkDerivation (finalAttrs: { ./armv6-mcr-dmb.patch ./armv6-sync-ops-no-thumb.patch ] - ++ - lib.optionals (lib.versionAtLeast release_version "13" && lib.versionOlder release_version "18") - [ - # Fix build on armv6l - ./armv6-scudo-no-yield.patch - ] - ++ lib.optionals (lib.versionAtLeast release_version "13") [ + ++ lib.optionals (lib.versionOlder release_version "18") [ + # Fix build on armv6l + ./armv6-scudo-no-yield.patch + ] + ++ [ (getVersionFile "compiler-rt/armv6-scudo-libatomic.patch") ] ++ lib.optional (lib.versions.major release_version == "19") (fetchpatch { @@ -277,16 +265,13 @@ stdenv.mkDerivation (finalAttrs: { '' ) ) - + - lib.optionalString - (lib.versionAtLeast release_version "13" && lib.versionOlder release_version "14") - '' - # https://github.com/llvm/llvm-project/blob/llvmorg-14.0.6/libcxx/utils/merge_archives.py - # Seems to only be used in v13 though it's present in v12 and v14, and dropped in v15. - substituteInPlace ../libcxx/utils/merge_archives.py \ - --replace-fail "import distutils.spawn" "from shutil import which as find_executable" \ - --replace-fail "distutils.spawn." "" - '' + + lib.optionalString (lib.versionOlder release_version "14") '' + # https://github.com/llvm/llvm-project/blob/llvmorg-14.0.6/libcxx/utils/merge_archives.py + # Seems to only be used in v13 though it's present in v12 and v14, and dropped in v15. + substituteInPlace ../libcxx/utils/merge_archives.py \ + --replace-fail "import distutils.spawn" "from shutil import which as find_executable" \ + --replace-fail "distutils.spawn." "" + '' + lib.optionalString (lib.versionAtLeast release_version "19") # codesign in sigtool doesn't support the various options used by the build diff --git a/pkgs/development/compilers/llvm/common/libcxx/default.nix b/pkgs/development/compilers/llvm/common/libcxx/default.nix index 520692c30d6e..dad04c475207 100644 --- a/pkgs/development/compilers/llvm/common/libcxx/default.nix +++ b/pkgs/development/compilers/llvm/common/libcxx/default.nix @@ -113,16 +113,8 @@ let cmakeFlags = [ (lib.cmakeFeature "LLVM_ENABLE_RUNTIMES" (lib.concatStringsSep ";" runtimes)) ] - ++ - lib.optionals - ( - stdenv.hostPlatform.isWasm - || (lib.versions.major release_version == "12" && stdenv.hostPlatform.isDarwin) - ) - [ - (lib.cmakeBool "CMAKE_CXX_COMPILER_WORKS" true) - ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + (lib.cmakeBool "CMAKE_CXX_COMPILER_WORKS" true) (lib.cmakeBool "CMAKE_C_COMPILER_WORKS" true) (lib.cmakeBool "UNIX" true) # Required otherwise libc++ fails to detect the correct linker ] diff --git a/pkgs/development/compilers/llvm/common/libunwind/default.nix b/pkgs/development/compilers/llvm/common/libunwind/default.nix index 188ba578c994..27dc4e6614f2 100644 --- a/pkgs/development/compilers/llvm/common/libunwind/default.nix +++ b/pkgs/development/compilers/llvm/common/libunwind/default.nix @@ -80,9 +80,6 @@ stdenv.mkDerivation ( ++ lib.optional (lib.versionAtLeast release_version "15") ( lib.cmakeFeature "LLVM_ENABLE_RUNTIMES" "libunwind" ) - ++ lib.optionals (lib.versions.major release_version == "12" && stdenv.hostPlatform.isDarwin) [ - (lib.cmakeBool "CMAKE_CXX_COMPILER_WORKS" true) - ] ++ devExtraCmakeFlags; prePatch = diff --git a/pkgs/development/compilers/llvm/common/lldb/default.nix b/pkgs/development/compilers/llvm/common/lldb/default.nix index 5de0fec60877..648d44ca894f 100644 --- a/pkgs/development/compilers/llvm/common/lldb/default.nix +++ b/pkgs/development/compilers/llvm/common/lldb/default.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation ( "dev" ]; - sourceRoot = lib.optional (lib.versionAtLeast release_version "13") "${finalAttrs.src.name}/lldb"; + sourceRoot = "${finalAttrs.src.name}/lldb"; patches = let diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index daf88e25b34e..ee39561a8a62 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -129,18 +129,6 @@ stdenv.mkDerivation ( # a native libLLVM.so (which would fail) we force llvm-config to be linked # statically against the necessary LLVM components always. ./llvm-config-link-static.patch - ++ lib.optionals (lib.versions.major release_version == "12") [ - # Fix llvm being miscompiled by some gccs. See https://github.com/llvm/llvm-project/issues/49955 - (getVersionFile "llvm/fix-llvm-issue-49955.patch") - - # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test. - (fetchpatch { - name = "uops-CMOV16rm-noreg.diff"; - url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff"; - sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi"; - stripLen = 1; - }) - ] # Support custom installation dirs # Originally based off https://reviews.llvm.org/D99484 # Latest state: https://github.com/llvm/llvm-project/pull/125376 @@ -339,6 +327,11 @@ stdenv.mkDerivation ( ) ncurses) ++ [ zlib ]; + nativeCheckInputs = [ + which + ] + ++ lib.optional (stdenv.hostPlatform.isDarwin && lib.versionAtLeast release_version "15") sysctl; + postPatch = optionalString stdenv.hostPlatform.isDarwin ( '' @@ -470,14 +463,8 @@ stdenv.mkDerivation ( substituteInPlace unittests/IR/CMakeLists.txt \ --replace-fail "PassBuilderCallbacksTest.cpp" "" rm unittests/IR/PassBuilderCallbacksTest.cpp + rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test '' - + lib.optionalString (lib.versionAtLeast release_version "13") '' - rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test - '' - + lib.optionalString (lib.versionOlder release_version "13") '' - # TODO: Fix failing tests: - rm test/DebugInfo/X86/vla-multi.ll - '' + # Fails in the presence of anti-virus software or other intrusion-detection software that # modifies the atime when run. See #284056. @@ -540,44 +527,7 @@ stdenv.mkDerivation ( '' + '' patchShebangs test/BugPoint/compile-custom.ll.py - '' - + - # Tweak tests to ignore namespace part of type to support - # gcc-12: https://gcc.gnu.org/PR103598. - # The change below mangles strings like: - # CHECK-NEXT: Starting llvm::Function pass manager run. - # to: - # CHECK-NEXT: Starting {{.*}}Function pass manager run. - (lib.optionalString (lib.versionOlder release_version "13") ( - '' - for f in \ - test/Other/new-pass-manager.ll \ - test/Other/new-pm-O0-defaults.ll \ - test/Other/new-pm-defaults.ll \ - test/Other/new-pm-lto-defaults.ll \ - test/Other/new-pm-thinlto-defaults.ll \ - test/Other/pass-pipeline-parsing.ll \ - test/Transforms/Inline/cgscc-incremental-invalidate.ll \ - test/Transforms/Inline/clear-analyses.ll \ - test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \ - test/Transforms/SCCP/ipsccp-preserve-analysis.ll \ - test/Transforms/SCCP/preserve-analysis.ll \ - test/Transforms/SROA/dead-inst.ll \ - test/tools/gold/X86/new-pm.ll \ - ; do - echo "PATCH: $f" - substituteInPlace $f \ - --replace-quiet 'Starting llvm::' 'Starting {{.*}}' \ - --replace-quiet 'Finished llvm::' 'Finished {{.*}}' - done - '' - + - # gcc-13 fix - '' - sed -i '/#include /i#include ' \ - include/llvm/DebugInfo/Symbolize/DIPrinter.h - '' - )); + ''; # Workaround for configure flags that need to have spaces preConfigure = '' @@ -810,12 +760,6 @@ stdenv.mkDerivation ( } ) ) - // lib.optionalAttrs (lib.versionAtLeast release_version "13") { - nativeCheckInputs = [ - which - ] - ++ lib.optional (stdenv.hostPlatform.isDarwin && lib.versionAtLeast release_version "15") sysctl; - } // lib.optionalAttrs (lib.versionOlder release_version "15") { # hacky fix: created binaries need to be run before installation preBuild = '' diff --git a/pkgs/development/compilers/llvm/common/patches.nix b/pkgs/development/compilers/llvm/common/patches.nix index 21eb8c4471c3..811195695cc4 100644 --- a/pkgs/development/compilers/llvm/common/patches.nix +++ b/pkgs/development/compilers/llvm/common/patches.nix @@ -2,7 +2,7 @@ "clang/gnu-install-dirs.patch" = [ { before = "14"; - path = ../12; + path = ../13; } { after = "19"; @@ -21,7 +21,7 @@ } { before = "16"; - path = ../12; + path = ../13; } ]; "clang/aarch64-tblgen.patch" = [ @@ -44,7 +44,7 @@ } { before = "14"; - path = ../12; + path = ../13; } ]; "llvm/gnu-install-dirs.patch" = [ @@ -126,7 +126,7 @@ } { before = "15"; - path = ../12; + path = ../13; } ]; "compiler-rt/armv6-scudo-libatomic.patch" = [ @@ -147,17 +147,15 @@ "compiler-rt/armv7l.patch" = [ { before = "15"; - after = "13"; path = ../13; } ]; "compiler-rt/gnu-install-dirs.patch" = [ { before = "14"; - path = ../12; + path = ../13; } { - after = "13"; before = "15"; path = ../14; } @@ -173,13 +171,11 @@ ]; "compiler-rt/darwin-targetconditionals.patch" = [ { - after = "13"; path = ../13; } ]; "compiler-rt/codesign.patch" = [ { - after = "13"; path = ../13; } ]; @@ -190,7 +186,7 @@ } { before = "16"; - path = ../12; + path = ../13; } ]; "lldb/procfs.patch" = [ @@ -200,19 +196,19 @@ } { before = "15"; - path = ../12; + path = ../13; } ]; "lldb/resource-dir.patch" = [ { before = "16"; - path = ../12; + path = ../13; } ]; "llvm/no-pipes.patch" = [ { before = "16"; - path = ../12; + path = ../13; } ]; "openmp/fix-find-tool.patch" = [ diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index f5b86b1c3312..3f0738e4a54c 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -22,7 +22,6 @@ }@packageSetArgs: let versions = { - "12.0.1".officialRelease.sha256 = "08s5w2db9imb2yaqsvxs6pg21csi1cf6wa35rf8x6q07mam7j8qv"; "13.0.1".officialRelease.sha256 = "06dv6h5dmvzdxbif2s8njki6h32796v368dyb5945x8gjj72xh7k"; "14.0.6".officialRelease.sha256 = "sha256-vffu4HilvYwtzwgq+NlS26m65DGbp6OSSne2aje1yJE="; "15.0.7".officialRelease.sha256 = "sha256-wjuZQyXQ/jsmvy6y1aksCcEDXGBjuhpgngF3XQJ/T4s="; diff --git a/pkgs/development/compilers/llvm/update.sh b/pkgs/development/compilers/llvm/update.sh index 95ad356dbd9a..ee742a206ef1 100755 --- a/pkgs/development/compilers/llvm/update.sh +++ b/pkgs/development/compilers/llvm/update.sh @@ -24,23 +24,9 @@ if [ "$VERSION_MAJOR" -ge "14" ]; then readonly SOURCES=( "llvm.monorepoSrc" ) -elif [ "$VERSION_MAJOR" -eq "13" ]; then - readonly SOURCES=( - "llvm.src" - ) else readonly SOURCES=( - "clang-unwrapped.src" - "compiler-rt.src" - "clang-unwrapped.clang-tools-extra_src" - "libcxx.src" - "libcxxabi.src" - "libunwind.src" - "lld.src" - "lldb.src" "llvm.src" - "llvm.polly_src" - "openmp.src" ) fi diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 1335cb8b5e73..118c30b0f175 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -16,6 +16,7 @@ with pkgs; (filter (n: n != "llvmPackages_9")) (filter (n: n != "llvmPackages_10")) (filter (n: n != "llvmPackages_11")) + (filter (n: n != "llvmPackages_12")) ]; tests = lib.genAttrs pkgSets ( name: diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 73a5d74cd570..0f5f40831637 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -698,8 +698,6 @@ 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. - clang9Stdenv = throw "clang9Stdenv has been removed from nixpkgs"; # Added 2024-04-08 - clang12Stdenv = lowPrio llvmPackages_12.stdenv; # preserve, reason: see above clang13Stdenv = lowPrio llvmPackages_13.stdenv; # preserve, reason: see above clang14Stdenv = lowPrio llvmPackages_14.stdenv; # preserve, reason: see above clang15Stdenv = lowPrio llvmPackages_15.stdenv; # preserve, reason: see above @@ -708,10 +706,6 @@ mapAliases { clang18Stdenv = lowPrio llvmPackages_18.stdenv; # preserve, reason: see above clang19Stdenv = lowPrio llvmPackages_19.stdenv; # preserve, reason: see above - clang-tools_9 = throw "clang-tools_9 has been removed from nixpkgs"; # Added 2024-04-08 - clang_9 = throw "clang_9 has been removed from nixpkgs"; # Added 2024-04-08 - - clang-tools_12 = llvmPackages_12.clang-tools; # Added 2024-04-22 clang-tools_13 = llvmPackages_13.clang-tools; # Added 2024-04-22 clang-tools_14 = llvmPackages_14.clang-tools; # Added 2024-04-22 clang-tools_15 = llvmPackages_15.clang-tools; # Added 2024-04-22 @@ -1485,10 +1479,21 @@ mapAliases { llvmPackages_git = (callPackages ../development/compilers/llvm { }).git; # Added 2024-08-02 - lld_9 = throw "lld_9 has been removed from nixpkgs"; # Added 2024-04-08 - lldb_9 = throw "lldb_9 has been removed from nixpkgs"; # Added 2024-04-08 llvmPackages_9 = throw "llvmPackages_9 has been removed from nixpkgs"; # Added 2024-04-08 llvm_9 = throw "llvm_9 has been removed from nixpkgs"; # Added 2024-04-08 + lld_9 = throw "lld_9 has been removed from nixpkgs"; # Added 2024-04-08 + lldb_9 = throw "lldb_9 has been removed from nixpkgs"; # Added 2024-04-08 + clang_9 = throw "clang_9 has been removed from nixpkgs"; # Added 2024-04-08 + clang9Stdenv = throw "clang9Stdenv has been removed from nixpkgs"; # Added 2024-04-08 + clang-tools_9 = throw "clang-tools_9 has been removed from nixpkgs"; # Added 2024-04-08 + + llvmPackages_12 = throw "llvmPackages_12 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 + llvm_12 = throw "llvm_12 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 + lld_12 = throw "lld_12 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 + lldb_12 = throw "lldb_12 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 + clang_12 = throw "clang_12 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 + clang12Stdenv = throw "clang12Stdenv has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 + clang-tools_12 = throw "clang-tools_12 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-10 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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2d8f2ea5d7dc..67e3b46486f4 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_12 = llvmPackages_12.clang; clang_13 = llvmPackages_13.clang; clang_14 = llvmPackages_14.clang; clang_15 = llvmPackages_15.clang; @@ -5365,7 +5364,6 @@ with pkgs; }; lld = llvmPackages.lld; - lld_12 = llvmPackages_12.lld; lld_13 = llvmPackages_13.lld; lld_14 = llvmPackages_14.lld; lld_15 = llvmPackages_15.lld; @@ -5373,7 +5371,6 @@ with pkgs; lld_17 = llvmPackages_17.lld; lldb = llvmPackages.lldb; - lldb_12 = llvmPackages_12.lldb; lldb_13 = llvmPackages_13.lldb; lldb_14 = llvmPackages_14.lldb; lldb_15 = llvmPackages_15.lldb; @@ -5381,7 +5378,6 @@ with pkgs; lldb_17 = llvmPackages_17.lldb; llvm = llvmPackages.llvm; - llvm_12 = llvmPackages_12.llvm; llvm_13 = llvmPackages_13.llvm; llvm_14 = llvmPackages_14.llvm; llvm_15 = llvmPackages_15.llvm; @@ -5402,7 +5398,6 @@ with pkgs; (rec { llvmPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/llvm { }); - llvmPackages_12 = llvmPackagesSet."12"; llvmPackages_13 = llvmPackagesSet."13"; llvmPackages_14 = llvmPackagesSet."14"; llvmPackages_15 = llvmPackagesSet."15"; @@ -5440,7 +5435,6 @@ with pkgs; mkLLVMPackages = llvmPackagesSet.mkPackage; }) - llvmPackages_12 llvmPackages_13 llvmPackages_14 llvmPackages_15