Merge branch 'master' into staging-next
There ver very many conflicts, basically all due to name -> pname+version. Fortunately, almost everything was auto-resolved by kdiff3, and for now I just fixed up a couple evaluation problems, as verified by the tarball job. There might be some fallback to these conflicts, but I believe it should be minimal. Hydra nixpkgs: ?compare=1538299
This commit is contained in:
@@ -59,12 +59,14 @@
|
||||
pkgsBuildHost = pkgsBuildBuild // { targetPackages.stdenv = llvmPackages_5.stdenv; };
|
||||
pkgsBuildTarget = pkgsBuildTarget // { targetPackages.stdenv = llvmPackages_5.stdenv; };
|
||||
});
|
||||
rustfmt = self.callPackage ./rustfmt.nix { inherit Security; };
|
||||
cargo = self.callPackage ./cargo.nix {
|
||||
# Use boot package set to break cycle
|
||||
rustPlatform = bootRustPlatform;
|
||||
inherit CoreFoundation Security;
|
||||
};
|
||||
clippy = self.callPackage ./clippy.nix { inherit Security; };
|
||||
rls = self.callPackage ./rls { inherit CoreFoundation Security; };
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
45
pkgs/development/compilers/rust/rls/default.nix
Normal file
45
pkgs/development/compilers/rust/rls/default.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{ stdenv, fetchFromGitHub, rustPlatform
|
||||
, openssh, openssl, pkgconfig, cmake, zlib, curl, libiconv
|
||||
, CoreFoundation, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rls";
|
||||
inherit (rustPlatform.rust.rustc) src version;
|
||||
|
||||
# changes hash of vendor directory otherwise
|
||||
dontUpdateAutotoolsGnuConfigScripts = true;
|
||||
|
||||
cargoVendorDir = "vendor";
|
||||
preBuild = ''
|
||||
pushd src/tools/rls
|
||||
# client tests are flaky
|
||||
rm tests/client.rs
|
||||
'';
|
||||
|
||||
# a nightly compiler is required unless we use this cheat code.
|
||||
RUSTC_BOOTSTRAP=1;
|
||||
|
||||
# rls-rustc links to rustc_private crates
|
||||
CARGO_BUILD_RUSTFLAGS = if stdenv.isDarwin then "-C rpath" else null;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
buildInputs = [ openssh openssl curl zlib libiconv ]
|
||||
++ (stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security ]);
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preInstall = "popd";
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/rls --version
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Rust Language Server - provides information about Rust programs to IDEs and other tools";
|
||||
homepage = https://github.com/rust-lang/rls/;
|
||||
license = with licenses; [ asl20 /* or */ mit ];
|
||||
maintainers = with maintainers; [ symphorien ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
33
pkgs/development/compilers/rust/rustfmt.nix
Normal file
33
pkgs/development/compilers/rust/rustfmt.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ stdenv, rustPlatform, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "rustfmt-${version}";
|
||||
inherit (rustPlatform.rust.rustc) version src;
|
||||
|
||||
# the rust source tarball already has all the dependencies vendored, no need to fetch them again
|
||||
cargoVendorDir = "vendor";
|
||||
preBuild = "pushd src/tools/rustfmt";
|
||||
preInstall = "popd";
|
||||
|
||||
# changes hash of vendor directory otherwise
|
||||
dontUpdateAutotoolsGnuConfigScripts = true;
|
||||
|
||||
buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
|
||||
|
||||
# As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler
|
||||
RUSTC_BOOTSTRAP = 1;
|
||||
|
||||
# we run tests in debug mode so tests look for a debug build of
|
||||
# rustfmt. Anyway this adds nearly no compilation time.
|
||||
preCheck = ''
|
||||
cargo build
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A tool for formatting Rust code according to style guidelines";
|
||||
homepage = https://github.com/rust-lang-nursery/rustfmt;
|
||||
license = with licenses; [ mit asl20 ];
|
||||
maintainers = with maintainers; [ globin basvandijk ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user