Post refactor fixup (#3395)

* fixup

* fix feature deps for native
This commit is contained in:
Timon
2025-11-18 15:48:45 +00:00
committed by GitHub
parent 6a3b098681
commit 7d739c4542
9 changed files with 13 additions and 158 deletions

View File

@@ -1,60 +0,0 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
};
outputs =
{
self,
nixpkgs,
flake-utils,
rust-overlay,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
overlays = [ (import rust-overlay) ];
pkgs = import nixpkgs {
inherit system overlays;
};
toolchain = pkgs.rust-bin.stable.latest.default.override {
extensions = [
"rust-src"
"clippy"
"rust-analyzer"
];
};
buildInputs = with pkgs; [
llvm
];
in
{
devShells.default = pkgs.mkShell {
stdenv = pkgs.clangStdenv;
packages = with pkgs; [
bacon
valgrind
kcachegrind
cargo-flamegraph
];
nativeBuildInputs = with pkgs; [
lld
toolchain
llvm
cargo
];
inherit buildInputs;
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
};
}
);
}

View File

@@ -1,86 +0,0 @@
# This is a helper file for people using NixOS as their operating system.
# If you don't know what this file does, you can safely ignore it.
# If you are using Nix as your package manager, you can run 'nix-shell'
# in the root directory of the project and Nix will open a bash shell
# with all the packages needed to build and run Graphite installed.
# A shell.nix file is used in the Nix ecosystem to define a development
# environment with specific dependencies. When you enter a Nix shell using
# this file, it ensures that all the specified tools and libraries are
# available regardless of the host system's configuration. This provides
# a reproducible development environment across different machines and developers.
# You can enter the Nix shell and run Graphite like normal with:
# > npm start
# Or you can run it like this without needing to first enter the Nix shell:
# > nix-shell --command "npm start"
let
# Get oxalica's Rust overlay for better Rust integration
rust-overlay-source = builtins.fetchGit {
url = "https://github.com/oxalica/rust-overlay";
};
# Import it so we can use it in Nix
rust-overlay = import rust-overlay-source;
# Import system packages overlaid with the Rust overlay
pkgs = import <nixpkgs> {
overlays = [ rust-overlay ];
};
# Define the rustc we need
rustc-wasm = pkgs.rust-bin.stable.latest.default.override {
targets = [ "wasm32-unknown-unknown" ];
# wasm-pack needs this
extensions = [
"rust-src"
"rust-analyzer"
"clippy"
];
};
in
# Make a shell with the dependencies we need
pkgs.mkShell {
packages = with pkgs; [
rustc-wasm
nodejs
cargo
cargo-watch
cargo-nextest
cargo-expand
wasm-pack
binaryen
wasm-bindgen-cli
vulkan-loader
libxkbcommon
llvm
gcc-unwrapped.lib
llvmPackages.libcxxStdenv
pkg-config
# used for profiling
gnuplot
samply
cargo-flamegraph
# For Rawkit tests
libraw
# Use Mold as a linker
mold
];
# Hacky way to run Cargo through Mold
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [
pkgs.openssl
pkgs.vulkan-loader
pkgs.libxkbcommon
pkgs.llvmPackages.libcxxStdenv
pkgs.gcc-unwrapped.lib
pkgs.llvm
pkgs.libraw
];
shellHook = ''
alias cargo='mold --run cargo'
'';
}