diff --git a/pkgs/development/compilers/rust/1_79.nix b/pkgs/development/compilers/rust/1_79.nix deleted file mode 100644 index a749e58c16bc..000000000000 --- a/pkgs/development/compilers/rust/1_79.nix +++ /dev/null @@ -1,60 +0,0 @@ -# New rust versions should first go to staging. -# Things to check after updating: -# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: -# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github -# This testing can be also done by other volunteers as part of the pull -# request review, in case platforms cannot be covered. -# 2. The LLVM version used for building should match with rust upstream. -# Check the version number in the src/llvm-project git submodule in: -# https://github.com/rust-lang/rust/blob//.gitmodules -# 3. Firefox and Thunderbird should still build on x86_64-linux. - -{ stdenv, lib -, newScope, callPackage -, CoreFoundation, Security, SystemConfiguration -, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost, pkgsTargetTarget -, makeRustPlatform -, wrapRustcWith -, llvmPackages_18, llvm_18 -} @ args: - -import ./default.nix { - rustcVersion = "1.79.0"; - rustcSha256 = "sha256-Fy7PPH0fnZ+xbNKmKIaXgmcEFt7QEp5SSoZ1H5YUSMA="; - - llvmSharedForBuild = pkgsBuildBuild.llvmPackages_18.libllvm.override { enableSharedLibraries = true; }; - llvmSharedForHost = pkgsBuildHost.llvmPackages_18.libllvm.override { enableSharedLibraries = true; }; - llvmSharedForTarget = pkgsBuildTarget.llvmPackages_18.libllvm.override { enableSharedLibraries = true; }; - - # For use at runtime - llvmShared = llvm_18.override { enableSharedLibraries = true; }; - - # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox - llvmPackages = llvmPackages_18; - - # Note: the version MUST be one version prior to the version we're - # building - bootstrapVersion = "1.78.0"; - - # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` - bootstrapHashes = { - i686-unknown-linux-gnu = "8f3f5d2ab7b609ab30d584cfb5cecc3d8b16d2620fffb7643383c8a0a3881e21"; - x86_64-unknown-linux-gnu = "1307747915e8bd925f4d5396ab2ae3d8d9c7fad564afbc358c081683d0f22e87"; - x86_64-unknown-linux-musl = "c11ab908cbffbe98097d99ed62f5db00aa98496520b1e09583a151d36df7fca4"; - arm-unknown-linux-gnueabihf = "2a2b1cf93b31e429624380e5b0d2bcce327274f8593b63657b863e38831f6421"; - armv7-unknown-linux-gnueabihf = "fcce5ddb4f55bbdc9a1359a4cb6e65f2ff790d59ad228102cd472112ea65d3fe"; - aarch64-unknown-linux-gnu = "131eda738cd977fff2c912e5838e8e9b9c260ecddc1247c0fe5473bf09c594af"; - aarch64-unknown-linux-musl = "f328bcf109bf3eae01559b53939a9afbdb70ef30429f95109f7ea21030d60dfa"; - x86_64-apple-darwin = "6c91ed3bd90253961fcb4a2991b8b22e042e2aaa9aba9f389f1e17008171d898"; - aarch64-apple-darwin = "3be74c31ee8dc4f1d49e2f2888228de374138eaeca1876d0c1b1a61df6023b3b"; - powerpc64le-unknown-linux-gnu = "c5aedb12c552daa18072e386697205fb7b91cef1e8791fe6fb74834723851388"; - riscv64gc-unknown-linux-gnu = "847a925ace172d4c0a8d3da8d755b8678071ef73e659886128a3103bb896dcd9"; - x86_64-unknown-freebsd = "b9cc84c60deb8da08a6c876426f8721758f4c7e7c553b4554385752ad37c63df"; - }; - - selectRustPackage = pkgs: pkgs.rust_1_79; - - rustcPatches = [ ]; -} - -(builtins.removeAttrs args [ "llvmPackages_18" "llvm_18"]) diff --git a/pkgs/development/compilers/rust/1_80.nix b/pkgs/development/compilers/rust/1_80.nix new file mode 100644 index 000000000000..b995c329963e --- /dev/null +++ b/pkgs/development/compilers/rust/1_80.nix @@ -0,0 +1,137 @@ +# New rust versions should first go to staging. +# Things to check after updating: +# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: +# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github +# This testing can be also done by other volunteers as part of the pull +# request review, in case platforms cannot be covered. +# 2. The LLVM version used for building should match with rust upstream. +# Check the version number in the src/llvm-project git submodule in: +# https://github.com/rust-lang/rust/blob//.gitmodules +# 3. Firefox and Thunderbird should still build on x86_64-linux. + +{ + stdenv, + lib, + newScope, + callPackage, + CoreFoundation, + Security, + SystemConfiguration, + pkgsBuildTarget, + pkgsBuildBuild, + pkgsBuildHost, + pkgsTargetTarget, + makeRustPlatform, + wrapRustcWith, + llvmPackages_18, + llvm_18, + wrapCCWith, + overrideCC, +}@args: +let + llvmSharedFor = + pkgSet: + pkgSet.llvmPackages_18.libllvm.override ( + { + enableSharedLibraries = true; + } + // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { + # Force LLVM to compile using clang + LLVM libs when targeting pkgsLLVM + stdenv = pkgSet.stdenv.override { + allowedRequisites = null; + cc = pkgSet.llvmPackages_18.clangUseLLVM; + }; + } + ); +in +import ./default.nix + { + rustcVersion = "1.80.0"; + rustcSha256 = "sha256-b2BsGT8jD2ssrkV297JNUPX5sl3/Edv5si94fTUh1nI="; + + llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; + llvmSharedForHost = llvmSharedFor pkgsBuildHost; + llvmSharedForTarget = llvmSharedFor pkgsBuildTarget; + + # For use at runtime + llvmShared = llvmSharedFor { inherit llvmPackages_18 stdenv; }; + + # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox + llvmPackages = + if (stdenv.targetPlatform.useLLVM or false) then + callPackage ( + { + pkgs, + bootBintoolsNoLibc ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintoolsNoLibc, + bootBintools ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintools, + }: + let + llvmPackages = llvmPackages_18; + + setStdenv = + pkg: + pkg.override { + stdenv = stdenv.override { + allowedRequisites = null; + cc = llvmPackages.clangUseLLVM; + }; + }; + in + rec { + inherit (llvmPackages) bintools; + + libunwind = setStdenv llvmPackages.libunwind; + llvm = setStdenv llvmPackages.llvm; + + libcxx = llvmPackages.libcxx.override { + stdenv = stdenv.override { + allowedRequisites = null; + cc = llvmPackages.clangNoLibcxx; + hostPlatform = stdenv.hostPlatform // { + useLLVM = !stdenv.isDarwin; + }; + }; + inherit libunwind; + }; + + clangUseLLVM = llvmPackages.clangUseLLVM.override { inherit libcxx; }; + + stdenv = overrideCC args.stdenv clangUseLLVM; + } + ) { } + else + llvmPackages_18; + + # Note: the version MUST be one version prior to the version we're + # building + bootstrapVersion = "1.79.0"; + + # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` + bootstrapHashes = { + i686-unknown-linux-gnu = "0a1e371809446cd77dba7abce2afb4efac8d8b2e63483cfe19f1c98bf9ab7855"; + x86_64-unknown-linux-gnu = "628efa8ef0658a7c4199883ee132281f19931448d3cfee4ecfd768898fe74c18"; + x86_64-unknown-linux-musl = "2e4b0e40d027e2b31a40163986b4c04dfd0bce41c706a99f2e82ba473a4383de"; + arm-unknown-linux-gnueabihf = "ce8d8d296277a06e0d2f63a21a0586717e09be3df28c0d1a04bc2c6f85eecc15"; + armv7-unknown-linux-gnueabihf = "31968f88b22058e384dfb3cdf3efe7f60c03481d790300fcffc420d5ba3851f2"; + aarch64-unknown-linux-gnu = "f7d3b31581331b54af97cf3162e65b8c26c8aa14d42f71c1ce9adc1078ef54e5"; + aarch64-unknown-linux-musl = "f8100c806754cd21600ded26546467a1a242db9b9ab8a6a666656e3cc4edfa52"; + x86_64-apple-darwin = "62f018aad30bafa0ef8bff0ed60d5d45e6cadc799769aad9d945509203e9f921"; + aarch64-apple-darwin = "e70a9362975b94df7dbc6e2ed5ceab4254dd32f72ba497ff4a70440ace3f729f"; + powerpc64le-unknown-linux-gnu = "9865eeebb5bb20006367d3148d9116576499ec958d847e22b645f008a1bc4170"; + riscv64gc-unknown-linux-gnu = "c8d38e600ef4dea8b375df2d08153393816ffd3dcab18e4d081ddc19e28b5a40"; + x86_64-unknown-freebsd = "3c8005f488b8dda0fc6d47928868200852106cac2b568934ae9a2e5c89d3a50d"; + }; + + selectRustPackage = pkgs: pkgs.rust_1_80; + + rustcPatches = [ ]; + } + + ( + builtins.removeAttrs args [ + "llvmPackages_18" + "llvm_18" + "wrapCCWith" + "overrideCC" + ] + ) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 868fcb087e0b..e7df1d07e687 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16499,7 +16499,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; llvm_17 = llvmPackages_17.libllvm; }; - rust_1_79 = callPackage ../development/compilers/rust/1_79.nix { + rust_1_80 = callPackage ../development/compilers/rust/1_80.nix { inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; llvm_18 = llvmPackages_18.libllvm; }; @@ -16512,7 +16512,7 @@ with pkgs; }; rustPackages_1_77 = rust_1_77.packages.stable; - rustPackages_1_79 = rust_1_79.packages.stable; + rustPackages_1_80 = rust_1_80.packages.stable; rustPackages = rustPackages_1_77; inherit (rustPackages) cargo cargo-auditable cargo-auditable-cargo-wrapper clippy rustc rustPlatform; @@ -40224,7 +40224,7 @@ with pkgs; vazir-code-font = callPackage ../data/fonts/vazir-code-font { }; vaultwarden = callPackage ../tools/security/vaultwarden { - inherit (rustPackages_1_79) rustPlatform; + inherit (rustPackages_1_80) rustPlatform; inherit (darwin.apple_sdk.frameworks) Security CoreServices SystemConfiguration; }; vaultwarden-sqlite = vaultwarden;