nexus/linux/nix/pkg/default.nix

64 lines
1.8 KiB
Nix

{
lib,
callPackage,
mpv-unwrapped,
libass,
libclang,
flutter,
stdenv,
src,
commit ? "dev",
}:
flutter.buildFlutterApplication {
pname = "nexus";
version = "0.1.0";
inherit src;
preBuild = ''
cp ${callPackage ./gomuks.nix { inherit src; }}/lib/* .
packageRunCustom nexus generate source/scripts test
packageRun build_runner build
'';
flutterBuildFlags = [
"--dart-define=GIT_COMMIT=${commit}"
];
buildInputs = [
mpv-unwrapped
libass
];
env.LIBCLANG_PATH = lib.makeLibraryPath [ libclang ];
autoPubspecLock = src + "/pubspec.lock";
gitHashes = {
emoji_text_field = "sha256-3TOys09EP2GRo6pUBGPXaqBlE39O2Cmwt42Hs1cTDKo=";
linkify = "sha256-TpMD6+0zyY6i9l+6d8ErnVufmepCv362rCtnbOht/z4=";
navigation_rail_m3e = "sha256-+2awDTQnK58gGRY1nuHckG/jjxarsYSRu9ovR4i4TEc=";
unifiedpush_linux = "sha256-aIF/8oabSuuZo7K6qr4r7UBmf57qgoGAXyJ40fdntuQ=";
unifiedpush_platform_interface = "sha256-aIF/8oabSuuZo7K6qr4r7UBmf57qgoGAXyJ40fdntuQ=";
xdg_desktop_portal = "sha256-8GgiXHGv+wy6hJgj/rZxbymMitNVmdDLAnedZm9STSc=";
};
postInstall = ''
install -D assets/bundled/icon.svg $out/share/icons/hicolor/scalable/apps/nexus.svg
install -Dm755 linux/*.desktop -t $out/share/applications
install -Dm644 linux/*.service -t $out/share/dbus-1/services
wrapProgram $out/bin/nexus \
--suffix LD_LIBRARY_PATH : $out/app/nexus/lib
'';
meta = {
description = "A simple and user-friendly Matrix client";
mainProgram = "nexus";
platforms = lib.platforms.unix;
# https://github.com/NixOS/nixpkgs/blob/c59305bab2065cfecc4944690d9eedbb56f3a9fa/pkgs/development/compilers/flutter/build-support/build-flutter-application.nix#L15
broken = stdenv.hostPlatform.isDarwin;
maintainers = with lib.maintainers; [ quadradical ];
};
}