81 lines
1.9 KiB
Nix
81 lines
1.9 KiB
Nix
{
|
|
fetchFromGitHub,
|
|
lib,
|
|
libglvnd,
|
|
libxkbcommon,
|
|
nix-update-script,
|
|
rustPlatform,
|
|
vulkan-loader,
|
|
wayland,
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage {
|
|
pname = "mslicer";
|
|
version = "0.2.2-unstable-2025-07-18";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "connorslade";
|
|
repo = "mslicer";
|
|
rev = "076f2d48dd87ae636678ff21e75b0bed86aa4eae";
|
|
hash = "sha256-HNCtY7ZOTEnuJ3ln8P4w6k0yDtacW8OTPOH69ISiYqM=";
|
|
};
|
|
|
|
cargoHash = "sha256-A7C+wE5XGGQRTYq85YbVk6iKJETZjA9E08c0tKXdSMw=";
|
|
|
|
buildInputs = [
|
|
libglvnd
|
|
libxkbcommon
|
|
vulkan-loader
|
|
wayland
|
|
];
|
|
|
|
# from pkgs/by-name/al/alvr/package.nix, to get it to actually link against wayland
|
|
# RUSTFLAGS = map (a: "-C link-arg=${a}") [
|
|
# "-Wl,--push-state,--no-as-needed"
|
|
# # "-lEGL"
|
|
# "-lwayland-client"
|
|
# # "-lxkbcommon"
|
|
# "-Wl,--pop-state"
|
|
# ];
|
|
|
|
# Force linking to libEGL, which is always dlopen()ed, and to
|
|
# libwayland-client & libxkbcommon, which is dlopen()ed based on the
|
|
# winit backend.
|
|
# from <repo:nixos/nixpkgs:pkgs/by-name/uk/ukmm/package.nix>
|
|
NIX_LDFLAGS = [
|
|
"--push-state"
|
|
"--no-as-needed"
|
|
"-lEGL"
|
|
"-lvulkan"
|
|
"-lwayland-client"
|
|
"-lxkbcommon"
|
|
"--pop-state"
|
|
];
|
|
|
|
doInstallCheck = true;
|
|
installCheckPhase = ''
|
|
runHook preInstallCheck
|
|
|
|
# spot-check the binaries
|
|
$out/bin/goo_format --help
|
|
# these other binaries can't be invoked w/ interactivity or real data:
|
|
test -x $out/bin/mslicer
|
|
test -x $out/bin/remote_send
|
|
test -x $out/bin/slicer
|
|
|
|
runHook postInstallCheck
|
|
'';
|
|
|
|
strictDeps = true;
|
|
|
|
passthru.updateScript = nix-update-script {
|
|
extraArgs = [ "--version=branch" ];
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "An experimental open source slicer for masked stereolithography (resin) printers.";
|
|
homepage = "https://connorcode.com/projects/mslicer";
|
|
maintainers = with maintainers; [ colinsane ];
|
|
};
|
|
}
|