|
| 1 | +# New rust versions should first go to staging. |
| 2 | +# Things to check after updating: |
| 3 | +# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin: |
| 4 | +# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github |
| 5 | +# This testing can be also done by other volunteers as part of the pull |
| 6 | +# request review, in case platforms cannot be covered. |
| 7 | +# 2. The LLVM version used for building should match with rust upstream. |
| 8 | +# Check the version number in the src/llvm-project git submodule in: |
| 9 | +# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules |
| 10 | +# 3. Firefox and Thunderbird should still build on x86_64-linux. |
| 11 | + |
| 12 | +{ stdenv, lib |
| 13 | +, buildPackages |
| 14 | +, newScope, callPackage |
| 15 | +, CoreFoundation, Security, SystemConfiguration |
| 16 | +, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost |
| 17 | +, makeRustPlatform |
| 18 | +, llvmPackages_11 |
| 19 | +, llvmPackages_13, llvm_13 |
| 20 | +} @ args: |
| 21 | + |
| 22 | +import ./default.nix { |
| 23 | + rustcVersion = "1.56.0"; |
| 24 | + rustcSha256 = "0gzl5mzh9zm1ld6gkvlp0118d3qx4vw4n3wfq40k1swdd4nxf3yd"; |
| 25 | + |
| 26 | + llvmSharedForBuild = pkgsBuildBuild.llvmPackages_13.libllvm.override { enableSharedLibraries = true; }; |
| 27 | + llvmSharedForHost = pkgsBuildHost.llvmPackages_13.libllvm.override { enableSharedLibraries = true; }; |
| 28 | + llvmSharedForTarget = pkgsBuildTarget.llvmPackages_13.libllvm.override { enableSharedLibraries = true; }; |
| 29 | + |
| 30 | + llvmBootstrapForDarwin = llvmPackages_11; |
| 31 | + |
| 32 | + # For use at runtime |
| 33 | + llvmShared = llvm_13.override { enableSharedLibraries = true; }; |
| 34 | + |
| 35 | + # Note: the version MUST be one version prior to the version we're |
| 36 | + # building |
| 37 | + bootstrapVersion = "1.55.0"; |
| 38 | + |
| 39 | + # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` |
| 40 | + bootstrapHashes = { |
| 41 | + i686-unknown-linux-gnu = "6e42b6c44d2eb4170f4144423fa3c33338d8d5c3ea00b03bbac200c877bc9e98"; |
| 42 | + x86_64-unknown-linux-gnu = "2080253a2ec36ac8ed6e060d30802d888533124b8d16545cfd4af898b365eaac"; |
| 43 | + x86_64-unknown-linux-musl = "f24f68587253c4bfbe59d3d10fe4897068d9130538de6b2d02097a25718030c2"; |
| 44 | + arm-unknown-linux-gnueabihf = "483444153d35cda51c6aec2c24bc4c97fa4fd30b28df4b60bf9763bd6e06da3a"; |
| 45 | + armv7-unknown-linux-gnueabihf = "8c72f0eb75b10db970fb546c3b41f5e97df294d5dbbf0b8fa96e17f2b281ee9c"; |
| 46 | + aarch64-unknown-linux-gnu = "eebdb2e659ed14884a49f0457d44e5e8c9f89fca3414533752c6dbb96232c156"; |
| 47 | + aarch64-unknown-linux-musl = "2ce36a7d34f1f2aa43b4cbc0b437d96eefb45743828bf9ae699ff581ae257f28"; |
| 48 | + x86_64-apple-darwin = "2e345ac7724c192c9487a2c6bd4f6c52c884d791981510288830d27d9a0bf2f3"; |
| 49 | + aarch64-apple-darwin = "70c71d30d0de76912fcd88d503a6cb4323cfe6250c1a255be7e0d4e644b3d40a"; |
| 50 | + powerpc64le-unknown-linux-gnu = "12bf6447d338cbe2b55539b84e6369b17e7eefe938d1ba7e3dd69781c9cc9812"; |
| 51 | + riscv64gc-unknown-linux-gnu = "effceb45346fef3b0b54b357336e6f374f788b803bb1bee4084f25eace8907f3"; |
| 52 | + }; |
| 53 | + |
| 54 | + selectRustPackage = pkgs: pkgs.rust_1_56; |
| 55 | + |
| 56 | + rustcPatches = [ |
| 57 | + ]; |
| 58 | +} |
| 59 | + |
| 60 | +(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_11" "llvmPackages_13" "llvm_13"]) |
0 commit comments