Skip to content

Commit c1eb661

Browse files
committed
Merge branch 'master' into staging-next
2 parents cbede4e + b0e3e12 commit c1eb661

24 files changed

Lines changed: 211 additions & 66 deletions

File tree

doc/languages-frameworks/rust.section.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -939,3 +939,68 @@ Fenix also has examples with `buildRustPackage`,
939939
[crane](https://github.com/ipetkov/crane),
940940
[naersk](https://github.com/nix-community/naersk),
941941
and cross compilation in its [Examples](https://github.com/nix-community/fenix#examples) section.
942+
943+
## Using `git bisect` on the Rust compiler {#using-git-bisect-on-the-rust-compiler}
944+
945+
Sometimes an upgrade of the Rust compiler (`rustc`) will break a
946+
downstream package. In these situations, being able to `git bisect`
947+
the `rustc` version history to find the offending commit is quite
948+
useful. Nixpkgs makes it easy to do this.
949+
950+
First, roll back your nixpkgs to a commit in which its `rustc` used
951+
*the most recent one which doesn't have the problem.* You'll need
952+
to do this because of `rustc`'s extremely aggressive
953+
version-pinning.
954+
955+
Next, add the following overlay, updating the Rust version to the
956+
one in your rolled-back nixpkgs, and replacing `/git/scratch/rust`
957+
with the path into which you have `git clone`d the `rustc` git
958+
repository:
959+
960+
```nix
961+
(final: prev: /*lib.optionalAttrs prev.stdenv.targetPlatform.isAarch64*/ {
962+
rust_1_72 =
963+
lib.updateManyAttrsByPath [{
964+
path = [ "packages" "stable" ];
965+
update = old: old.overrideScope(final: prev: {
966+
rustc = prev.rustc.overrideAttrs (_: {
967+
src = lib.cleanSource /git/scratch/rust;
968+
# do *not* put passthru.isReleaseTarball=true here
969+
});
970+
});
971+
}]
972+
prev.rust_1_72;
973+
})
974+
```
975+
976+
If the problem you're troubleshooting only manifests when
977+
cross-compiling you can uncomment the `lib.optionalAttrs` in the
978+
example above, and replace `isAarch64` with the target that is
979+
having problems. This will speed up your bisect quite a bit, since
980+
the host compiler won't need to be rebuilt.
981+
982+
Now, you can start a `git bisect` in the directory where you checked
983+
out the `rustc` source code. It is recommended to select the
984+
endpoint commits by searching backwards from `origin/master` for the
985+
*commits which added the release notes for the versions in
986+
question.* If you set the endpoints to commits on the release
987+
branches (i.e. the release tags), git-bisect will often get confused
988+
by the complex merge-commit structures it will need to traverse.
989+
990+
The command loop you'll want to use for bisecting looks like this:
991+
992+
```bash
993+
git bisect {good,bad} # depending on result of last build
994+
git submodule update --init
995+
CARGO_NET_OFFLINE=false cargo vendor \
996+
--sync ./src/tools/cargo/Cargo.toml \
997+
--sync ./src/tools/rust-analyzer/Cargo.toml \
998+
--sync ./compiler/rustc_codegen_cranelift/Cargo.toml \
999+
--sync ./src/bootstrap/Cargo.toml
1000+
nix-build $NIXPKGS -A package-broken-by-rust-changes
1001+
```
1002+
1003+
The `git submodule update --init` and `cargo vendor` commands above
1004+
require network access, so they can't be performed from within the
1005+
`rustc` derivation, unfortunately.
1006+

pkgs/applications/networking/browsers/floorp/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
((buildMozillaMach rec {
99
pname = "floorp";
10-
packageVersion = "11.5.0";
10+
packageVersion = "11.5.1";
1111
applicationName = "Floorp";
1212
binaryName = "floorp";
1313
version = "155.4.0";
@@ -17,7 +17,7 @@
1717
repo = "Floorp";
1818
fetchSubmodules = true;
1919
rev = "v${packageVersion}";
20-
hash = "sha256-adK3LAu3cDh6d+GvtnkWmSnxansnSZoIgtA9TAqIMyA=";
20+
hash = "sha256-988jKyfIGZ2UPHTNO1cK2lxR/5j3U/QYR3ZI9WsvHUI=";
2121
};
2222

2323
extraConfigureFlags = [
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{
22
stable = import ./browser.nix {
33
channel = "stable";
4-
version = "118.0.2088.76";
4+
version = "119.0.2151.44";
55
revision = "1";
6-
sha256 = "sha256-cd8W/0UZi+NhPSILR8e8aOLxy6ra+0DVwRowo2jG8DA=";
6+
sha256 = "sha256-QY9Dk4tcpuNJGVcAcaIaVXAT95K87rK7ZQo7COMDpVU=";
77
};
88
beta = import ./browser.nix {
99
channel = "beta";
10-
version = "119.0.2151.32";
10+
version = "119.0.2151.44";
1111
revision = "1";
12-
sha256 = "sha256-tsDFUKZDiusr/fGO5NMRqzTDIF+MTgC/1gJu95wXwAw=";
12+
sha256 = "sha256-aLiitzCoMvJH2xAfo9bO7lEPMqKlb++BdJkrWx61SMc=";
1313
};
1414
dev = import ./browser.nix {
1515
channel = "dev";
16-
version = "120.0.2172.1";
16+
version = "120.0.2186.2";
1717
revision = "1";
18-
sha256 = "sha256-EvTS0AO3/A8Ut9H36mMOnS9PRR062WAoas9/Pd90NBM=";
18+
sha256 = "sha256-L/rtOddk4bt8ffkRnq0BYcVjrSb7RmDaay85S5vixSM=";
1919
};
2020
}

pkgs/data/fonts/iosevka/default.nix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
5555

5656
buildNpmPackage rec {
5757
pname = if set != null then "iosevka-${set}" else "iosevka";
58-
version = "27.3.4";
58+
version = "27.3.5";
5959

6060
src = fetchFromGitHub {
6161
owner = "be5invis";
6262
repo = "iosevka";
6363
rev = "v${version}";
64-
hash = "sha256-JsK2jzXyAACh9e3P2y0YLky2XQuR/dKyEbRpFUSnJdM=";
64+
hash = "sha256-dqXr/MVOuEmAMueaRWsnzY9MabhnyBRtLR9IDVLN79I=";
6565
};
6666

67-
npmDepsHash = "sha256-uchJ+1NWbo4FpNOjOO3luhIdZyQZLToZ1UCMLdGzjkY=";
67+
npmDepsHash = "sha256-bux8aFBP1Pi5pAQY1jkNTqD2Ny2j+QQs+QRaXWJj6xg=";
6868

6969
nativeBuildInputs = [
7070
remarshal

pkgs/desktops/gnome/core/gnome-control-center/default.nix

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
, gnome
2424
, gsettings-desktop-schemas
2525
, gsound
26+
, gst_all_1
2627
, gtk4
2728
, ibus
2829
, libgnomekbd
@@ -134,7 +135,11 @@ stdenv.mkDerivation rec {
134135
tracker-miners # for search locations dialog
135136
udisks2
136137
upower
137-
];
138+
] ++ (with gst_all_1; [
139+
# For animations in Mouse panel.
140+
gst-plugins-base
141+
gst-plugins-good
142+
]);
138143

139144
preConfigure = ''
140145
# For ITS rules

pkgs/development/compilers/gnu-smalltalk/default.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ in stdenv.mkDerivation rec {
5555
homepage = "http://smalltalk.gnu.org/";
5656
license = with licenses; [ gpl2 lgpl2 ];
5757
platforms = platforms.linux;
58-
maintainers = with maintainers; [ ];
58+
maintainers = with maintainers; [ AndersonTorres ];
5959
};
6060
}

pkgs/development/compilers/rust/default.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ in
7373
patches = rustcPatches;
7474

7575
# Use boot package set to break cycle
76-
inherit (bootstrapRustPackages) cargo rustc;
76+
inherit (bootstrapRustPackages) cargo rustc rustfmt;
7777
});
7878
rustfmt = self.callPackage ./rustfmt.nix {
7979
inherit Security;

pkgs/development/compilers/rust/rustc.nix

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{ lib, stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, targetPackages
22
, llvmShared, llvmSharedForBuild, llvmSharedForHost, llvmSharedForTarget, llvmPackages
33
, fetchurl, file, python3
4-
, darwin, cargo, cmake, rustc
4+
, darwin, cargo, cmake, rustc, rustfmt
55
, pkg-config, openssl, xz
66
, libiconv
77
, which, libffi
@@ -24,13 +24,15 @@
2424
let
2525
inherit (lib) optionals optional optionalString concatStringsSep;
2626
inherit (darwin.apple_sdk.frameworks) Security;
27-
in stdenv.mkDerivation rec {
27+
in stdenv.mkDerivation (finalAttrs: {
2828
pname = "${targetPackages.stdenv.cc.targetPrefix}rustc";
2929
inherit version;
3030

3131
src = fetchurl {
3232
url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
3333
inherit sha256;
34+
# See https://nixos.org/manual/nixpkgs/stable/#using-git-bisect-on-the-rust-compiler
35+
passthru.isReleaseTarball = true;
3436
};
3537

3638
__darwinAllowLocalNetworking = true;
@@ -82,6 +84,12 @@ in stdenv.mkDerivation rec {
8284
"--release-channel=stable"
8385
"--set=build.rustc=${rustc}/bin/rustc"
8486
"--set=build.cargo=${cargo}/bin/cargo"
87+
] ++ lib.optionals (!(finalAttrs.src.passthru.isReleaseTarball or false)) [
88+
# release tarballs vendor the rustfmt source; when
89+
# git-bisect'ing from upstream's git repo we must prevent
90+
# attempts to download the missing source tarball
91+
"--set=build.rustfmt=${rustfmt}/bin/rustfmt"
92+
] ++ [
8593
"--tools=rustc,rust-analyzer-proc-macro-srv"
8694
"--enable-rpath"
8795
"--enable-vendor"
@@ -206,6 +214,14 @@ in stdenv.mkDerivation rec {
206214
# See https://github.com/jemalloc/jemalloc/issues/1997
207215
# Using a value of 48 should work on both emulated and native x86_64-darwin.
208216
export JEMALLOC_SYS_WITH_LG_VADDR=48
217+
'' + lib.optionalString (!(finalAttrs.src.passthru.isReleaseTarball or false)) ''
218+
mkdir .cargo
219+
cat > .cargo/config <<\EOF
220+
[source.crates-io]
221+
replace-with = "vendored-sources"
222+
[source.vendored-sources]
223+
directory = "vendor"
224+
EOF
209225
'';
210226

211227
# rustc unfortunately needs cmake to compile llvm-rt but doesn't
@@ -283,4 +299,4 @@ in stdenv.mkDerivation rec {
283299
"i686-windows" "x86_64-windows"
284300
];
285301
};
286-
}
302+
})

pkgs/development/libraries/libtcod/default.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ stdenv.mkDerivation {
2929
homepage = "http://roguecentral.org/doryen/libtcod/";
3030
license = lib.licenses.bsd3;
3131
platforms = lib.platforms.linux;
32-
maintainers = [ ];
32+
maintainers = with lib.maintainers; [ AndersonTorres ];
3333
};
3434
}

pkgs/development/python-modules/asyncssh/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020

2121
buildPythonPackage rec {
2222
pname = "asyncssh";
23-
version = "2.14.0";
23+
version = "2.14.1";
2424
format = "setuptools";
2525

2626
disabled = pythonOlder "3.6";
2727

2828
src = fetchPypi {
2929
inherit pname version;
30-
hash = "sha256-4D7y0TH7tDcbQBhxhFLOjHNaSO3+ATnSq9zkwYekWcM=";
30+
hash = "sha256-GsMcMzoNg8iIMVIyRVAMqoFFA0I3QbDkZTOe9tpbXik=";
3131
};
3232

3333
propagatedBuildInputs = [

0 commit comments

Comments
 (0)