diff --git a/contrib/devtools/update-clang-hashes.sh b/contrib/devtools/update-clang-hashes.sh index 0e64360bb..cf682392f 100755 --- a/contrib/devtools/update-clang-hashes.sh +++ b/contrib/devtools/update-clang-hashes.sh @@ -45,4 +45,3 @@ update_clang_hash amd64-unknown-freebsd12 freebsd # For Windows cross-compilation # update_libcxx_msys2_hash LIBCXX_LIBRARY MAKEFILE_HASH_SUFFIX update_libcxx_msys2_hash libc++ sha256_hash -update_libcxx_msys2_hash libc++abi libcxxabi_sha256_hash diff --git a/depends/packages/libcxx.mk b/depends/packages/libcxx.mk index 0ee3c2aea..fcda4be5c 100644 --- a/depends/packages/libcxx.mk +++ b/depends/packages/libcxx.mk @@ -1,6 +1,6 @@ package=libcxx $(package)_version=$(native_clang_version) -$(package)_msys2_version=14.0.6-1 +$(package)_msys2_version=15.0.7-3 ifneq ($(canonical_host),$(build)) ifneq ($(host_os),mingw32) @@ -9,10 +9,10 @@ ifneq ($(host_os),mingw32) $(package)_download_path=$(native_clang_download_path) $(package)_download_file_aarch64_linux=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz $(package)_file_name_aarch64_linux=clang-llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz -$(package)_sha256_hash_aarch64_linux=1a81fda984f5e607584916fdf69cf41e5385b219b983544d2c1a14950d5a65cf +$(package)_sha256_hash_aarch64_linux=8ca4d68cf103da8331ca3f35fe23d940c1b78fb7f0d4763c1c059e352f5d1bec $(package)_download_file_linux=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz $(package)_file_name_linux=clang-llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz -$(package)_sha256_hash_linux=61582215dafafb7b576ea30cc136be92c877ba1f1c31ddbbd372d6d65622fef5 +$(package)_sha256_hash_linux=38bc7f5563642e73e69ac5626724e206d6d539fbef653541b34cae0ba9c3f036 # Starting from LLVM 14.0.0, some Clang binary tarballs store libc++ in a # target-specific subdirectory. @@ -26,37 +26,17 @@ endef else # For Windows cross-compilation, use the MSYS2 binaries. +# Starting from LLVM 15.0.0, libc++abi is provided by libc++. $(package)_download_path=https://repo.msys2.org/mingw/x86_64 $(package)_download_file=mingw-w64-x86_64-libc++-$($(package)_msys2_version)-any.pkg.tar.zst $(package)_file_name=mingw-w64-x86_64-libcxx-$($(package)_msys2_version)-any.pkg.tar.zst -$(package)_sha256_hash=05f888ec1d82cb989a22ced6b85834c5d9aac46613b15334e6a2806c3d0960a4 - -$(package)_libcxxabi_download_file=mingw-w64-x86_64-libc++abi-$($(package)_msys2_version)-any.pkg.tar.zst -$(package)_libcxxabi_file_name=mingw-w64-x86_64-libcxxabi-$($(package)_msys2_version)-any.pkg.tar.zst -$(package)_libcxxabi_sha256_hash=0ca22d18cb155f6d230d7f6691c05b876316e0c381195428f063f66352689ca4 - -$(package)_extra_sources += $($(package)_libcxxabi_file_name) - -define $(package)_fetch_cmds -$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ -$(call fetch_file,$(package),$($(package)_download_path),$($(package)_libcxxabi_download_file),$($(package)_libcxxabi_file_name),$($(package)_libcxxabi_sha256_hash)) -endef - -define $(package)_extract_cmds - mkdir -p $($(package)_extract_dir) && \ - echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \ - echo "$($(package)_libcxxabi_sha256_hash) $($(package)_source_dir)/$($(package)_libcxxabi_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ - $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \ - mkdir -p libcxxabi && \ - tar --no-same-owner --strip-components=1 -C libcxxabi -xf $($(package)_source_dir)/$($(package)_libcxxabi_file_name) && \ - tar --no-same-owner --strip-components=1 -xf $($(package)_source) -endef +$(package)_sha256_hash=8c14da21fa9622cc7450b22467452c6c933a03cee526cf8744faea3d4674035b define $(package)_stage_cmds mkdir -p $($(package)_staging_prefix_dir)/lib && \ mv include/ $($(package)_staging_prefix_dir) && \ cp lib/libc++.a $($(package)_staging_prefix_dir)/lib && \ - cp libcxxabi/lib/libc++abi.a $($(package)_staging_prefix_dir)/lib + cp lib/libc++abi.a $($(package)_staging_prefix_dir)/lib endef endif diff --git a/depends/packages/native_clang.mk b/depends/packages/native_clang.mk index c431bf520..7d3f7708f 100644 --- a/depends/packages/native_clang.mk +++ b/depends/packages/native_clang.mk @@ -5,25 +5,27 @@ package=native_clang # - Manually fix the versions for packages that don't exist (the LLVM project # doesn't uniformly cut binaries across releases). # The Clang compiler should use the same LLVM version as the Rust compiler. -$(package)_major_version=14 -$(package)_version=14.0.6 -$(package)_download_path=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version) -$(package)_download_path_linux=https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.0 -$(package)_download_file_linux=clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz +$(package)_major_version=15 +$(package)_version=15.0.6 +$(package)_download_path_linux=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version) +$(package)_download_file_linux=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz $(package)_file_name_linux=clang-llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz -$(package)_sha256_hash_linux=61582215dafafb7b576ea30cc136be92c877ba1f1c31ddbbd372d6d65622fef5 -$(package)_download_path_darwin=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version) -$(package)_download_file_darwin=clang+llvm-$($(package)_version)-x86_64-apple-darwin.tar.xz -$(package)_file_name_darwin=clang-llvm-$($(package)_version)-x86_64-apple-darwin.tar.xz -$(package)_sha256_hash_darwin=e6cc6b8279661fd4452c2847cb8e55ce1e54e1faf4ab497b37c85ffdb6685e7c -$(package)_download_path_freebsd=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version) -$(package)_download_file_freebsd=clang+llvm-$($(package)_version)-amd64-unknown-freebsd12.tar.xz -$(package)_file_name_freebsd=clang-llvm-$($(package)_version)-amd64-unknown-freebsd12.tar.xz +$(package)_sha256_hash_linux=38bc7f5563642e73e69ac5626724e206d6d539fbef653541b34cae0ba9c3f036 +$(package)_download_path_darwin=https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.4 +$(package)_download_file_darwin=clang+llvm-15.0.4-x86_64-apple-darwin.tar.xz +$(package)_file_name_darwin=clang-llvm-15.0.4-x86_64-apple-darwin.tar.xz +$(package)_sha256_hash_darwin=4c98d891c07c8f6661b233bf6652981f28432cfdbd6f07181114195c3536544b +# 2023-02-16: No FreeBSD packages are available for Clang 15, so we use Clang 14 +# here. This means FreeBSD builds will use two different versions of LLVM, but +# FreeBSD is only a Tier 3 platform, so that is acceptable. +$(package)_download_path_freebsd=https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6 +$(package)_download_file_freebsd=clang+llvm-14.0.6-amd64-unknown-freebsd12.tar.xz +$(package)_file_name_freebsd=clang-llvm-14.0.6-amd64-unknown-freebsd12.tar.xz $(package)_sha256_hash_freebsd=b0a7b86dacb12afb8dd2ca99ea1b894d9cce84aab7711cb1964b3005dfb09af3 $(package)_download_path_aarch64_linux=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version) $(package)_download_file_aarch64_linux=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz $(package)_file_name_aarch64_linux=clang-llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz -$(package)_sha256_hash_aarch64_linux=1a81fda984f5e607584916fdf69cf41e5385b219b983544d2c1a14950d5a65cf +$(package)_sha256_hash_aarch64_linux=8ca4d68cf103da8331ca3f35fe23d940c1b78fb7f0d4763c1c059e352f5d1bec ifneq (,$(wildcard /etc/arch-release)) $(package)_dependencies=native_libtinfo diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index 0f30ac5e5..735fe58b3 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -29,28 +29,9 @@ native_ccache 4.7.2 2023-03-01 native_ccache 4.7.3 2023-03-01 native_ccache 4.7.4 2023-03-01 -# Clang and Rust are currently pinned to LLVM 14 -libcxx 15.0.0 2023-03-01 -libcxx 15.0.1 2023-03-01 -libcxx 15.0.2 2023-03-01 -libcxx 15.0.3 2023-03-01 -libcxx 15.0.4 2023-03-01 -libcxx 15.0.5 2023-03-01 -libcxx 15.0.6 2023-03-01 -libcxx 15.0.7 2023-03-01 -native_clang 15.0.0 2023-03-01 -native_clang 15.0.1 2023-03-01 -native_clang 15.0.2 2023-03-01 -native_clang 15.0.3 2023-03-01 -native_clang 15.0.4 2023-03-01 -native_clang 15.0.5 2023-03-01 -native_clang 15.0.6 2023-03-01 -native_clang 15.0.7 2023-03-01 -native_rust 1.65.0 2023-03-01 -native_rust 1.66.0 2023-03-01 -native_rust 1.66.1 2023-03-01 -native_rust 1.67.0 2023-03-01 -native_rust 1.67.1 2023-03-01 +# Clang and Rust are currently pinned to LLVM 15 +libcxx 15.0.7 2022-04-30 +native_clang 15.0.7 2022-04-30 # We're never updating to this version bdb 18.1.40 2024-02-01