build: add development shell (#5390)

Add nix development shell to flake.nix.

---------

Co-authored-by: Septias <scoreplayer2000@gmail.comclear>
This commit is contained in:
Sebastian Klähn
2024-04-02 11:20:34 +02:00
committed by GitHub
parent c62e8539a1
commit de27be3a36
2 changed files with 23 additions and 9 deletions

4
.gitignore vendored
View File

@@ -47,3 +47,7 @@ node/.nyc_output/
# Nix symlink. # Nix symlink.
result result
# direnv
.envrc
.direnv

View File

@@ -111,8 +111,6 @@
mkWin64RustPackage = packageName: mkWin64RustPackage = packageName:
let let
rustTarget = "x86_64-pc-windows-gnu"; rustTarget = "x86_64-pc-windows-gnu";
in
let
toolchainWin = fenixPkgs.combine [ toolchainWin = fenixPkgs.combine [
fenixPkgs.stable.rustc fenixPkgs.stable.rustc
fenixPkgs.stable.cargo fenixPkgs.stable.cargo
@@ -179,13 +177,12 @@
model = "win32"; model = "win32";
package = null; package = null;
}; };
})).overrideAttrs (oldAttr: rec{ })).overrideAttrs (oldAttr: {
configureFlags = oldAttr.configureFlags ++ [ configureFlags = oldAttr.configureFlags ++ [
"--disable-sjlj-exceptions --with-dwarf2" "--disable-sjlj-exceptions --with-dwarf2"
]; ];
}) })
); );
winStdenv = pkgsWin32.buildPackages.overrideCC pkgsWin32.stdenv winCC;
in in
naerskWin.buildPackage rec { naerskWin.buildPackage rec {
pname = packageName; pname = packageName;
@@ -279,8 +276,6 @@
mkAndroidRustPackage = arch: packageName: mkAndroidRustPackage = arch: packageName:
let let
rustTarget = androidAttrs.${arch}.rustTarget; rustTarget = androidAttrs.${arch}.rustTarget;
in
let
toolchain = fenixPkgs.combine [ toolchain = fenixPkgs.combine [
fenixPkgs.stable.rustc fenixPkgs.stable.rustc
fenixPkgs.stable.cargo fenixPkgs.stable.cargo
@@ -446,7 +441,7 @@
}; };
libdeltachat = libdeltachat =
pkgs.stdenv.mkDerivation rec { pkgs.stdenv.mkDerivation {
pname = "libdeltachat"; pname = "libdeltachat";
version = manifest.version; version = manifest.version;
src = rustSrc; src = rustSrc;
@@ -488,7 +483,7 @@
}; };
deltachat-rpc-client = deltachat-rpc-client =
pkgs.python3Packages.buildPythonPackage rec { pkgs.python3Packages.buildPythonPackage {
pname = "deltachat-rpc-client"; pname = "deltachat-rpc-client";
version = manifest.version; version = manifest.version;
src = pkgs.lib.cleanSource ./deltachat-rpc-client; src = pkgs.lib.cleanSource ./deltachat-rpc-client;
@@ -499,7 +494,7 @@
}; };
deltachat-python = deltachat-python =
pkgs.python3Packages.buildPythonPackage rec { pkgs.python3Packages.buildPythonPackage {
pname = "deltachat-python"; pname = "deltachat-python";
version = manifest.version; version = manifest.version;
src = pkgs.lib.cleanSource ./python; src = pkgs.lib.cleanSource ./python;
@@ -535,6 +530,21 @@
installPhase = ''mkdir -p $out; cp -av dist/html $out''; installPhase = ''mkdir -p $out; cp -av dist/html $out'';
}; };
}; };
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
(fenixPkgs.complete.withComponents [
"cargo"
"clippy"
"rust-src"
"rustc"
"rustfmt"
])
cargo-deny
fenixPkgs.rust-analyzer
perl # needed to build vendored OpenSSL
];
};
} }
); );
} }