71 lines
1.6 KiB
Nix
71 lines
1.6 KiB
Nix
{ rustPlatform
|
|
, fetchFromGitHub
|
|
, lib
|
|
, ffmpeg
|
|
, pkg-config
|
|
, alsa-lib
|
|
, wayland
|
|
, makeWrapper
|
|
, llvmPackages
|
|
, libxkbcommon
|
|
, vulkan-loader
|
|
, xorg
|
|
}:
|
|
let
|
|
version = "0.2.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "PolyMeilex";
|
|
repo = "Neothesia";
|
|
rev = "v${version}";
|
|
hash = "sha256-bQ2546q+oachvuNKMJHjQzF6uv06LG+f7eFQPoAn6mw=";
|
|
};
|
|
in
|
|
rustPlatform.buildRustPackage {
|
|
pname = "neothesia";
|
|
|
|
inherit src version;
|
|
|
|
buildInputs = [
|
|
ffmpeg
|
|
alsa-lib
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
llvmPackages.clang
|
|
makeWrapper
|
|
];
|
|
|
|
cargoLock = {
|
|
lockFile = ./Cargo.lock;
|
|
outputHashes = {
|
|
"mpeg_encoder-0.2.1" = "sha256-+BNZZ1FIr1374n8Zs1mww2w3eWHOH6ENOTYXz9RT2Ck=";
|
|
};
|
|
};
|
|
|
|
cargoBuildFlags = [
|
|
"-p neothesia -p neothesia-cli"
|
|
];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/neothesia --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland libxkbcommon vulkan-loader xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrender ]}"
|
|
install -Dm 644 flatpak/com.github.polymeilex.neothesia.desktop $out/share/applications/com.github.polymeilex.neothesia.desktop
|
|
install -Dm 644 flatpak/com.github.polymeilex.neothesia.png $out/share/icons/hicolor/256x256/apps/com.github.polymeilex.neothesia.png
|
|
'';
|
|
|
|
env = {
|
|
LIBCLANG_PATH = "${lib.getLib llvmPackages.libclang}/lib";
|
|
};
|
|
|
|
meta = {
|
|
description = "Flashy Synthesia Like Software For Linux, Windows and macOS";
|
|
homepage = "https://github.com/PolyMeilex/Neothesia";
|
|
license = lib.licenses.gpl3;
|
|
platforms = lib.platforms.linux;
|
|
mainProgram = "neothesia";
|
|
maintainers = [
|
|
lib.maintainers.naxdy
|
|
];
|
|
};
|
|
}
|