Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-07-06 06:01:39 +00:00 committed by GitHub
commit 2a0536535d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 543 additions and 896 deletions

View file

@ -20,8 +20,8 @@
<literal
xlink:href="https://discourse.nixos.org">Discourse</literal> or
on the <link
xlink:href="irc://irc.freenode.net/#nixos">
<literal>#nixos</literal> channel on Freenode</link>, or
xlink:href="irc://irc.libera.chat/#nixos">
<literal>#nixos</literal> channel on Libera.Chat</link>, or
consider
<link
xlink:href="#chap-contributing">

View file

@ -38,7 +38,7 @@ with stdenv; lib.makeOverridable mkDerivation rec {
nativeBuildInputs = [ makeWrapper patchelf unzip ];
patchPhase = lib.optionalString (!stdenv.isDarwin) ''
postPatch = lib.optionalString (!stdenv.isDarwin) ''
get_file_size() {
local fname="$1"
echo $(ls -l $fname | cut -d ' ' -f5)
@ -64,6 +64,8 @@ with stdenv; lib.makeOverridable mkDerivation rec {
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
cp -a . $out/$name
ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
@ -86,6 +88,8 @@ with stdenv; lib.makeOverridable mkDerivation rec {
--set ${hiName}_VM_OPTIONS ${vmoptsFile}
ln -s "$item/share/applications" $out/share
runHook postInstall
'';
} // lib.optionalAttrs (!(meta.license.free or true)) {

View file

@ -193,7 +193,7 @@ let
platforms = platforms.linux;
};
}).overrideAttrs (attrs: {
patchPhase = lib.optionalString (!stdenv.isDarwin) (attrs.patchPhase + ''
postPatch = lib.optionalString (!stdenv.isDarwin) (attrs.postPatch + ''
rm -rf lib/ReSharperHost/linux-x64/dotnet
mkdir -p lib/ReSharperHost/linux-x64/dotnet/
ln -s ${dotnet-sdk_5}/bin/dotnet lib/ReSharperHost/linux-x64/dotnet/dotnet
@ -229,7 +229,7 @@ let
platforms = platforms.linux;
};
}).overrideAttrs (attrs: {
patchPhase = (attrs.patchPhase or "") + optionalString (stdenv.isLinux) ''
postPatch = (attrs.postPatch or "") + optionalString (stdenv.isLinux) ''
# Webstorm tries to use bundled jre if available.
# Lets prevent this for the moment
rm -r jbr

View file

@ -6,6 +6,8 @@ use List::Util qw(reduce);
use File::Slurp;
use LWP::Simple;
my $only_free = grep { $_ eq "--only-free" } @ARGV;
sub semantic_less {
my ($a, $b) = @_;
$a =~ s/\b(\d+)\b/sprintf("%010s", $1)/eg;
@ -55,13 +57,15 @@ sub update_nix_block {
die "no version in $block" unless $version;
if ($version eq $latest_versions{$channel}) {
print("$channel is up to date at $version\n");
} elsif ($only_free && $block =~ /licenses\.unfree/) {
print("$channel is unfree, skipping\n");
} else {
print("updating $channel: $version -> $latest_versions{$channel}\n");
my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
# try to interpret some nix
my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
$name =~ s/\$\{version\}/$latest_versions{$channel}/;
# Some url paattern contain variables more than once
# Some url pattern contain variables more than once
$url =~ s/\$\{name\}/$name/g;
$url =~ s/\$\{version\}/$latest_versions{$channel}/g;
die "$url still has some interpolation" if $url =~ /\$/;

View file

@ -1,6 +1,8 @@
{ buildPythonApplication, lib, fetchFromGitHub
{ buildPythonApplication
, lib
, fetchFromGitHub
# build inputs
# build inputs
, atk
, gdk-pixbuf
, glib-networking
@ -13,7 +15,7 @@
, webkitgtk
, wrapGAppsHook
# python dependencies
# python dependencies
, dbus-python
, distro
, evdev
@ -25,7 +27,7 @@
, keyring
, python_magic
# commands that lutris needs
# commands that lutris needs
, xrandr
, pciutils
, psmisc
@ -71,15 +73,16 @@ let
gstreamer
];
in buildPythonApplication rec {
in
buildPythonApplication rec {
pname = "lutris-original";
version = "0.5.8.3";
version = "0.5.8.4";
src = fetchFromGitHub {
owner = "lutris";
repo = "lutris";
rev = "v${version}";
sha256 = "sha256-NnWIP9oEndk/hDo5Z33pkmZ61pxT/ScmZ4YpS2ajK/8=";
sha256 = "sha256-5ivXIgDyM9PRvuUhPFPgziXDvggcL+p65kI2yOaiS1M=";
};
nativeBuildInputs = [ wrapGAppsHook ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, conf ? null }:
{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }:
stdenv.mkDerivation rec {
pname = "sfm";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
hash = "sha256-DwXKrSqcebNI5N9REXyMV16W2kr72IH9+sKSVehc5zw=";
};
configFile = lib.optionalString (conf!=null) (lib.writeText "config.def.h" conf);
configFile = lib.optionalString (conf!=null) (writeText "config.def.h" conf);
postPatch = lib.optionalString (conf!=null) "cp ${configFile} config.def.h";

View file

@ -10,23 +10,21 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.8.3";
version = "0.10.0";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
sha256 = "sha256-mBoqyDfGho2e4RuFwkiU2R+zb38LzByWtH4pOhguueY=";
sha256 = "sha256-cqIIpdkQ6DF7DKXvwCoJBQKG0+lL8iP/Vx0q7rL8prg=";
};
vendorSha256 = "sha256-S3Gp7HkBIZNZ8rkp64XaUQUj1TggGwI9FMrVkyLCQWA=";
vendorSha256 = "sha256-0+k1e7Sn+NYGAJDVUbUm0oedc1t2blezUhsjDIuIKvA=";
nativeBuildInputs = [ makeWrapper installShellFiles ];
preBuild = let t = "github.com/containerd/nerdctl/pkg/version"; in
''
buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.Revision=<unknown>")
'';
ldflags = let t = "github.com/containerd/nerdctl/pkg/version"; in
[ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.Revision=<unknown>" ];
# Many checks require a containerd socket and running nerdctl after it's built
doCheck = false;

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tanka";
version = "0.16.0";
version = "0.17.0";
src = fetchFromGitHub {
owner = "grafana";
repo = pname;
rev = "v${version}";
sha256 = "sha256-KvQIVJZD/VvLE5RocWLRVGbb8faLY2cBeFSE/6E7x50=";
sha256 = "sha256-9UfSKMyapmDyikRqs7UiA4YYcvj/Tin9pRqC9iFLPWE=";
};
vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";

View file

@ -17,14 +17,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "14.31.42";
version = "14.31.44";
pname = "jmol";
src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
sha256 = "sha256-q81dUSxrKT3nzX0bFclolsyguQxXKlsiX9GCwEvOpAw=";
sha256 = "sha256-MHfqoQzUEL7nje7Y/hbaA8iktxfN7464TJXum5B6OCc=";
};
patchPhase = ''

View file

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "bit";
version = "1.1.1";
version = "1.1.2";
src = fetchFromGitHub {
owner = "chriswalz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-85GEx9y8r9Fjgfcwh1Bi8WDqBm6KF7uidutlF77my60=";
sha256 = "sha256-18R0JGbG5QBDghF4SyhXaKe9UY5UzF7Ap0Y061Z1SZ8=";
};
vendorSha256 = "sha256-3Y/B14xX5jaoL44rq9+Nn4niGViLPPXBa8WcJgTvYTA=";

View file

@ -1,7 +1,7 @@
{ lib, fetchzip }:
let
version = "6.000";
version = "6.001";
in fetchzip rec {
name = "gentium-${version}";
@ -23,7 +23,7 @@ in fetchzip rec {
-d $out/share/doc/${name}/documentation
'';
sha256 = "zhSpAYK3Lfzsx6Z1IA6aRFNNXdDGq/jWxsQ20c2HcxI=";
sha256 = "sha256-DeoMTJ2nhTBtNQYG55lIMvnulqpk/KTeIqgpb5eiTIA=";
meta = with lib; {
homepage = "https://software.sil.org/gentium/";

View file

@ -0,0 +1,57 @@
{ lib
, fetchFromGitHub
, llvmPackages
, makeWrapper
, libiconv
}:
let
inherit (llvmPackages) stdenv;
in stdenv.mkDerivation rec {
pname = "odin";
version = "0.13.0";
src = fetchFromGitHub {
owner = "odin-lang";
repo = "Odin";
rev = "v${version}";
sha256 = "ke2HPxVtF/Lh74Tv6XbpM9iLBuXLdH1+IE78MAacfYY=";
};
nativeBuildInputs = [
makeWrapper
];
buildInputs = lib.optional stdenv.isDarwin libiconv;
postPatch = ''
sed -i 's/^GIT_SHA=.*$/GIT_SHA=/' Makefile
'';
dontConfigure = true;
buildFlags = [
"release"
];
installPhase = ''
mkdir -p $out/bin
cp odin $out/bin/odin
cp -r core $out/bin/core
wrapProgram $out/bin/odin --prefix PATH : ${lib.makeBinPath (with llvmPackages; [
bintools
llvm
clang
lld
])}
'';
meta = with lib; {
description = "A fast, concise, readable, pragmatic and open sourced programming language";
homepage = "https://odin-lang.org/";
license = licenses.bsd2;
maintainers = with maintainers; [ luc65r ];
platforms = platforms.x86_64;
};
}

View file

@ -12,12 +12,12 @@
buildPythonPackage rec {
pname = "apispec";
version = "4.6.0";
version = "4.7.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "a896f97394b7d046d46c65262e51e45241dd8d9d71eedebcdb2d7024b775eec4";
sha256 = "sha256-v6G+yLWyzqZyfgIMOm/hHZYwiN0u1hbhFHXOry1naTc=";
};
propagatedBuildInputs = [
@ -32,8 +32,10 @@ buildPythonPackage rec {
pytestCheckHook
];
pythonImportsCheck = [ "apispec" ];
meta = with lib; {
description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification";
description = "A pluggable API specification generator with support for the OpenAPI Specification";
homepage = "https://github.com/marshmallow-code/apispec";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];

View file

@ -0,0 +1,33 @@
{ lib
, buildPythonPackage
, fetchPypi
, python-dateutil
, six
}:
buildPythonPackage rec {
pname = "bson";
version = "0.5.10";
src = fetchPypi {
inherit pname version;
sha256 = "14355m3dchz446fl54ym78bn4wi20hddx1614f8rl4sin0m1nlfn";
};
propagatedBuildInputs = [
python-dateutil
six
];
# 0.5.10 was not tagged, https://github.com/py-bson/bson/issues/108
doCheck = false;
pythonImportsCheck = [ "bson" ];
meta = with lib; {
description = "BSON codec for Python";
homepage = "https://github.com/py-bson/bson";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -1,27 +1,70 @@
{ lib
, attrs
, bson
, buildPythonPackage
, fetchFromGitHub
, hypothesis
, immutables
, msgpack
, poetry-core
, pytestCheckHook
, pyyaml
, tomlkit
, ujson
}:
buildPythonPackage rec {
pname = "cattrs";
version = "1.1.2";
version = "1.7.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "Tinche";
repo = pname;
rev = "v${version}";
sha256 = "083d5mi6x7qcl26wlvwwn7gsp5chxlxkh4rp3a41w8cfwwr3h6l8";
sha256 = "sha256-7F4S4IeApbULXhkEZ0oab3Y7sk20Ag2fCYxsyi4WbWw=";
};
propagatedBuildInputs = [ attrs ];
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
attrs
];
checkInputs = [
bson
hypothesis
immutables
msgpack
pytestCheckHook
pyyaml
tomlkit
ujson
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5 --benchmark-group-by=fullname" ""
substituteInPlace pyproject.toml \
--replace 'orjson = "^3.5.2"' ""
substituteInPlace tests/test_preconf.py \
--replace "from orjson import dumps as orjson_dumps" "" \
--replace "from orjson import loads as orjson_loads" ""
'';
disabledTestPaths = [
# Don't run benchmarking tests
"bench/test_attrs_collections.py"
"bench/test_attrs_nested.py"
"bench/test_attrs_primitives.py"
"bench/test_primitives.py"
];
disabledTests = [
# orjson is not available as it requires Rust nightly features to compile its requirements
"test_orjson"
];
pythonImportsCheck = [ "cattr" ];

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "ecos";
version = "2.0.7.post1";
version = "2.0.8";
disabled = pythonOlder "3.6";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "embotech";
repo = "ecos-python";
rev = version;
sha256 = "1wzmamz2r4xr2zxgfwnm5q283185d1q6a7zn30vip18lxpys70z0";
sha256 = "sha256-2OJqbcOZceeD2fO5cu9fohuUVaA2LwQOQSWR4jRv3mk=";
fetchSubmodules = true;
};

View file

@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, cffi
}:
buildPythonPackage rec {
pname = "editdistance-s";
version = "1.0.0";
src = fetchFromGitHub {
owner = "asottile";
repo = pname;
rev = "v${version}";
sha256 = "0w2qd5b6a3c3ahd0xy9ykq4wzqk0byqwdqrr26dyn8j2425j46lg";
};
propagatedBuildInputs = [ cffi ];
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "editdistance_s" ];
meta = with lib; {
description = "Fast implementation of the edit distance (Levenshtein distance)";
homepage = "https://github.com/asottile/editdistance-s";
license = with licenses; [ mit ];
maintainers = with maintainers; [ austinbutler ];
};
}

View file

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, isPy27
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "gibberish-detector";
version = "0.1.1";
disabled = isPy27;
src = fetchFromGitHub {
owner = "domanchi";
repo = pname;
rev = "v${version}";
sha256 = "1si0fkpnk9vjkwl31sq5jkyv3rz8a5f2nh3xq7591j9wv2b6dn0b";
};
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "gibberish_detector" ];
meta = with lib; {
description = "Python module to detect gibberish strings";
homepage = "https://github.com/domanchi/gibberish-detector";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -2,23 +2,23 @@
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, editdistance
, editdistance-s
}:
buildPythonPackage rec {
pname = "identify";
version = "1.6.1";
version = "2.2.10";
src = fetchFromGitHub {
owner = "pre-commit";
repo = pname;
rev = "v${version}";
sha256 = "1sqhqqjp53dwm8yq4nrgggxbvzs3szbg49z5sj2ss9xzlgmimclm";
sha256 = "017xcwm8m42a1v3v0fs8v3m2sga97rx9a7vk0cb2g14777f4w4si";
};
checkInputs = [
editdistance
editdistance-s
pytestCheckHook
];

View file

@ -8,11 +8,11 @@
buildPythonPackage rec {
pname = "lmnotify";
version = "0.0.4";
version = "0.0.6";
src = fetchPypi {
inherit pname version;
sha256 = "1l0h4yab7ix8psf65iygc1wy5xwq3v2rwwjixvd8rwk46d2477dx";
sha256 = "sha256-cCP7BU2f7QJe9gAI298cvkp3OGijvBv8G1RN7qfZ5PE=";
};
propagatedBuildInputs = [ oauthlib requests requests_oauthlib ];

View file

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
, psutil
}:
buildPythonPackage rec {
pname = "python-pidfile";
version = "3.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-HhCX30G8dfV0WZ/++J6LIO/xvfyRkdPtJkzC2ulUKdA=";
};
propagatedBuildInputs = [
psutil
];
pythonImportsCheck = [ "pidfile" ];
# no tests on the github mirror of the source code
# see this: https://github.com/mosquito/python-pidfile/issues/7
doCheck = false;
meta = with lib; {
description = "Python context manager for managing pid files";
homepage = "https://github.com/mosquito/python-pidfile";
license = with licenses; [ mit ];
maintainers = with maintainers; [ legendofmiracles ];
};
}

View file

@ -7,33 +7,37 @@
, poetry-core
, pytest-aiohttp
, pytest-asyncio
, pytest-cov
, pytest-mock
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "regenmaschine";
version = "3.1.2";
version = "3.1.3";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "bachya";
repo = pname;
rev = version;
sha256 = "sha256-lARti3Sb/jh7h8x+lFLqkM/BlL6XmELm46owsL041Cw=";
sha256 = "sha256-3Q0JQQVspzuQQAn3S46uFbOYW2zQ7c1UL4zjEOnifDY=";
};
nativeBuildInputs = [ poetry-core ];
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [ aiohttp ];
propagatedBuildInputs = [
aiohttp
];
checkInputs = [
aresponses
asynctest
pytest-aiohttp
pytest-asyncio
pytest-cov
pytest-mock
pytestCheckHook
];

View file

@ -7,11 +7,11 @@
buildPythonPackage rec {
pname = "sqlmap";
version = "1.5.6";
version = "1.5.7";
src = fetchPypi {
inherit pname version;
sha256 = "fc4be53bb7f64b1cc2e8058e7660059d8f5afb9857cc033084953ea615a10305";
sha256 = "sha256-HTayAlXehm3Azmbi+ar/Vav5bPYmGu9gflzZCwWZihw=";
};
postPatch = ''

View file

@ -0,0 +1,61 @@
{ lib
, fetchFromGitHub
, python3
, installShellFiles
, bash
, pandoc
}:
# FIXME: how to "recommend" apksigner like the Debian package?
python3.pkgs.buildPythonApplication rec {
pname = "apksigcopier";
version = "1.0.0";
src = fetchFromGitHub {
owner = "obfusk";
repo = "apksigcopier";
rev = "v${version}";
sha256 = "1la1ml91jvqc1zakbqfpayjbs67pi3i18bsgz3mf11rxgphd3fpk";
};
nativeBuildInputs = [ installShellFiles pandoc ];
propagatedBuildInputs = with python3.pkgs; [ click ];
checkInputs = with python3.pkgs; [ flake8 mypy pylint ];
postPatch = ''
substituteInPlace Makefile \
--replace /bin/bash ${bash}/bin/bash \
--replace 'apksigcopier --version' '${python3.interpreter} apksigcopier --version'
'';
postBuild = ''
make ${pname}.1
'';
checkPhase = ''
make test
'';
postInstall = ''
installManPage ${pname}.1
'';
meta = with lib; {
description = "Copy/extract/patch apk signatures & compare apks";
longDescription = ''
apksigcopier is a tool for copying APK signatures from a signed APK
to an unsigned one (in order to verify reproducible builds). It can
also be used to compare two APKs with different signatures. Its
command-line tool offers four operations:
* copy signatures directly from a signed to an unsigned APK
* extract signatures from a signed APK to a directory
* patch previously extracted signatures onto an unsigned APK
* compare two APKs with different signatures (requires apksigner)
'';
homepage = "https://github.com/obfusk/apksigcopier";
license = with licenses; [ gpl3Plus ];
maintainers = [ maintainers.obfusk ];
};
}

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Build tooling for Clojure";
homepage = "https://boot-clj.com/";
homepage = "https://boot-clj.github.io/";
license = licenses.epl10;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ ragge ];

View file

@ -1,10 +1,7 @@
{ lib
, buildPythonApplication
, configparser
, enum34
, fetchFromGitHub
, functools32
, future
, gibberish-detector
, isPy27
, mock
, pyahocorasick
@ -17,34 +14,54 @@
buildPythonApplication rec {
pname = "detect-secrets";
version = "0.14.3";
version = "1.1.0";
disabled = isPy27;
# PyPI tarball doesn't ship tests
src = fetchFromGitHub {
owner = "Yelp";
repo = pname;
rev = "v${version}";
sha256 = "0c4hxih9ljmv0d3izq5idyspk5zci26gdb6lv9klwcshwrfkvxj0";
sha256 = "sha256-dj0lqm9s8OKhM4OmNrmGVRc32/ZV0I9+5WcW2hvLwu0=";
};
propagatedBuildInputs = [
gibberish-detector
pyyaml
pyahocorasick
requests
];
checkInputs = [
mock
pyahocorasick
pytestCheckHook
responses
unidiff
];
preCheck = ''
export HOME=$(mktemp -d);
'';
disabledTests = [
"TestMain"
"TestPreCommitHook"
"TestInitializeBaseline"
# Tests are failing for various reasons. Needs to be adjusted with the next update
"test_baseline_filters_out_known_secrets"
"test_basic"
"test_does_not_modify_slim_baseline"
"test_handles_each_path_separately"
"test_handles_multiple_directories"
"test_load_and_output"
"test_make_decisions"
"test_modifies_baseline"
"test_no_files_in_git_repo"
"test_outputs_baseline_if_none_supplied"
"test_saves_to_baseline"
"test_scan_all_files"
"test_should_scan_all_files_in_directory_if_flag_is_provided"
"test_should_scan_specific_non_tracked_file"
"test_should_scan_tracked_files_in_directory"
"test_start_halfway"
"test_works_from_different_directory"
"TestModifiesBaselineFromVersionChange"
];
pythonImportsCheck = [ "detect_secrets" ];

View file

@ -7,21 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
version = "2021-06-28";
cargoSha256 = "sha256-Xpo/VK/w6BVbHUc+m/70AE0Cag8D3fT+wosOA8Lzz2A=";
version = "2021-07-05";
cargoSha256 = "sha256-HmvvDHi33JAYXON98mbb+MfmJizOL4cdTbc3QDtPkZo=";
src = fetchFromGitHub {
owner = "rust-analyzer";
repo = "rust-analyzer";
rev = version;
sha256 = "sha256-aWLqcCSeKRmCsETu4ri+SPQ5iB6nqaYELj0Qt3zW9/E=";
sha256 = "sha256-7pH38U+HMNPuO1BFP5kPTJoxGWTewRUoLrc9NXDdK2M=";
};
patches = [
# We have rustc 1.52.1 in nixpkgs.
./no-rust-1-53-features.patch
];
buildAndTestSubdir = "crates/rust-analyzer";
cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";

View file

@ -1,689 +0,0 @@
diff --git a/crates/hir/src/semantics.rs b/crates/hir/src/semantics.rs
index 43162797e..613266e07 100644
--- a/crates/hir/src/semantics.rs
+++ b/crates/hir/src/semantics.rs
@@ -51,14 +51,12 @@ impl PathResolution {
PathResolution::Def(ModuleDef::BuiltinType(builtin)) => {
Some(TypeNs::BuiltinType((*builtin).into()))
}
- PathResolution::Def(
- ModuleDef::Const(_)
- | ModuleDef::Variant(_)
- | ModuleDef::Function(_)
- | ModuleDef::Module(_)
- | ModuleDef::Static(_)
- | ModuleDef::Trait(_),
- ) => None,
+ PathResolution::Def(ModuleDef::Const(_))
+ | PathResolution::Def(ModuleDef::Variant(_))
+ | PathResolution::Def(ModuleDef::Function(_))
+ | PathResolution::Def(ModuleDef::Module(_))
+ | PathResolution::Def(ModuleDef::Static(_))
+ | PathResolution::Def(ModuleDef::Trait(_)) => None,
PathResolution::Def(ModuleDef::TypeAlias(alias)) => {
Some(TypeNs::TypeAliasId((*alias).into()))
}
@@ -67,7 +65,8 @@ impl PathResolution {
}
PathResolution::TypeParam(param) => Some(TypeNs::GenericParam((*param).into())),
PathResolution::SelfType(impl_def) => Some(TypeNs::SelfType((*impl_def).into())),
- PathResolution::AssocItem(AssocItem::Const(_) | AssocItem::Function(_)) => None,
+ PathResolution::AssocItem(AssocItem::Const(_))
+ | PathResolution::AssocItem(AssocItem::Function(_)) => None,
PathResolution::AssocItem(AssocItem::TypeAlias(alias)) => {
Some(TypeNs::TypeAliasId((*alias).into()))
}
diff --git a/crates/hir_def/src/item_tree/pretty.rs b/crates/hir_def/src/item_tree/pretty.rs
index 8b12e5a67..d03c11377 100644
--- a/crates/hir_def/src/item_tree/pretty.rs
+++ b/crates/hir_def/src/item_tree/pretty.rs
@@ -63,7 +63,7 @@ impl<'a> Printer<'a> {
fn blank(&mut self) {
let mut iter = self.buf.chars().rev().fuse();
match (iter.next(), iter.next()) {
- (Some('\n'), Some('\n') | None) | (None, None) => {}
+ (Some('\n'), Some('\n')) | (Some('\n'), None) | (None, None) => {}
(Some('\n'), Some(_)) => {
self.buf.push('\n');
}
@@ -77,7 +77,7 @@ impl<'a> Printer<'a> {
fn whitespace(&mut self) {
match self.buf.chars().next_back() {
- None | Some('\n' | ' ') => {}
+ None | Some('\n') | Some(' ') => {}
_ => self.buf.push(' '),
}
}
diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs
index 634e02205..250eb1c3e 100644
--- a/crates/hir_def/src/nameres/collector.rs
+++ b/crates/hir_def/src/nameres/collector.rs
@@ -1260,7 +1260,7 @@ impl DefCollector<'_> {
for directive in &self.unresolved_imports {
if let ImportSource::Import { id: import, use_tree } = &directive.import.source {
match (directive.import.path.segments().first(), &directive.import.path.kind) {
- (Some(krate), PathKind::Plain | PathKind::Abs) => {
+ (Some(krate), PathKind::Plain) | (Some(krate), PathKind::Abs) => {
if diagnosed_extern_crates.contains(krate) {
continue;
}
diff --git a/crates/hir_def/src/resolver.rs b/crates/hir_def/src/resolver.rs
index a11439c3b..1841fe989 100644
--- a/crates/hir_def/src/resolver.rs
+++ b/crates/hir_def/src/resolver.rs
@@ -605,7 +605,8 @@ fn to_value_ns(per_ns: PerNs) -> Option<ValueNs> {
ModuleDefId::ConstId(it) => ValueNs::ConstId(it),
ModuleDefId::StaticId(it) => ValueNs::StaticId(it),
- ModuleDefId::AdtId(AdtId::EnumId(_) | AdtId::UnionId(_))
+ ModuleDefId::AdtId(AdtId::EnumId(_))
+ | ModuleDefId::AdtId(AdtId::UnionId(_))
| ModuleDefId::TraitId(_)
| ModuleDefId::TypeAliasId(_)
| ModuleDefId::BuiltinType(_)
diff --git a/crates/hir_def/src/visibility.rs b/crates/hir_def/src/visibility.rs
index aeb1e7726..83500f54e 100644
--- a/crates/hir_def/src/visibility.rs
+++ b/crates/hir_def/src/visibility.rs
@@ -172,8 +172,9 @@ impl Visibility {
/// visible in unrelated modules).
pub(crate) fn max(self, other: Visibility, def_map: &DefMap) -> Option<Visibility> {
match (self, other) {
- (Visibility::Module(_) | Visibility::Public, Visibility::Public)
- | (Visibility::Public, Visibility::Module(_)) => Some(Visibility::Public),
+ (Visibility::Module(_), Visibility::Public)
+ | (Visibility::Public, Visibility::Module(_))
+ | (Visibility::Public, Visibility::Public) => Some(Visibility::Public),
(Visibility::Module(mod_a), Visibility::Module(mod_b)) => {
if mod_a.krate != mod_b.krate {
return None;
diff --git a/crates/hir_expand/src/hygiene.rs b/crates/hir_expand/src/hygiene.rs
index 848522411..05c6c3fb1 100644
--- a/crates/hir_expand/src/hygiene.rs
+++ b/crates/hir_expand/src/hygiene.rs
@@ -146,11 +146,10 @@ impl HygieneInfo {
(&self.macro_arg.1, InFile::new(loc.kind.file_id(), arg_start))
}
mbe::Origin::Def => match (&*self.macro_def, self.def_start) {
- (
- TokenExpander::MacroDef { def_site_token_map, .. }
- | TokenExpander::MacroRules { def_site_token_map, .. },
- Some(tt),
- ) => (def_site_token_map, tt),
+ (TokenExpander::MacroDef { def_site_token_map, .. }, Some(tt))
+ | (TokenExpander::MacroRules { def_site_token_map, .. }, Some(tt)) => {
+ (def_site_token_map, tt)
+ }
_ => panic!("`Origin::Def` used with non-`macro_rules!` macro"),
},
};
diff --git a/crates/hir_expand/src/lib.rs b/crates/hir_expand/src/lib.rs
index c31426d7c..33107aa24 100644
--- a/crates/hir_expand/src/lib.rs
+++ b/crates/hir_expand/src/lib.rs
@@ -368,11 +368,10 @@ impl ExpansionInfo {
let (token_map, tt) = match origin {
mbe::Origin::Call => (&self.macro_arg.1, self.arg.clone()),
mbe::Origin::Def => match (&*self.macro_def, self.def.as_ref()) {
- (
- db::TokenExpander::MacroRules { def_site_token_map, .. }
- | db::TokenExpander::MacroDef { def_site_token_map, .. },
- Some(tt),
- ) => (def_site_token_map, tt.as_ref().map(|tt| tt.syntax().clone())),
+ (db::TokenExpander::MacroRules { def_site_token_map, .. }, Some(tt))
+ | (db::TokenExpander::MacroDef { def_site_token_map, .. }, Some(tt)) => {
+ (def_site_token_map, tt.as_ref().map(|tt| tt.syntax().clone()))
+ }
_ => panic!("`Origin::Def` used with non-`macro_rules!` macro"),
},
};
diff --git a/crates/hir_ty/src/consteval.rs b/crates/hir_ty/src/consteval.rs
index ab1afce08..6f0bf8f8c 100644
--- a/crates/hir_ty/src/consteval.rs
+++ b/crates/hir_ty/src/consteval.rs
@@ -38,7 +38,8 @@ impl ConstExt for Const {
// FIXME: support more than just evaluating literals
pub fn eval_usize(expr: &Expr) -> Option<u64> {
match expr {
- Expr::Literal(Literal::Uint(v, None | Some(BuiltinUint::Usize))) => (*v).try_into().ok(),
+ Expr::Literal(Literal::Uint(v, None))
+ | Expr::Literal(Literal::Uint(v, Some(BuiltinUint::Usize))) => (*v).try_into().ok(),
_ => None,
}
}
diff --git a/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs b/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs
index e3d640a79..471cd4921 100644
--- a/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs
+++ b/crates/hir_ty/src/diagnostics/match_check/deconstruct_pat.rs
@@ -84,7 +84,10 @@ impl IntRange {
#[inline]
fn is_integral(ty: &Ty) -> bool {
match ty.kind(&Interner) {
- TyKind::Scalar(Scalar::Char | Scalar::Int(_) | Scalar::Uint(_) | Scalar::Bool) => true,
+ TyKind::Scalar(Scalar::Char)
+ | TyKind::Scalar(Scalar::Int(_))
+ | TyKind::Scalar(Scalar::Uint(_))
+ | TyKind::Scalar(Scalar::Bool) => true,
_ => false,
}
}
@@ -378,7 +381,7 @@ impl Constructor {
// Wildcards cover anything
(_, Wildcard) => true,
// The missing ctors are not covered by anything in the matrix except wildcards.
- (Missing | Wildcard, _) => false,
+ (Missing, _) | (Wildcard, _) => false,
(Single, Single) => true,
(Variant(self_id), Variant(other_id)) => self_id == other_id,
@@ -520,7 +523,7 @@ impl SplitWildcard {
}
}
TyKind::Scalar(Scalar::Char) => unhandled(),
- TyKind::Scalar(Scalar::Int(..) | Scalar::Uint(..)) => unhandled(),
+ TyKind::Scalar(Scalar::Int(..)) | TyKind::Scalar(Scalar::Uint(..)) => unhandled(),
TyKind::Never if !cx.feature_exhaustive_patterns() && !pcx.is_top_level => {
smallvec![NonExhaustive]
}
diff --git a/crates/hir_ty/src/infer/coerce.rs b/crates/hir_ty/src/infer/coerce.rs
index 7be914451..4b7f31521 100644
--- a/crates/hir_ty/src/infer/coerce.rs
+++ b/crates/hir_ty/src/infer/coerce.rs
@@ -47,7 +47,10 @@ impl<'a> InferenceContext<'a> {
// pointers to have a chance at getting a match. See
// https://github.com/rust-lang/rust/blob/7b805396bf46dce972692a6846ce2ad8481c5f85/src/librustc_typeck/check/coercion.rs#L877-L916
let sig = match (ty1.kind(&Interner), ty2.kind(&Interner)) {
- (TyKind::FnDef(..) | TyKind::Closure(..), TyKind::FnDef(..) | TyKind::Closure(..)) => {
+ (TyKind::FnDef(..), TyKind::FnDef(..))
+ | (TyKind::Closure(..), TyKind::FnDef(..))
+ | (TyKind::FnDef(..), TyKind::Closure(..))
+ | (TyKind::Closure(..), TyKind::Closure(..)) => {
// FIXME: we're ignoring safety here. To be more correct, if we have one FnDef and one Closure,
// we should be coercing the closure to a fn pointer of the safety of the FnDef
cov_mark::hit!(coerce_fn_reification);
@@ -445,7 +448,8 @@ fn safe_to_unsafe_fn_ty(fn_ty: FnPointer) -> FnPointer {
fn coerce_mutabilities(from: Mutability, to: Mutability) -> Result<(), TypeError> {
match (from, to) {
- (Mutability::Mut, Mutability::Mut | Mutability::Not)
+ (Mutability::Mut, Mutability::Mut)
+ | (Mutability::Mut, Mutability::Not)
| (Mutability::Not, Mutability::Not) => Ok(()),
(Mutability::Not, Mutability::Mut) => Err(TypeError),
}
diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs
index c3a5b979f..346e94128 100644
--- a/crates/hir_ty/src/infer/expr.rs
+++ b/crates/hir_ty/src/infer/expr.rs
@@ -593,11 +593,11 @@ impl<'a> InferenceContext<'a> {
UnaryOp::Neg => {
match inner_ty.kind(&Interner) {
// Fast path for builtins
- TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_) | Scalar::Float(_))
- | TyKind::InferenceVar(
- _,
- TyVariableKind::Integer | TyVariableKind::Float,
- ) => inner_ty,
+ TyKind::Scalar(Scalar::Int(_))
+ | TyKind::Scalar(Scalar::Uint(_))
+ | TyKind::Scalar(Scalar::Float(_))
+ | TyKind::InferenceVar(_, TyVariableKind::Integer)
+ | TyKind::InferenceVar(_, TyVariableKind::Float) => inner_ty,
// Otherwise we resolve via the std::ops::Neg trait
_ => self
.resolve_associated_type(inner_ty, self.resolve_ops_neg_output()),
@@ -606,7 +606,9 @@ impl<'a> InferenceContext<'a> {
UnaryOp::Not => {
match inner_ty.kind(&Interner) {
// Fast path for builtins
- TyKind::Scalar(Scalar::Bool | Scalar::Int(_) | Scalar::Uint(_))
+ TyKind::Scalar(Scalar::Bool)
+ | TyKind::Scalar(Scalar::Int(_))
+ | TyKind::Scalar(Scalar::Uint(_))
| TyKind::InferenceVar(_, TyVariableKind::Integer) => inner_ty,
// Otherwise we resolve via the std::ops::Not trait
_ => self
@@ -733,7 +735,7 @@ impl<'a> InferenceContext<'a> {
Expr::Array(array) => {
let elem_ty =
match expected.to_option(&mut self.table).as_ref().map(|t| t.kind(&Interner)) {
- Some(TyKind::Array(st, _) | TyKind::Slice(st)) => st.clone(),
+ Some(TyKind::Array(st, _)) | Some(TyKind::Slice(st)) => st.clone(),
_ => self.table.new_type_var(),
};
diff --git a/crates/hir_ty/src/infer/pat.rs b/crates/hir_ty/src/infer/pat.rs
index c79ed91ea..80ecd4ea9 100644
--- a/crates/hir_ty/src/infer/pat.rs
+++ b/crates/hir_ty/src/infer/pat.rs
@@ -297,11 +297,10 @@ fn is_non_ref_pat(body: &hir_def::body::Body, pat: PatId) -> bool {
Expr::Literal(Literal::String(..)) => false,
_ => true,
},
- Pat::Bind {
- mode: BindingAnnotation::Mutable | BindingAnnotation::Unannotated,
- subpat: Some(subpat),
- ..
- } => is_non_ref_pat(body, *subpat),
+ Pat::Bind { mode: BindingAnnotation::Mutable, subpat: Some(subpat), .. }
+ | Pat::Bind { mode: BindingAnnotation::Unannotated, subpat: Some(subpat), .. } => {
+ is_non_ref_pat(body, *subpat)
+ }
Pat::Wild | Pat::Bind { .. } | Pat::Ref { .. } | Pat::Box { .. } | Pat::Missing => false,
}
}
diff --git a/crates/hir_ty/src/op.rs b/crates/hir_ty/src/op.rs
index 5ef6342d5..0222de2bc 100644
--- a/crates/hir_ty/src/op.rs
+++ b/crates/hir_ty/src/op.rs
@@ -8,15 +8,17 @@ pub(super) fn binary_op_return_ty(op: BinaryOp, lhs_ty: Ty, rhs_ty: Ty) -> Ty {
match op {
BinaryOp::LogicOp(_) | BinaryOp::CmpOp(_) => TyKind::Scalar(Scalar::Bool).intern(&Interner),
BinaryOp::Assignment { .. } => TyBuilder::unit(),
- BinaryOp::ArithOp(ArithOp::Shl | ArithOp::Shr) => {
+ BinaryOp::ArithOp(ArithOp::Shl) | BinaryOp::ArithOp(ArithOp::Shr) => {
// all integer combinations are valid here
if matches!(
lhs_ty.kind(&Interner),
- TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_))
+ TyKind::Scalar(Scalar::Int(_))
+ | TyKind::Scalar(Scalar::Uint(_))
| TyKind::InferenceVar(_, TyVariableKind::Integer)
) && matches!(
rhs_ty.kind(&Interner),
- TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_))
+ TyKind::Scalar(Scalar::Int(_))
+ | TyKind::Scalar(Scalar::Uint(_))
| TyKind::InferenceVar(_, TyVariableKind::Integer)
) {
lhs_ty
@@ -30,15 +32,15 @@ pub(super) fn binary_op_return_ty(op: BinaryOp, lhs_ty: Ty, rhs_ty: Ty) -> Ty {
| (TyKind::Scalar(Scalar::Uint(_)), TyKind::Scalar(Scalar::Uint(_)))
| (TyKind::Scalar(Scalar::Float(_)), TyKind::Scalar(Scalar::Float(_))) => rhs_ty,
// ({int}, int) | ({int}, uint)
- (
- TyKind::InferenceVar(_, TyVariableKind::Integer),
- TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_)),
- ) => rhs_ty,
+ (TyKind::InferenceVar(_, TyVariableKind::Integer), TyKind::Scalar(Scalar::Int(_)))
+ | (TyKind::InferenceVar(_, TyVariableKind::Integer), TyKind::Scalar(Scalar::Uint(_))) => {
+ rhs_ty
+ }
// (int, {int}) | (uint, {int})
- (
- TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_)),
- TyKind::InferenceVar(_, TyVariableKind::Integer),
- ) => lhs_ty,
+ (TyKind::Scalar(Scalar::Int(_)), TyKind::InferenceVar(_, TyVariableKind::Integer))
+ | (TyKind::Scalar(Scalar::Uint(_)), TyKind::InferenceVar(_, TyVariableKind::Integer)) => {
+ lhs_ty
+ }
// ({float} | float)
(TyKind::InferenceVar(_, TyVariableKind::Float), TyKind::Scalar(Scalar::Float(_))) => {
rhs_ty
@@ -67,15 +69,21 @@ pub(super) fn binary_op_rhs_expectation(op: BinaryOp, lhs_ty: Ty) -> Ty {
BinaryOp::Assignment { op: None } => lhs_ty,
BinaryOp::CmpOp(CmpOp::Eq { .. }) => match lhs_ty.kind(&Interner) {
TyKind::Scalar(_) | TyKind::Str => lhs_ty,
- TyKind::InferenceVar(_, TyVariableKind::Integer | TyVariableKind::Float) => lhs_ty,
+ TyKind::InferenceVar(_, TyVariableKind::Integer)
+ | TyKind::InferenceVar(_, TyVariableKind::Float) => lhs_ty,
_ => TyKind::Error.intern(&Interner),
},
- BinaryOp::ArithOp(ArithOp::Shl | ArithOp::Shr) => TyKind::Error.intern(&Interner),
+ BinaryOp::ArithOp(ArithOp::Shl) | BinaryOp::ArithOp(ArithOp::Shr) => {
+ TyKind::Error.intern(&Interner)
+ }
BinaryOp::CmpOp(CmpOp::Ord { .. })
| BinaryOp::Assignment { op: Some(_) }
| BinaryOp::ArithOp(_) => match lhs_ty.kind(&Interner) {
- TyKind::Scalar(Scalar::Int(_) | Scalar::Uint(_) | Scalar::Float(_)) => lhs_ty,
- TyKind::InferenceVar(_, TyVariableKind::Integer | TyVariableKind::Float) => lhs_ty,
+ TyKind::Scalar(Scalar::Int(_))
+ | TyKind::Scalar(Scalar::Uint(_))
+ | TyKind::Scalar(Scalar::Float(_)) => lhs_ty,
+ TyKind::InferenceVar(_, TyVariableKind::Integer)
+ | TyKind::InferenceVar(_, TyVariableKind::Float) => lhs_ty,
_ => TyKind::Error.intern(&Interner),
},
}
diff --git a/crates/ide/src/join_lines.rs b/crates/ide/src/join_lines.rs
index ffa8bd182..93d3760bf 100644
--- a/crates/ide/src/join_lines.rs
+++ b/crates/ide/src/join_lines.rs
@@ -197,7 +197,7 @@ fn join_single_use_tree(edit: &mut TextEditBuilder, token: &SyntaxToken) -> Opti
}
fn is_trailing_comma(left: SyntaxKind, right: SyntaxKind) -> bool {
- matches!((left, right), (T![,], T![')'] | T![']']))
+ matches!((left, right), (T![,], T![')']) | (T![,], T![']']))
}
fn compute_ws(left: SyntaxKind, right: SyntaxKind) -> &'static str {
diff --git a/crates/ide/src/references.rs b/crates/ide/src/references.rs
index 2d3a0f598..7a7654b6c 100644
--- a/crates/ide/src/references.rs
+++ b/crates/ide/src/references.rs
@@ -79,7 +79,8 @@ pub(crate) fn find_all_refs(
});
usages.references.retain(|_, it| !it.is_empty());
}
- Definition::ModuleDef(hir::ModuleDef::Adt(_) | hir::ModuleDef::Variant(_)) => {
+ Definition::ModuleDef(hir::ModuleDef::Adt(_))
+ | Definition::ModuleDef(hir::ModuleDef::Variant(_)) => {
refs.for_each(|it| {
it.retain(|reference| {
reference.name.as_name_ref().map_or(false, is_lit_name_ref)
diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs
index 5259d86d2..365d0c4de 100644
--- a/crates/ide/src/syntax_highlighting.rs
+++ b/crates/ide/src/syntax_highlighting.rs
@@ -295,7 +295,7 @@ fn traverse(
Some(parent) => {
// We only care Name and Name_ref
match (token.kind(), parent.kind()) {
- (IDENT, NAME | NAME_REF) => parent.into(),
+ (IDENT, NAME) | (IDENT, NAME_REF) => parent.into(),
_ => token.into(),
}
}
@@ -311,7 +311,7 @@ fn traverse(
Some(parent) => {
// We only care Name and Name_ref
match (token.kind(), parent.kind()) {
- (IDENT, NAME | NAME_REF) => parent.into(),
+ (IDENT, NAME) | (IDENT, NAME_REF) => parent.into(),
_ => token.into(),
}
}
diff --git a/crates/ide_assists/src/handlers/extract_function.rs b/crates/ide_assists/src/handlers/extract_function.rs
index 870d4f665..454de2645 100644
--- a/crates/ide_assists/src/handlers/extract_function.rs
+++ b/crates/ide_assists/src/handlers/extract_function.rs
@@ -1398,7 +1398,7 @@ fn fix_param_usages(ctx: &AssistContext, params: &[Param], syntax: &SyntaxNode)
for (param, usages) in usages_for_param {
for usage in usages {
match usage.syntax().ancestors().skip(1).find_map(ast::Expr::cast) {
- Some(ast::Expr::MethodCallExpr(_) | ast::Expr::FieldExpr(_)) => {
+ Some(ast::Expr::MethodCallExpr(_)) | Some(ast::Expr::FieldExpr(_)) => {
// do nothing
}
Some(ast::Expr::RefExpr(node))
diff --git a/crates/ide_assists/src/tests.rs b/crates/ide_assists/src/tests.rs
index 841537c77..d9d9124b6 100644
--- a/crates/ide_assists/src/tests.rs
+++ b/crates/ide_assists/src/tests.rs
@@ -181,10 +181,9 @@ fn check(handler: Handler, before: &str, expected: ExpectedResult, assist_label:
"unresolved assist should not contain source changes"
),
(Some(_), ExpectedResult::NotApplicable) => panic!("assist should not be applicable!"),
- (
- None,
- ExpectedResult::After(_) | ExpectedResult::Target(_) | ExpectedResult::Unresolved,
- ) => {
+ (None, ExpectedResult::After(_))
+ | (None, ExpectedResult::Target(_))
+ | (None, ExpectedResult::Unresolved) => {
panic!("code action is not applicable")
}
(None, ExpectedResult::NotApplicable) => (),
diff --git a/crates/ide_completion/src/completions/qualified_path.rs b/crates/ide_completion/src/completions/qualified_path.rs
index 1b8997ecf..aaaef27d2 100644
--- a/crates/ide_completion/src/completions/qualified_path.rs
+++ b/crates/ide_completion/src/completions/qualified_path.rs
@@ -65,11 +65,9 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
// Don't suggest attribute macros and derives.
hir::ScopeDef::MacroDef(mac) => mac.is_fn_like(),
// no values in type places
- hir::ScopeDef::ModuleDef(
- hir::ModuleDef::Function(_)
- | hir::ModuleDef::Variant(_)
- | hir::ModuleDef::Static(_),
- )
+ hir::ScopeDef::ModuleDef(hir::ModuleDef::Function(_))
+ | hir::ScopeDef::ModuleDef(hir::ModuleDef::Variant(_))
+ | hir::ScopeDef::ModuleDef(hir::ModuleDef::Static(_))
| hir::ScopeDef::Local(_) => !ctx.expects_type(),
// unless its a constant in a generic arg list position
hir::ScopeDef::ModuleDef(hir::ModuleDef::Const(_)) => {
@@ -83,13 +81,9 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon
}
}
}
- hir::PathResolution::Def(
- def
- @
- (hir::ModuleDef::Adt(_)
- | hir::ModuleDef::TypeAlias(_)
- | hir::ModuleDef::BuiltinType(_)),
- ) => {
+ hir::PathResolution::Def(def @ hir::ModuleDef::Adt(_))
+ | hir::PathResolution::Def(def @ hir::ModuleDef::TypeAlias(_))
+ | hir::PathResolution::Def(def @ hir::ModuleDef::BuiltinType(_)) => {
if let hir::ModuleDef::Adt(hir::Adt::Enum(e)) = def {
add_enum_variants(acc, ctx, e);
}
diff --git a/crates/ide_completion/src/completions/unqualified_path.rs b/crates/ide_completion/src/completions/unqualified_path.rs
index 5abd6ee37..5e6a2e661 100644
--- a/crates/ide_completion/src/completions/unqualified_path.rs
+++ b/crates/ide_completion/src/completions/unqualified_path.rs
@@ -40,7 +40,7 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC
ctx.scope.process_all_names(&mut |name, res| {
let add_resolution = match res {
ScopeDef::MacroDef(mac) => mac.is_fn_like(),
- ScopeDef::ModuleDef(hir::ModuleDef::Trait(_) | hir::ModuleDef::Module(_)) => true,
+ ScopeDef::ModuleDef(hir::ModuleDef::Trait(_)) | ScopeDef::ModuleDef(hir::ModuleDef::Module(_)) => true,
_ => false,
};
if add_resolution {
@@ -88,11 +88,9 @@ pub(crate) fn complete_unqualified_path(acc: &mut Completions, ctx: &CompletionC
// Don't suggest attribute macros and derives.
ScopeDef::MacroDef(mac) => mac.is_fn_like(),
// no values in type places
- ScopeDef::ModuleDef(
- hir::ModuleDef::Function(_)
- | hir::ModuleDef::Variant(_)
- | hir::ModuleDef::Static(_),
- )
+ ScopeDef::ModuleDef(hir::ModuleDef::Function(_))
+ | ScopeDef::ModuleDef(hir::ModuleDef::Variant(_))
+ | ScopeDef::ModuleDef(hir::ModuleDef::Static(_))
| ScopeDef::Local(_) => !ctx.expects_type(),
// unless its a constant in a generic arg list position
ScopeDef::ModuleDef(hir::ModuleDef::Const(_))
diff --git a/crates/ide_completion/src/context.rs b/crates/ide_completion/src/context.rs
index f0da98739..ea1e110da 100644
--- a/crates/ide_completion/src/context.rs
+++ b/crates/ide_completion/src/context.rs
@@ -242,23 +242,24 @@ impl<'a> CompletionContext<'a> {
}
pub(crate) fn expects_assoc_item(&self) -> bool {
- matches!(self.completion_location, Some(ImmediateLocation::Trait | ImmediateLocation::Impl))
+ matches!(
+ self.completion_location,
+ Some(ImmediateLocation::Trait) | Some(ImmediateLocation::Impl)
+ )
}
pub(crate) fn has_dot_receiver(&self) -> bool {
matches!(
&self.completion_location,
- Some(ImmediateLocation::FieldAccess { receiver, .. } | ImmediateLocation::MethodCall { receiver,.. })
+ Some(ImmediateLocation::FieldAccess { receiver, .. }) | Some(ImmediateLocation::MethodCall { receiver,.. })
if receiver.is_some()
)
}
pub(crate) fn dot_receiver(&self) -> Option<&ast::Expr> {
match &self.completion_location {
- Some(
- ImmediateLocation::MethodCall { receiver, .. }
- | ImmediateLocation::FieldAccess { receiver, .. },
- ) => receiver.as_ref(),
+ Some(ImmediateLocation::MethodCall { receiver, .. })
+ | Some(ImmediateLocation::FieldAccess { receiver, .. }) => receiver.as_ref(),
_ => None,
}
}
@@ -282,28 +283,28 @@ impl<'a> CompletionContext<'a> {
pub(crate) fn expects_ident_pat_or_ref_expr(&self) -> bool {
matches!(
self.completion_location,
- Some(ImmediateLocation::IdentPat | ImmediateLocation::RefExpr)
+ Some(ImmediateLocation::IdentPat) | Some(ImmediateLocation::RefExpr)
)
}
pub(crate) fn expect_field(&self) -> bool {
matches!(
self.completion_location,
- Some(ImmediateLocation::RecordField | ImmediateLocation::TupleField)
+ Some(ImmediateLocation::RecordField) | Some(ImmediateLocation::TupleField)
)
}
pub(crate) fn in_use_tree(&self) -> bool {
matches!(
self.completion_location,
- Some(ImmediateLocation::Use | ImmediateLocation::UseTree)
+ Some(ImmediateLocation::Use) | Some(ImmediateLocation::UseTree)
)
}
pub(crate) fn has_impl_or_trait_prev_sibling(&self) -> bool {
matches!(
self.prev_sibling,
- Some(ImmediatePrevSibling::ImplDefType | ImmediatePrevSibling::TraitDefName)
+ Some(ImmediatePrevSibling::ImplDefType) | Some(ImmediatePrevSibling::TraitDefName)
)
}
@@ -324,16 +325,14 @@ impl<'a> CompletionContext<'a> {
|| self.previous_token_is(T![unsafe])
|| matches!(
self.prev_sibling,
- Some(ImmediatePrevSibling::Attribute | ImmediatePrevSibling::Visibility)
+ Some(ImmediatePrevSibling::Attribute) | Some(ImmediatePrevSibling::Visibility)
)
|| matches!(
self.completion_location,
- Some(
- ImmediateLocation::Attribute(_)
- | ImmediateLocation::ModDeclaration(_)
- | ImmediateLocation::RecordPat(_)
- | ImmediateLocation::RecordExpr(_)
- )
+ Some(ImmediateLocation::Attribute(_))
+ | Some(ImmediateLocation::ModDeclaration(_))
+ | Some(ImmediateLocation::RecordPat(_))
+ | Some(ImmediateLocation::RecordExpr(_))
)
}
@@ -707,8 +706,8 @@ fn path_or_use_tree_qualifier(path: &ast::Path) -> Option<(ast::Path, bool)> {
fn has_ref(token: &SyntaxToken) -> bool {
let mut token = token.clone();
- for skip in [WHITESPACE, IDENT, T![mut]] {
- if token.kind() == skip {
+ for skip in &[WHITESPACE, IDENT, T![mut]] {
+ if token.kind() == *skip {
token = match token.prev_token() {
Some(it) => it,
None => return false,
diff --git a/crates/ide_completion/src/render/builder_ext.rs b/crates/ide_completion/src/render/builder_ext.rs
index 33d3a5ee1..749dfc665 100644
--- a/crates/ide_completion/src/render/builder_ext.rs
+++ b/crates/ide_completion/src/render/builder_ext.rs
@@ -32,7 +32,7 @@ impl Builder {
cov_mark::hit!(no_parens_in_use_item);
return false;
}
- if matches!(ctx.path_call_kind(), Some(CallKind::Expr | CallKind::Pat))
+ if matches!(ctx.path_call_kind(), Some(CallKind::Expr) | Some(CallKind::Pat))
| matches!(
ctx.completion_location,
Some(ImmediateLocation::MethodCall { has_parens: true, .. })
diff --git a/crates/mbe/src/expander/matcher.rs b/crates/mbe/src/expander/matcher.rs
index 0d694b1a7..5c4680d19 100644
--- a/crates/mbe/src/expander/matcher.rs
+++ b/crates/mbe/src/expander/matcher.rs
@@ -804,17 +804,33 @@ impl<'a> TtIter<'a> {
};
match (punct.char, second, third) {
- ('.', '.', Some('.' | '=')) | ('<', '<', Some('=')) | ('>', '>', Some('=')) => {
+ ('.', '.', Some('.'))
+ | ('.', '.', Some('='))
+ | ('<', '<', Some('='))
+ | ('>', '>', Some('=')) => {
let tt2 = self.next().unwrap().clone();
let tt3 = self.next().unwrap().clone();
Ok(tt::Subtree { delimiter: None, token_trees: vec![tt, tt2, tt3] }.into())
}
- ('-' | '!' | '*' | '/' | '&' | '%' | '^' | '+' | '<' | '=' | '>' | '|', '=', _)
- | ('-' | '=' | '>', '>', _)
+ ('-', '=', _)
+ | ('-', '>', _)
| (':', ':', _)
+ | ('!', '=', _)
| ('.', '.', _)
+ | ('*', '=', _)
+ | ('/', '=', _)
| ('&', '&', _)
+ | ('&', '=', _)
+ | ('%', '=', _)
+ | ('^', '=', _)
+ | ('+', '=', _)
| ('<', '<', _)
+ | ('<', '=', _)
+ | ('=', '=', _)
+ | ('=', '>', _)
+ | ('>', '=', _)
+ | ('>', '>', _)
+ | ('|', '=', _)
| ('|', '|', _) => {
let tt2 = self.next().unwrap().clone();
Ok(tt::Subtree { delimiter: None, token_trees: vec![tt, tt2] }.into())
diff --git a/crates/parser/src/grammar/params.rs b/crates/parser/src/grammar/params.rs
index 5a78675fb..e0c1d3b3a 100644
--- a/crates/parser/src/grammar/params.rs
+++ b/crates/parser/src/grammar/params.rs
@@ -184,7 +184,8 @@ fn opt_self_param(p: &mut Parser, m: Marker) -> Result<(), Marker> {
if !matches!(
(p.current(), la1, la2, la3),
(T![&], T![self], _, _)
- | (T![&], T![mut] | LIFETIME_IDENT, T![self], _)
+ | (T![&], LIFETIME_IDENT, T![self], _)
+ | (T![&], T![mut], T![self], _)
| (T![&], LIFETIME_IDENT, T![mut], T![self])
) {
return Err(m);
diff --git a/crates/vfs/src/vfs_path.rs b/crates/vfs/src/vfs_path.rs
index ef2d7657a..2b3d7fd84 100644
--- a/crates/vfs/src/vfs_path.rs
+++ b/crates/vfs/src/vfs_path.rs
@@ -389,7 +389,7 @@ impl VirtualPath {
match (file_stem, extension) {
(None, None) => None,
- (None | Some(""), Some(_)) => Some((file_name, None)),
+ (None, Some(_)) | (Some(""), Some(_)) => Some((file_name, None)),
(Some(file_stem), extension) => Some((file_stem, extension)),
}
}
diff --git a/xtask/src/install.rs b/xtask/src/install.rs
index 64ab12b42..7e2dccdfe 100644
--- a/xtask/src/install.rs
+++ b/xtask/src/install.rs
@@ -8,7 +8,7 @@ use xshell::{cmd, pushd};
use crate::flags;
// Latest stable, feel free to send a PR if this lags behind.
-const REQUIRED_RUST_VERSION: u32 = 53;
+const REQUIRED_RUST_VERSION: u32 = 52;
impl flags::Install {
pub(crate) fn run(self) -> Result<()> {

View file

@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
description = "A free 2D physics sandbox game";
homepage = "http://powdertoy.co.uk/";
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ abbradar siraben ];
mainProgram = "powder";
};
}

View file

@ -82,6 +82,7 @@ mapAliases (with prev; {
hlint-refactor = hlint-refactor-vim;
hoogle = vim-hoogle;
Hoogle = vim-hoogle;
indent-blankline-nvim-lua = indent-blankline-nvim; # backwards compat, added 2021-07-05
ipython = vim-ipython;
latex-live-preview = vim-latex-live-preview;
maktaba = vim-maktaba;

View file

@ -65,12 +65,12 @@ final: prev:
ale = buildVimPluginFrom2Nix {
pname = "ale";
version = "2021-07-04";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "dense-analysis";
repo = "ale";
rev = "87e079a9b25ebf5818b8451874ce2a8bd614226f";
sha256 = "0hzss0yyj2g8bnqk2583y5llf6lclz3fgyjirw7wq22rscal6i4x";
rev = "958f30c1635ffc7cd47b929b382a791a9d0db37b";
sha256 = "1pbjqg8jn7nw3kn54mjfbm2bidwll1blay9aq70wpzcqvizn8fa0";
};
meta.homepage = "https://github.com/dense-analysis/ale/";
};
@ -413,12 +413,12 @@ final: prev:
chadtree = buildVimPluginFrom2Nix {
pname = "chadtree";
version = "2021-07-04";
version = "2021-07-06";
src = fetchFromGitHub {
owner = "ms-jpq";
repo = "chadtree";
rev = "9773669b0cc041d843d595160f51b46968b42e16";
sha256 = "0c2b5qhcjd3r107a0va313z3rah4ngb711rzsmqifyq63mfcapaf";
rev = "7d1bae413ad45099d7b93592e738b47f7f50b4f2";
sha256 = "1dyi2wxl8k875lapwgmxymhg9jyfqnilp2kiyfqs9h45dmfpmxwk";
};
meta.homepage = "https://github.com/ms-jpq/chadtree/";
};
@ -1607,12 +1607,12 @@ final: prev:
formatter-nvim = buildVimPluginFrom2Nix {
pname = "formatter-nvim";
version = "2021-07-03";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "mhartington";
repo = "formatter.nvim";
rev = "83cd5a303564867a08d38013e12824021088c63a";
sha256 = "1mr7pcqk582f5ccwb827s221xqr4p9bqabdb16fygdaxybhv169m";
rev = "9866548f1c543ba90d7bb8a62c4fa939a5dcba46";
sha256 = "04289wv1zw7r30x7whzf2s9gis7g3a7l8wswsxiwf55zvrqr95j7";
};
meta.homepage = "https://github.com/mhartington/formatter.nvim/";
};
@ -1823,12 +1823,12 @@ final: prev:
gitsigns-nvim = buildVimPluginFrom2Nix {
pname = "gitsigns-nvim";
version = "2021-06-26";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
rev = "521e9357bdbd2cadf4863d5c67f2e816182bdecf";
sha256 = "1cd11gvbw2rs5vg6n5w7g22n8c46prsfd906ycld30zq5sm85fg5";
rev = "42c87b9ab34e0fd68fcc669137cd7b351e09a89f";
sha256 = "11f5hpzm0xdj2b5lfp65i5p6xbalkazpfxr4kir16v5n8q93azng";
};
meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
};
@ -1943,12 +1943,12 @@ final: prev:
gruvbox-nvim = buildVimPluginFrom2Nix {
pname = "gruvbox-nvim";
version = "2021-06-07";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "npxbr";
repo = "gruvbox.nvim";
rev = "2dc25bb14fbd69f888dd0615c5576dd730de869a";
sha256 = "1i87f7vfgk1szy18cg7nng2yqvcny4v1wnh4dbw74lcqmmazgi7y";
rev = "ac0948e28203cba5d0510cf3443906228645e3eb";
sha256 = "0g9j2gqsgx7la96xhc72l7rb535phqjpb5mva191wjfn13j0hkda";
};
meta.homepage = "https://github.com/npxbr/gruvbox.nvim/";
};
@ -2157,18 +2157,6 @@ final: prev:
meta.homepage = "https://github.com/haya14busa/incsearch.vim/";
};
indent-blankline-nvim-lua = buildVimPluginFrom2Nix {
pname = "indent-blankline-nvim-lua";
version = "2021-07-03";
src = fetchFromGitHub {
owner = "lukas-reineke";
repo = "indent-blankline.nvim";
rev = "1a61a0bb0e67675b0a4cf9ffbfca100e498a1d04";
sha256 = "1d20rzl2bzg9v70cz30g0z2ickqw6986sv32xsnpzmlwxdxkg959";
};
meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
};
indent-blankline-nvim = buildVimPluginFrom2Nix {
pname = "indent-blankline-nvim";
version = "2021-07-03";
@ -2640,12 +2628,12 @@ final: prev:
lsp_signature-nvim = buildVimPluginFrom2Nix {
pname = "lsp_signature-nvim";
version = "2021-07-03";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "ray-x";
repo = "lsp_signature.nvim";
rev = "c0884fb3f45df3c10c972d5dc7bae22252de9831";
sha256 = "0r2vvhilxy826zs1xijvp5hlji0651y3j32pzlazb2fgklb6rlwf";
rev = "e2f781f8dfebf6b21929dd8b326474a828e3f08b";
sha256 = "15p5k2kki4pp4hg8284f8hji1b406whhpxr0dws0lx5qc4vqwhwr";
};
meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
};
@ -2688,12 +2676,12 @@ final: prev:
luasnip = buildVimPluginFrom2Nix {
pname = "luasnip";
version = "2021-07-04";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "l3mon4d3";
repo = "luasnip";
rev = "1ad9f925b1455ea92829a261bf7bd75f1a635f03";
sha256 = "1bd0ky19lh5vn2xlyrbn25h5c9kcc2wa2q0mjn4v9ckvahcwrxiz";
rev = "8b9b689c247f236ad55153582342ecc788444f51";
sha256 = "1v24r0kqsqzd111c6ih5s2q0ckz56whqwpsq19awk3sqkvba17w3";
};
meta.homepage = "https://github.com/l3mon4d3/luasnip/";
};
@ -2796,12 +2784,12 @@ final: prev:
mkdx = buildVimPluginFrom2Nix {
pname = "mkdx";
version = "2021-05-28";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "SidOfc";
repo = "mkdx";
rev = "e129e3c7d92477563aeb068628ee0ccdd46ed36e";
sha256 = "0q0cyigkszw0qsdvg9dxs293sf8hbmwwy6qxlknmrfiy5xyn6ik5";
rev = "439c518cea989c875eea44ce54a36f7e7dc561d9";
sha256 = "19b155lfiynm450cr9acm7dk58hh2ynrs3zpvrcll7slz8fgrhql";
};
meta.homepage = "https://github.com/SidOfc/mkdx/";
};
@ -3432,24 +3420,36 @@ final: prev:
nvim-bqf = buildVimPluginFrom2Nix {
pname = "nvim-bqf";
version = "2021-06-21";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "kevinhwang91";
repo = "nvim-bqf";
rev = "6bfc90ca36dbe602ba0696eb6569803d44f437f9";
sha256 = "16c976gxs7lwxb8xs9iqcizmfznlilwrsaz7v32csfn38i4j77hr";
rev = "27641367360d64e67ea8f4d47e950a24c71a99e8";
sha256 = "0yjmf651gdyi6ngpbb7y8bjf43snv8di54yldfm6l7xgawrwn3nn";
};
meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
};
nvim-bufdel = buildVimPluginFrom2Nix {
pname = "nvim-bufdel";
version = "2021-05-21";
src = fetchFromGitHub {
owner = "ojroques";
repo = "nvim-bufdel";
rev = "9a1f0f3ed55db86f66ad87f72639269ac1374169";
sha256 = "0f10pik2msm7rdi9lx9ll7jgh1gk9y3q8756ri6jdzk4bwd8j4is";
};
meta.homepage = "https://github.com/ojroques/nvim-bufdel/";
};
nvim-bufferline-lua = buildVimPluginFrom2Nix {
pname = "nvim-bufferline-lua";
version = "2021-07-04";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "akinsho";
repo = "nvim-bufferline.lua";
rev = "33ad2ec9f51941317df407f98c509817805fe03b";
sha256 = "1fnmbxvdxf4d2rnsk6mxm05g06dnv6x500mil6b2ay6am9w8yp7q";
rev = "d66f0e45243a46fc3fd0d84ed7d54e37882207ba";
sha256 = "0rwihzz2lcyza86bgmmvny685g1nlz23yagz5agdqjzibqz973xf";
};
meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
};
@ -3480,12 +3480,12 @@ final: prev:
nvim-compe = buildVimPluginFrom2Nix {
pname = "nvim-compe";
version = "2021-07-02";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-compe";
rev = "077329e6bd1704d1acdff087ef1a73df23e92789";
sha256 = "0spnybax3zqcac1by0785v5zh4gl07lpgq6ivnnx1wyhfky87jx3";
rev = "00ebf180d01f7f020c6c19bd8caed59f722ccc04";
sha256 = "1qasn6qx4qna0p364b2kbyrd3bdw7zkzys0d2x9rgc5pn7jx80f0";
};
meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
};
@ -3504,12 +3504,12 @@ final: prev:
nvim-dap = buildVimPluginFrom2Nix {
pname = "nvim-dap";
version = "2021-07-02";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "mfussenegger";
repo = "nvim-dap";
rev = "0bbf969a3ba05b6b325b9358b6c8a40d26617d75";
sha256 = "0hmzi54znxsy08pvccpncrp6synfcbribxbd34gimw8g7j9z5hi3";
rev = "6767b438023d63a42149ad5a79960504c9c67bd7";
sha256 = "14backs66fmfznrl86dxpvq7ipcawdql2ky30k9kisllpgzccaw6";
};
meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
};
@ -3612,12 +3612,12 @@ final: prev:
nvim-lspconfig = buildVimPluginFrom2Nix {
pname = "nvim-lspconfig";
version = "2021-07-04";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "neovim";
repo = "nvim-lspconfig";
rev = "5fe1b132534041e889278f081ff10c02b09c096f";
sha256 = "0gmmj3id4mbkhnhgvx8kbqr94gi7p6s0717i6ib4yf3nqs5d7g9r";
rev = "4e8a6bb35f80e5e37c14b92b5db9abaf2dc6605f";
sha256 = "1zz0jf3cv7v1v3ixklld6ls4fcj05d8yy7ww20s85nqvalv5l66r";
};
meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
};
@ -3648,12 +3648,12 @@ final: prev:
nvim-peekup = buildVimPluginFrom2Nix {
pname = "nvim-peekup";
version = "2021-04-04";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "gennaro-tedesco";
repo = "nvim-peekup";
rev = "2f03df68bced26399b7576818b3cded3ce334ca0";
sha256 = "1bap28b9jbaywll50mwjfp91i0h671762ylgy3fxhnayf78py00d";
rev = "e8ad8c7160e1f8ed2a7e4e071110b8b18866b463";
sha256 = "1kjvz2hv05a2id72xi28n1iq7cclcvy3ql74h8f0vcpn10zqvfxx";
};
meta.homepage = "https://github.com/gennaro-tedesco/nvim-peekup/";
};
@ -3684,12 +3684,12 @@ final: prev:
nvim-toggleterm-lua = buildVimPluginFrom2Nix {
pname = "nvim-toggleterm-lua";
version = "2021-06-26";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "akinsho";
repo = "nvim-toggleterm.lua";
rev = "f8cf9ec7592e8b8c19a56f5985cec108e18c3101";
sha256 = "13ayc57q7r3bns0y6qqqhsi2rr1kqi0bxzdw4qz3my4nj3npqk9h";
rev = "fbf502a997db9bb97765cf5e69bd8749110e9139";
sha256 = "14w9xn2ns8zpsyiydqyia34dcdgvk1lhzvbvwriprrp0bhgzmq57";
};
meta.homepage = "https://github.com/akinsho/nvim-toggleterm.lua/";
};
@ -3708,12 +3708,12 @@ final: prev:
nvim-treesitter = buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
version = "2021-07-03";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "9bcf658ca427665445a67c4b01d71c64d6f7e165";
sha256 = "1n0w9rpw6dn573j8glp45a56j7skb5725yr1969k9p8whjdbmlna";
rev = "53d92f65bddf6623000b81ca5beae5ee3a6a736e";
sha256 = "18irdbpwqpp6xjmqk7bjlvd8k2mzyg77xgw5k4y2y5vcjg8jazfq";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
@ -3744,24 +3744,24 @@ final: prev:
nvim-treesitter-refactor = buildVimPluginFrom2Nix {
pname = "nvim-treesitter-refactor";
version = "2021-05-03";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-refactor";
rev = "1a377fafa30920fa974e68da230161af36bf56fb";
sha256 = "06vww83i73f4gyp3x0007qqdk06dd2i9v1v9dk12ky9d8r0pmxl6";
rev = "505e58a8b04596a073b326157490706ee63c3b81";
sha256 = "0z42rpnig6iq73d3mjfgadvqa03k02f4c89j5dp9dhpnrjja8nha";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-refactor/";
};
nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
pname = "nvim-treesitter-textobjects";
version = "2021-06-28";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-textobjects";
rev = "63a6d3c85d6625f90093808d15c72c378f5fc2d5";
sha256 = "15l9624ggvbxrm4cr97p9hhsjpdli1iqkm32ffvvfhaa1kzv9lfd";
rev = "bebb977b80d7d6253e82804e05b1105a57382d12";
sha256 = "0ckszh3157jbzhqzyfa5gb6sixi7b66w3z3hjvl39z66dk9lf9l6";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
};
@ -3912,12 +3912,12 @@ final: prev:
packer-nvim = buildVimPluginFrom2Nix {
pname = "packer-nvim";
version = "2021-07-04";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "wbthomason";
repo = "packer.nvim";
rev = "a7ae69d007cbaddc636880ef451863b37f725a06";
sha256 = "1kcfh9xi9plfaandgdrv3yx2hcha3895nll0mc84rhmbjlnjyvcd";
rev = "5f7ce98b4c81dd8d4b727adc86f83b2339befd55";
sha256 = "1aphdri6hb9jamwjdkjybv0r3xbdr673jd4sibzj591r2ai6kzja";
};
meta.homepage = "https://github.com/wbthomason/packer.nvim/";
};
@ -4008,12 +4008,12 @@ final: prev:
playground = buildVimPluginFrom2Nix {
pname = "playground";
version = "2021-05-28";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "playground";
rev = "1e02dece0daa4bef6a24c7a8b6edd48169885b18";
sha256 = "182nkdzcviz3ap3vphcks4gzw99d4jsmxxlkmb42m0gzd54k1hwq";
rev = "6e0037c974d17b2883e3f0f38bb3cb6b1daa5feb";
sha256 = "0rsdk3ib2sxg6k4k33mcbfrqh7m612jzynzwx3kzh2rmrh1n7i31";
};
meta.homepage = "https://github.com/nvim-treesitter/playground/";
};
@ -4261,12 +4261,12 @@ final: prev:
registers-nvim = buildVimPluginFrom2Nix {
pname = "registers-nvim";
version = "2021-07-03";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "tversteeg";
repo = "registers.nvim";
rev = "8ef3c3f4323834a5796f2e893cdc6d4bddffbf83";
sha256 = "164i5bbg1k3lqsgin8nb06al8nz5napxp0x10ajmj0b2mrwb3l8k";
rev = "2208bcd4e73fd3b321ac52ce498ab679b8c959ab";
sha256 = "0qqskn8sg9jcpg9wvch0j8d28qjkz084hcc7hl7f1lfc70ksvc7h";
};
meta.homepage = "https://github.com/tversteeg/registers.nvim/";
};
@ -4562,12 +4562,12 @@ final: prev:
snap = buildVimPluginFrom2Nix {
pname = "snap";
version = "2021-06-28";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "camspiers";
repo = "snap";
rev = "1fbd674dc53401fd643a2bb8bf07dd3e7125d430";
sha256 = "0lwhl74yfzd34fv241i9ra6w72qhf1jxf6fkyl1h0c427sz09mmj";
rev = "4ed8f920f437138b7da38d5ad9003a1e2ca2ddb3";
sha256 = "15cxx8yz522kb8wdgcs95irqy7hlfniipzyxyd16hg69wycl64gx";
};
meta.homepage = "https://github.com/camspiers/snap/";
};
@ -5092,12 +5092,12 @@ final: prev:
todo-comments-nvim = buildVimPluginFrom2Nix {
pname = "todo-comments-nvim";
version = "2021-06-28";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "folke";
repo = "todo-comments.nvim";
rev = "12758792a0d207b5a4a4fb5a11a0d321a4608108";
sha256 = "1w4z3x1d36cf0zjlz5kshvf5d5lz126rhcl55p2qd4ibrcfw8cwg";
rev = "d5f9bfc164c7ea306710d1a0a9d2db255387b1db";
sha256 = "1rrfbdhkgmnyxfk3fjmkk7f5sjdq9mrcw346lrjldgfih5qbaycj";
};
meta.homepage = "https://github.com/folke/todo-comments.nvim/";
};
@ -5849,12 +5849,12 @@ final: prev:
vim-clap = buildVimPluginFrom2Nix {
pname = "vim-clap";
version = "2021-07-02";
version = "2021-07-06";
src = fetchFromGitHub {
owner = "liuchengxu";
repo = "vim-clap";
rev = "d49b6daa01b949237567bc683913f138bf07aa2b";
sha256 = "0s7fq4c2amjr23ky1ic03zwsi9fjxsz9l83jchmyhvs35dgiv952";
rev = "7b4d7f9f140bbb0860b37d23a16d6bb20797c06a";
sha256 = "04vws8szlynv0s35xs3w98li89wd48ps6hlssscmk59dmdmjg1m4";
};
meta.homepage = "https://github.com/liuchengxu/vim-clap/";
};
@ -6617,12 +6617,12 @@ final: prev:
vim-fugitive = buildVimPluginFrom2Nix {
pname = "vim-fugitive";
version = "2021-07-03";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-fugitive";
rev = "8e0a8abf08318f91f63da510087b3110f20e58bf";
sha256 = "0c0rld9r9d77lzbzv6hk83icbv2xvwcjkmqg2iyricbyhfpmbs5k";
rev = "b498607aa79cc7099d02c30ae72812c245cc7091";
sha256 = "1g20y3p5f99w20fkf2bfsliy9p5isml04ybxf8mmgzivcy1wpbrj";
};
meta.homepage = "https://github.com/tpope/vim-fugitive/";
};
@ -7544,12 +7544,12 @@ final: prev:
vim-matchup = buildVimPluginFrom2Nix {
pname = "vim-matchup";
version = "2021-06-17";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "andymass";
repo = "vim-matchup";
rev = "4cd3736a6869ab0b0a4b739dbde11f1f6129beea";
sha256 = "1i863kl9n2cwkdidn8gajm5n2hv0mfqir4xycva54fw28mads8ds";
rev = "05f4962c64c5dcd720b8cf5f7af777de33f2fa43";
sha256 = "10nfiban4ihsix2zf4qp38mcdmlz3zb6n01n5wkgz9yga28y9jxm";
};
meta.homepage = "https://github.com/andymass/vim-matchup/";
};
@ -9081,12 +9081,12 @@ final: prev:
vim-ultest = buildVimPluginFrom2Nix {
pname = "vim-ultest";
version = "2021-06-27";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "rcarriga";
repo = "vim-ultest";
rev = "8b551f7fe1f87c832a7aada741eac25d2944407c";
sha256 = "1vfns3srdskncy2s3z58s2k35vlz8gvf8yrh5s49r7d9nzrv45rq";
rev = "43ec7b40a83fcde104d3e5e69a2c112f9dc52325";
sha256 = "1q2rcqllip1raay9nj2cacn6vsairrywg7yxh783zf13n9bmr5vb";
};
meta.homepage = "https://github.com/rcarriga/vim-ultest/";
};
@ -9177,12 +9177,12 @@ final: prev:
vim-vsnip = buildVimPluginFrom2Nix {
pname = "vim-vsnip";
version = "2021-07-01";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "hrsh7th";
repo = "vim-vsnip";
rev = "a1d1841ecadc19eeab9efdd9fa17054cedcba6e6";
sha256 = "0zzqxxv2jqi71p76z0fsnc25kmclazb3x6rg248npsn8pnfwwi1s";
rev = "d9d3c2d2942b8e35aedc5c82552913b19958de77";
sha256 = "06hv1rf3br32n6ks5fic8x9c1m32n3wx4pj4xgmy9q58gf95sn2w";
};
meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
};
@ -9501,12 +9501,12 @@ final: prev:
vimspector = buildVimPluginFrom2Nix {
pname = "vimspector";
version = "2021-06-24";
version = "2021-07-04";
src = fetchFromGitHub {
owner = "puremourning";
repo = "vimspector";
rev = "aa0cddc0da5b2547d20551dcffe1d9dc073b3904";
sha256 = "0niv2aa294ay0ifksg5ymrslbj9l6sxypyi3pnmgiigqj8m61yzs";
rev = "da39c4955c2ad0ffa28f5cba81651b568697629c";
sha256 = "02c7kxfalp52k2ij5r6hjnvqd2azkhx9sglqr85bc53rvh1rgi7y";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/puremourning/vimspector/";
@ -9514,12 +9514,12 @@ final: prev:
vimtex = buildVimPluginFrom2Nix {
pname = "vimtex";
version = "2021-06-30";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
rev = "c9b3b50427d97403e8a36b3fe2d636d0a97db0d8";
sha256 = "1vpl02n2xy7b95mhagbsq7fiz55i0x3wpqpbmpmp16mva6r6agvr";
rev = "3807da1c530e46fb6a633a2268f6e435b16b657b";
sha256 = "0l05fkisvcq9p9jwbxpbb9svwi0h4gp84d7dc4zlkrin1jwnnxyd";
};
meta.homepage = "https://github.com/lervag/vimtex/";
};
@ -9610,12 +9610,12 @@ final: prev:
which-key-nvim = buildVimPluginFrom2Nix {
pname = "which-key-nvim";
version = "2021-06-26";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "folke";
repo = "which-key.nvim";
rev = "e0dce1552ea37964ae6ac7144709867544eae7f3";
sha256 = "16xwpds1d1dc5p2rz17yqiyr0a844kqj5gnxwnrk2l56fhrhq8xx";
rev = "2d2954a1d05b4f074e022e64db9aa6093d439bb0";
sha256 = "0xpf889ijhrbnpjcky575k46nfh69m5dzcfnvw29vwhdikaz33ma";
};
meta.homepage = "https://github.com/folke/which-key.nvim/";
};
@ -9731,12 +9731,12 @@ final: prev:
YouCompleteMe = buildVimPluginFrom2Nix {
pname = "YouCompleteMe";
version = "2021-05-25";
version = "2021-07-05";
src = fetchFromGitHub {
owner = "ycm-core";
repo = "YouCompleteMe";
rev = "4df6f35f0c9f9aec21a3f567397496b5dee6acc7";
sha256 = "1ywdxm9sy57k9wp9gkcahhsy8r75ahxsgb7xcdjpzacg4iranj99";
rev = "c83c240e1397291bf1babcba173253d7f753a0b6";
sha256 = "0lr2vl9rdjr2lgbs5vlbcjw3zrwv66w5bijlpk1xy45ccbrbq2nw";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";

View file

@ -621,7 +621,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-IKSnXNFdtykuajOxpw5CYsw2q/mkVLkRtPC49hiXsPc=";
cargoSha256 = "sha256-hcbNjp9KLJO0RANOvtopvdiK0w9ESUXk0KOTPvVcCX4=";
};
in
''

View file

@ -345,7 +345,6 @@ LucHermitte/lh-vim-lib
ludovicchabant/vim-gutentags
ludovicchabant/vim-lawrencium
lukas-reineke/indent-blankline.nvim
lukas-reineke/indent-blankline.nvim@lua as indent-blankline-nvim-lua
lukaszkorecki/workflowish
lumiliet/vim-twig
luochen1990/rainbow
@ -489,6 +488,7 @@ nvim-treesitter/playground
oberblastmeister/termwrapper.nvim
ocaml/vim-ocaml
octol/vim-cpp-enhanced-highlight
ojroques/nvim-bufdel@main
ojroques/vim-oscyank@main
Olical/aniseed
Olical/conjure

View file

@ -38,8 +38,8 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
mktplcRef = {
name = "vsliveshare";
publisher = "ms-vsliveshare";
version = "1.0.4419";
sha256 = "1r2xp8ggcrfsf4yzxjiss3hprk4dw7nchwxy920yn2iglvkaalsh";
version = "1.0.4498";
sha256 = "01gg9jqkq9z05ckw0mnqfr769359j6h3z8ay6r17jj6m4mhy2m5g";
};
}).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
nativeBuildInputs = nativeBuildInputs ++ [

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tailscale";
version = "1.10.0";
version = "1.10.1";
src = fetchFromGitHub {
owner = "tailscale";
repo = "tailscale";
rev = "v${version}";
sha256 = "0smc2xqbqc2p4jj1c98gzzxbr28sbx8z8625hbrng9m39vwylfxf";
sha256 = "1s4qpz4jwar3lcqyzkgyvgm4bghzass974lq1pw4fziqlsblh0vm";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -21,15 +21,15 @@
rustPlatform.buildRustPackage rec {
pname = "rbw";
version = "1.2.0";
version = "1.3.0";
src = fetchCrate {
inherit version;
crateName = pname;
sha256 = "14cnqc5cf6qm2g9ypv2pbqbvymawyrqn3fc778labgqg24khqcyq";
sha256 = "17x4q29rsljbalc70r3ks4r6g5zc6jl4si75i33fcicxsvx6f39q";
};
cargoSha256 = "0izn5bcvk1rx69sjwyfc49nmvw7k0jysqb0bpdpwdliaa06ggl86";
cargoSha256 = "14095ds8f5knrqcriphjlbvasc29n9rf8h5vlkmhpxyk7wh9azzc";
nativeBuildInputs = [
pkg-config

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fancy-motd";
version = "unstable-2021-06-27";
version = "unstable-2021-07-04";
src = fetchFromGitHub {
owner = "bcyran";
repo = pname;
rev = "839320ab261612c9ba5b13fc8d1445d094ea0ab3";
sha256 = "00wv7nk2f3q186z2qfks5salf97s04vk7ilk8jnbimxg4fl7hcda";
rev = "2cc3c3c164ef695c9dd465beca61716a364db32c";
sha256 = "003p5rsyl216xwldrk8slpnzw6wdrcm8hpfdgy9a0mja5g1xdqzr";
};
buildInputs = [ bc curl figlet fortune gawk iproute2 ];

View file

@ -1,26 +1,28 @@
{lib, stdenv, fetchurl}:
{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation {
name = "tm-0.4.1";
installPhase=''make install "PREFIX=$out"'';
patchPhase = ''
sed -i 's@/usr/bin/install@install@g ; s/gcc/cc/g' Makefile
'';
stdenv.mkDerivation rec {
pname = "tm";
version = "0.4.1";
src = fetchurl {
url = "http://vicerveza.homeunix.net/~viric/soft/tm/tm-0.4.1.tar.gz";
url = "https://vicerveza.homeunix.net/~viric/soft/tm/tm-${version}.tar.gz";
sha256 = "3b389bc03b6964ad5ffa57a344b891fdbcf7c9b2604adda723a863f83657c4a0";
};
makeFlags = [ "PREFIX=$(out)" ];
postPatch = ''
sed -i 's@/usr/bin/install@install@g ; s/gcc/cc/g' Makefile
'';
meta = with lib; {
homepage = "http://vicerveza.homeunix.net/~viric/soft/tm";
description = "Terminal mixer - multiplexer for the i/o of terminal applications";
license = licenses.gpl2;
homepage = "http://vicerveza.homeunix.net/~viric/soft/tm";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ viric ];
platforms = platforms.all;
};
}

View file

@ -1092,6 +1092,8 @@ in
apkid = callPackage ../development/tools/apkid { };
apksigcopier = callPackage ../development/tools/apksigcopier { };
apktool = callPackage ../development/tools/apktool {
inherit (androidenv.androidPkgs_9_0) build-tools;
};
@ -5052,6 +5054,8 @@ in
ghr = callPackage ../applications/version-management/git-and-tools/ghr { };
gibberish-detector = with python3Packages; toPythonApplication gibberish-detector;
gibo = callPackage ../tools/misc/gibo { };
gifsicle = callPackage ../tools/graphics/gifsicle { };
@ -21448,6 +21452,10 @@ in
octomap = callPackage ../development/libraries/octomap { };
odin = callPackage ../development/compilers/odin {
llvmPackages = llvmPackages_11;
};
odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };
odroid-xu3-bootloader = callPackage ../tools/misc/odroid-xu3-bootloader { };

View file

@ -1218,6 +1218,8 @@ in {
bsblan = callPackage ../development/python-modules/bsblan { };
bson = callPackage ../development/python-modules/bson { };
btchip = callPackage ../development/python-modules/btchip { };
bt-proximity = callPackage ../development/python-modules/bt-proximity { };
@ -2243,6 +2245,8 @@ in {
editdistance = callPackage ../development/python-modules/editdistance { };
editdistance-s = callPackage ../development/python-modules/editdistance-s { };
editorconfig = callPackage ../development/python-modules/editorconfig { };
edward = callPackage ../development/python-modules/edward { };
@ -2864,6 +2868,8 @@ in {
ghp-import = callPackage ../development/python-modules/ghp-import { };
gibberish-detector = callPackage ../development/python-modules/gibberish-detector { };
gidgethub = callPackage ../development/python-modules/gidgethub { };
gin-config = callPackage ../development/python-modules/gin-config { };
@ -7063,6 +7069,8 @@ in {
python-picnic-api = callPackage ../development/python-modules/python-picnic-api { };
python-pidfile = callPackage ../development/python-modules/python-pidfile { };
python-pipedrive = callPackage ../development/python-modules/python-pipedrive { };
python-pkcs11 = callPackage ../development/python-modules/python-pkcs11 { };