bhaang: init

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2022-11-05 18:47:30 +05:30
commit 98c6c5fe3d
8 changed files with 2069 additions and 0 deletions

85
flake.nix Normal file
View File

@@ -0,0 +1,85 @@
{
description = "the";
inputs = {
nixpkgs.url = github:nixos/nixpkgs/release-22.05;
rust-overlay.url = github:oxalica/rust-overlay;
utils.url = github:numtide/flake-utils;
crane.url = github:ipetkov/crane;
crane.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, utils, rust-overlay, crane }:
utils.lib.eachDefaultSystem
(system:
let
overlays =[ rust-overlay.overlays.default ];
pkgs = import nixpkgs {
inherit system overlays;
};
tomlInfo = craneLib.crateNameFromCargoToml { cargoToml = ./Cargo.toml; };
toolchain = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain;
craneLib = (crane.mkLib pkgs).overrideToolchain toolchain;
nativeDeps = with pkgs; [
pkg-config
lld
cmake
];
deps = with pkgs; [
openssl
fontconfig
];
libPath = with pkgs; with xorg; lib.makeLibraryPath [
libX11
libXcursor
libXrandr
libXi
vulkan-loader
];
commonArgs = {
inherit (tomlInfo) pname version;
src = craneLib.cleanCargoSource ./.;
buildInputs = deps;
nativeBuildInputs = nativeDeps;
};
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
in
rec {
devShell = pkgs.mkShell rec {
buildInputs = [
toolchain
pkgs.rust-analyzer
pkgs.wasm-pack
]
++ deps;
nativeBuildInputs = nativeDeps;
LD_LIBRARY_PATH = "${libPath}";
};
packages = rec {
bhaang = craneLib.buildPackage (commonArgs // {
inherit cargoArtifacts;
});
default = bhaang;
patched = default.overrideAttrs (_: {
fixupPhase = ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" $out/bin/bhaang
'';
});
};
defaultPackage = packages.default;
}
);
}